Skip to content
Eliott65Sondewiki
Contents

The probe for beginners

Never plugged a probe into a board? Here, in a few minutes, is what a debug probe is, what this one does, and why it does without a USB cable.

On this page

1. Looking inside a running chip

The Eliott65 board is an Olimex Neo6502kbd: a small computer whose brain is an RP2040 microcontroller. When developing its software, you need two things: to install a new program on it (to “flash” it), and to look at what happens inside while it runs (read its memory, stop it, step through it).

A debug probe does that. It is a small device placed between the PC and the board: on one side, it receives orders from software on the PC, here OpenOCD; on the other, it translates them into electrical signals on two debug pins of the chip.

2. Two languages: SWD and CMSIS-DAP

Eliott65Sonde: who talks to whomOn the PC, OpenOCD and the e65s.py tool reach the probe over Wi-Fi, using TCP. The probe is a Pico W: on port 4441 it serves CMSIS-DAP to OpenOCD; on port 4442, its local log and the update of its firmware. It speaks SWD to the Eliott65 board (Olimex Neo6502kbd, dual-core RP2040) over two wires, GP2 to SWCLK and GP3 to SWDIO, with a common ground.PCOpenOCDflash, debug(port 4441)e65s.py tool (port 4442)Eliott65SondeRaspberry Pi Pico W4441 · CMSIS-DAP4442 · log, OTAEliott65 boardNeo6502kbdRP2040, two coresthe targetWi-FiTCPSWDGP2, GP3, groundNo more USB cable between the PC and the probe: everything goes over the local network.The probe can also take readings on its own, then send them in batches.
The PC speaks CMSIS-DAP to the probe over Wi-Fi; the probe speaks SWD to the board over two wires.
  • SWD (Serial Wire Debug) is the chip’s language: two wires, a clock (SWCLK) and a data line (SWDIO), through which any address of the chip can be read and written, even while it runs.
  • CMSIS-DAP is the language between the PC and the probe: commands such as “read this word” or “write this block”, which OpenOCD knows how to send.

The probe is therefore a translator: it receives CMSIS-DAP commands and carries them out in SWD.

3. What changes: Wi-Fi instead of USB

Usually, the probe is connected to the PC by a USB cable. This one is a Raspberry Pi Pico W, which has a Wi-Fi chip: it joins the home network, and OpenOCD reaches it over the local network. All you need is the probe’s name, eliott65sonde.local.

4. A probe that works on its own

The probe can read a list of the board’s addresses by itself, at a fixed interval, and store the values in its own memory. It can stop when a value no longer moves, or reaches a chosen value, keeping a copy of the memory areas of interest at that moment. The PC then reads everything back in one go.

This is useful for a fault that only appears after several minutes: no need for an attentive PC during all that time.

5. And to change it?

The probe updates itself over the network, without unplugging it. If the new firmware does not work, it goes back on its own to the old one. See Updates.

In short

QuestionShort answer
What is it?A debug probe for the Eliott65 board, on a Pico W.
What does it replace?A probe connected over USB; this one goes over Wi-Fi.
With which software?OpenOCD, and the project’s e65s.py tool for the log and updates.
Does it work?Yes, on the board: OpenOCD connects to it, and Eliott65 was flashed over Wi-Fi.
What next?See Where the probe stands.

Technical words are explained in the glossary.

Sources in the repository : README.md, docs/adr/ADR-0001-cmsis-dap-par-tcp.md, docs/adr/ADR-0003-journal-local.md.