Conference | Live Schedule | Talks | Get your ticket | Slides | Set your timezone
Startup.cpp: A Declarative Startup Model for Cortex-M Microcontrollers
50581-2_400x40089736.jpg)
Alexey Karelin
On Day 2 at 14:30 (CET/Berlin) in Track D online
C++ is increasingly used in embedded systems, yet its role is typically limited to application code or peripheral access layers. The microcontroller startup routine, by contrast, remains dominated by handwritten assembly and macro-heavy C, often treated as an opaque and fragile black box.
This talk explores how modern C++20 can bring up Cortex-M microcontrollers from the very first instruction - replacing that fragile black box with declarative, compile-time validated constructs. Vector tables, memory sections, and early system hooks are modeled as typed, concept-constrained components where the silent failure modes of traditional startup become unreachable by construction. The result is startup code that is transparent, portable across vendors, and equal or better in size and performance to hand-written assembly - demonstrated live on two real platforms.
Please login to comment