References: Know Your Board: ARM Cortex-M Architecture and the Pico 2
-
ARM Cortex-M - Wikipedia - Overview of the Cortex-M processor family, including the Cortex-M33 core inside the Pico 2's RP2350 chip, its ARMv8-M architecture, and how it compares to the Cortex-M4 discussed in this chapter.
-
Memory-mapped I/O - Wikipedia - Explains how a processor reads and writes hardware registers using ordinary load and store instructions, the exact concept behind this chapter's CPUID register and unique device ID discussion.
-
Instruction pipelining - Wikipedia - Describes how overlapping instruction fetch, decode, and execute stages lets a processor approach one completed instruction per clock cycle, the mechanism behind this chapter's pipelining and instruction latency discussion.
-
The Definitive Guide to ARM Cortex-M3 and Cortex-M4 Processors (3rd Edition) - Joseph Yiu - Newnes (Elsevier) - Yiu, an ARM architect, is credited with the register-by-register walkthrough of the Cortex-M programming model that has become the standard way the industry teaches CPUID and memory-mapped registers.
-
Computer Organization and Design ARM Edition: The Hardware/Software Interface - David A. Patterson and John L. Hennessy - Morgan Kaufmann - Patterson and Hennessy are credited with the widely imitated laundry-load analogy mapping wash/dry/fold stages onto fetch/decode/execute, the standard way this chapter's pipelining concept is taught.
-
Raspberry Pi Pico 2 Datasheet - Raspberry Pi Ltd - Official datasheet for the Pico 2 board, covering its RP2350 chip, pinout, power specifications, and physical dimensions that this chapter's board-identification discussion is built around.
-
RP2350 Datasheet - Raspberry Pi Ltd - Official chip datasheet detailing the dual Cortex-M33 core configuration, clock domains, and memory map, the primary source for this chapter's discussion of registers and RAM versus flash.
-
Cortex-M33 - Arm - Official Arm product page describing the Cortex-M33's three-stage pipeline, TrustZone security, and optional DSP/FPU extensions, the newer core this chapter contrasts against the Cortex-M4.
-
machine – MicroPython Library Reference - MicroPython Documentation - Documents
machine.freq()andmachine.unique_id(), the two functions this chapter uses in MicroPython to read the Pico 2's clock frequency and factory-programmed unique device ID. -
Memory Mapped I/O and Isolated I/O - GeeksforGeeks - Compares memory-mapped and port-mapped I/O, reinforcing this chapter's distinction between ordinary RAM, non-volatile flash, and the separate memory-mapped register block that exposes live hardware state.