Functional memory-mapped register I/O using modern C++.
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.
Clyne 30fd7bb79f Add funreg.hpp 2 years ago
LICENSE Initial commit 2 years ago
README.md Add funreg.hpp 2 years ago
funreg.hpp Add funreg.hpp 2 years ago

README.md

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).