“Modern C++ in Embedded Systems - The Saga Continues”
summary
Argues that contemporary C++ compiles and debugs cleanly on bare‑metal Renesas hardware and was used to build brushless‑motor controllers for a hydraulics‑to‑electric retrofit, with the final firmware running successfully. Uses GNU Arm toolchain, CMake, Dockcross containers, LTO, custom linker scripts and startup code, IceStorm for an FPGA RISC‑V soft core, and no RTTI or exceptions. Emphasizes zero-cost abstractions, testing with map files and Compiler Explorer, static pools instead of std::vector, and static polymorphism via CRTP to save space and ensure correctness.
AI-written summary · about
chapters (14)
- 0:00Introduction and speaker setup
- 2:18Why modern C++ in embedded
- 9:09Benefits of C++ abstractions
- 14:11Toolchain and build setup
- 20:52Bootloader and startup code
- 23:02Zero-cost abstractions in C++
- 33:33Polymorphism and CRTP
- 39:53Debugging and optimization
- 46:18Hardware abstraction layers
- 51:24Type-driven protocols
- 54:43State machines in C++
- 58:15Embedded C++ features
- 59:23Vendor tool challenges
- 1:00:06Q&A session
related talks
01h 00mModern Software Needs Embedded Modern C++ Programming
01h 11mC++ in the World of Embedded Systems
52mC++ for Embedded Development
01h 08mKeynote: What can C++ do for embedded systems developers?
05mModern C++ in Embedded OS Dev
57mC++ to the RISCue! A Practical Guide for Embedded C++20
01h 03m“Lessons Learned From An Embedded RTPS in Modern C++"
51m“Almost Unlimited Modern C++ in Kernel-Mode Applications”
