Writing better embedded Software
summary
Argues for concrete changes: replace register macros with typed structs and then classes to make misuse compile-time errors, add static_assert checks to detect padding, and use enumerations plus an enum-indexed IVT so invalid interrupt indexes fail to compile. C remains dominant (about two thirds of projects) while C++ share trends downward and Python appears at 5% in 2017. Shows these techniques compile to similar code size and performance and reduce debugger time by catching bugs earlier.
AI-written summary · about
chapters (13)
- 0:00Introduction and background
- 6:58Defining embedded systems
- 10:55Embedded developer challenges
- 12:35Embedded community and team
- 18:06Programming techniques and I/O
- 23:07Psychology and framing
- 25:58Improving interfaces with C++
- 29:15Language trends and industry lag
- 34:30Addressing resistance to change
- 39:03Type systems and compile safety
- 46:55Pragmatic C++ adoption
- 54:45Case study: Interrupt handlers
- 1:06:49Conclusion and Q&A
related talks
01h 08mKeynote: What can C++ do for embedded systems developers?
52mC++ for Embedded Development
01h 11mC++ in the World of Embedded Systems
01h 00mModern Software Needs Embedded Modern C++ Programming
01h 09m“Modern C++ in Embedded Systems - The Saga Continues”
01h 31mBetter embedded library interfaces with modern C++
05mModern C++ in Embedded OS Dev
01h 00mDealing with Embedded Limitations
