Modern special function register abstraction
summary
Claims a zero-cost C++ register abstraction built with heavy template metaprogramming that generates efficient code instead of relying on volatile, using an apply meta-function pattern to sort and merge accesses, exploit load multiple/store multiple, bit-banding and exclusive load/store or IRQ masking for atomicity. Reports concrete results: ported vendor code yields up to 10x flash shrink and about 2x runtime speed in places, provides a unit-test seam for desktop development, and the generated code actually works on hardware.
AI-written summary · about
chapters (9)
- 0:00Intro
- 0:27Stupid mistakes
- 1:27Bare metal
- 3:06Type system
- 5:12Library code
- 5:46User code
- 7:01Bit manipulation
- 7:55Efficiency tricks
- 10:23Accidental advantage
related talks
07mC++ Hardware Register Access
58mLeveraging C++20/23 Features for Low Level Interactions
01h 01mUsing Modern C++ to Eliminate Virtual Functions
01h 00mModern C++: C++ Patterns to Make Embedded Programming More Productive
01h 03mHidden Overhead of a Function API
31mGetting Something for Nothing
05mPost(er)modern C++
01h 22mCostless Software Abstractions for Parallel Architectures
