Registers & Memory-Mapped I/O
Many microcontrollers expose peripheral control and status registers at fixed addresses. Firmware accesses these addresses through defined register structures or pointers. A register is not ordinary RAM: reading or writing it can trigger hardware behavior. That is why volatile-qualified access is important when the value can change outside normal program flow.
CORE IDEA
Control registers configure hardware
ENGINEERING VIEW
Status registers report hardware state
WHAT TO CHECK
Data registers carry payloads
REMEMBER
Read-modify-write must respect register semantics
Engineer’s checklist
- Control registers configure hardware
- Status registers report hardware state
- Data registers carry payloads
- Read-modify-write must respect register semantics
// Level 0 practical notes
// Next iteration: register diagrams + full STM32 examples.