You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
# funreg: Functional Memory-mapped Register I/O
|
|
|
|
|
|
|
|
*funreg* provides a functional approach to operating on memory-mapped registers
|
|
|
|
with zero overhead. This library primarily targets embedded firmware, where
|
|
|
|
these types of operations are frequently encountered.
|
|
|
|
|
|
|
|
What makes this library unique is its ability to carry out multiple register
|
|
|
|
operations with a single function call, reducing this to a single register read
|
|
|
|
and write. Further, registers can be organized into "groups": these groups can
|
|
|
|
receive a list of operations for any of the contained registers, and will
|
|
|
|
optimize down to a single read and write for each register.
|
|
|
|
|
|
|
|
A tutorial or guide will be added soon.
|
|
|
|
|
|
|
|
## Requirements
|
|
|
|
|
|
|
|
* C++20
|
|
|
|
* GCC or Clang with some optimization enabled (O1, O2, O3, Os).
|
|
|
|
|