MPU & SBC Architecture#

Where embedded meets Linux, virtual memory, and multi-stage boot.

Microprocessors (MPUs) and the single-board computers built around them occupy a fundamentally different design space than microcontrollers. Where an MCU provides direct hardware access, deterministic timing, and a single-threaded bare-metal model, an MPU trades that directness for processing power, memory management hardware, and the ability to run a full operating system. The hardware is no longer directly accessible β€” an MMU stands between application code and physical memory, a kernel mediates access to peripherals, and a multi-stage boot chain replaces the simple reset-vector-to-main path.

This section covers the architecture of application processors, Systems-on-Chip (SoCs), and the Linux-based embedded systems built on them. The emphasis is on what changes when moving from MCU to MPU territory: what new hardware exists (MMU, caches, IOMMU), what new software layers appear (bootloader, kernel, device tree, drivers), and what changes in terms of timing, determinism, and system complexity. Single-board computers like the Raspberry Pi and BeagleBone are covered as concrete platforms where these concepts become tangible.

What This Section Covers#