C++ in the World of Embedded Systems
summary
Covers embedded system classes (limited‑resource, real‑time, safety‑critical) and argues modern C++ is usable on many targets as compiler support moves to C++14/17; flags two real risks: heap allocation and exceptions. Shows concrete patterns: MMIO register wrappers via templates with compile‑time checks, compile-time dependency injection to avoid virtual calls and enable gtest mocks, and an event queue built with boost static_vector/EASTL fixed containers plus pool/intrusive allocation. Examples aim to be testable on host via mock addresses and avoid runtime heap fragmentation.
AI-written summary · about
chapters (26)
- 0:00Start
- 0:55Motivation
- 3:49Embedded systems categories
- 7:55Embedded development characteristic
- 11:33Trivial hardware platform
- 14:25Trivial software architecture
- 16:19Connected real time system architecture
- 18:40High performance non-embedded applications
- 20:02Programming language requirements
- 22:25Compiler support of C++ syntax standards
- 23:54Standard library: Hosted & Freestanding
- 26:41Limitations of C++ applicability
- 30:28C++ application. Examples
- 31:21C++ for device driver development
- 37:41C++ MMIO abstractions. Address abstraction
- 38:10C++ MMIO abstractions. Testing
- 39:23Device drivers. Dependency injection
- 41:28Device driver. Testing.
- 43:28C++ for device drivers development. Summary
- 45:31Memory allocation
- 47:02Containers and algorithms
- 49:24Event type
- 52:22Types with fixed size storage
- 54:13Container compatibility
- 56:59Fixed-size containers
- 58:36Pool allocation and intrusive containers
related talks
52mC++ for Embedded Development
01h 08mKeynote: What can C++ do for embedded systems developers?
01h 00mModern Software Needs Embedded Modern C++ Programming
01h 09m“Modern C++ in Embedded Systems - The Saga Continues”
56mAsk Me Anything with Bjarne Stroustrup
05mModern C++ in Embedded OS Dev
01h 22mTest-Driven Development of C++ Embedded and System-Level Software
01h 31mBetter embedded library interfaces with modern C++
