Overview
Syllabus
Intro
Overview
What is "embedded systems programming"?
Who are "embedded systems programmers"?
Complexity
2014 UBM survey
Programming Languages
C++ Background
C++ machine model • Primitive operations maps to machine instructions
Abstraction
Tools
Constraints on "embedded systems code" differ
Where compactness matters
Zero-overhead (classes vs structs)
Constant expressions
Compile-time computation
Simple selection
Static polymorphism (simplest form)
Zero-overhead features
Ordinary code
Why type-rich code?
Resource Management
Resources and Errors
We need error-code and exceptions
Are exceptions zero-overhead?
Simple experiment
When you use exceptions
RAll without exceptions?
Ordinary features
Keep simple things simple!
Build on a sound foundation
Taught by
NDC Conferences