Glossary
The words that come up in this wiki, explained in one or two sentences.
Debugging
Debug probe
A small device placed between the PC and a board, which translates the orders of debugging software into signals on the chip’s debug pins.
SWD
Serial Wire Debug: the debug port of ARM chips, with two wires, a clock (SWCLK) and a data line (SWDIO). It lets you read and write the chip’s memory, stop it and restart it.
Multidrop
Several debug ports on the same two wires. The RP2040 has one per core; a particular sequence picks the one being talked to.
CMSIS-DAP
ARM’s standard protocol between debugging software and a probe: commands such as “read this register” or “write this block”. Here, it travels over TCP instead of USB.
OpenOCD
Free debugging and flashing software, which speaks CMSIS-DAP to probes.
debugprobe
Raspberry Pi’s official firmware that turns a Pico into a debug probe, over USB.
Posted read
On SWD, a read’s value only arrives with the response to the next command. This must be taken into account when chaining reads.
The Pico W
Pico W, RP2040
The Pico W is a small Raspberry Pi board with an RP2040 microcontroller and a Wi-Fi chip. The Eliott65 board has an RP2040 too.
PIO
The RP2040’s small programmable input/output processors, which produce signals to the cycle without occupying the main processor.
lwIP
A lightweight network stack, which runs here with no operating system.
mDNS
A way of finding a machine on the local network by its name (eliott65sonde.local), without a DNS
server or an address to know.
BOOTSEL
The Pico W button which, held while plugging in, makes it appear as a USB drive: a firmware is copied onto it. The RP2040’s ROM provides this mode: it always works.
UF2
The format of the firmware files copied onto that drive; the e65s.py tool can also read it for an
update over the network.
Updates
OTA
Over the air: updating a firmware over the network, without a cable.
Boot loader
The small program at the start of the flash, which starts first and decides which firmware to run. The probe’s is never updated over the network.
Watchdog
A timer that restarts the chip if the program stops resetting it in time: a stuck program is stopped this way.
CRC
A check code computed over data. If it is recomputed and the same value is not found, the data has been damaged.
Sector
The smallest flash area that can be erased: 4 KiB on the Pico W.