const & const volatile
Use const to express read-only data and combine it with volatile when hardware state must be observed but not modified by the software.
CORE IDEA
const and volatile answer different questions: who may modify the object and whether accesses must be emitted.
WHY IT MATTERS
Embedded firmware sits directly between C language rules and hardware behavior.
ENGINEERING VIEW
Check the compiler, architecture reference manual and peripheral documentation together.
DEBUG
Verify the generated behavior with registers, debugger state and physical measurements.
Engineer’s checklist
- Read the MCU reference manual before coding.
- Identify the exact register, field, access width and reset value.
- Protect unrelated bits and respect reserved-bit rules.
- Build with warnings enabled and inspect diagnostics.
- Verify the result on the target hardware.
KEY TAKEAWAY
const and volatile answer different questions: who may modify the object and whether accesses must be emitted.