Module 20 — Embedded & firmware
Every chapter: first principles, What insiders know, a See it yourself lab, connections, and a quiz with worked answers.
The memory map is wired into silicon
No page tables, physical addresses, the MPU's 8-16 regions, RAM budgets measured in kilobytes — the world the abstractions forgot.
Bare metal: linker scripts are the memory model
Reset vector, boot ROM, `.text`/`.data`/`.bss`, the startup code before `main` — memory as a source file.
Interrupts and DMA: the asynchronous memory
NVIC priorities, ISRs as entry points, shared-memory races with hardware, DMA stealing your RAM — concurrency without an OS.
The RTOS: a scheduler in 10 KB
FreeRTOS task stacks, priority inheritance, the heap as a config flag, stack-overflow checking — an OS scaled to its floor.
Firmware security: the root of the chain
Secure boot as flash-resident proofs, keys in OTP/efuses, atomic A/B updates, debug ports as the real backdoor — where modules 02/05/06's stories begin.