A practical guide to using C++ in bare metal embedded development, targeting professional C++ developers. Covers compiler output analysis for ARM platforms, including startup code requirements, dynamic memory allocation trade-offs, exception handling overhead (120KB+), RTTI costs and disabling it with -fno-rtti, removing the standard library with -nostdlib, static object initialization and destruction, and abstract classes with pure virtual functions. Provides concrete assembly listings, size comparisons, and actionable conclusions for each topic, using the embxx library and Raspberry Pi as the reference platform.
Table of contents
Event LoopSort: