Where the probe stands
In two days, the probe went from an idea to a tool that flashes Eliott65 over Wi-Fi. Here is what has been checked on the real board, and what so far only on the PC.
Checked on the board
| Item | Result |
|---|---|
| Wi-Fi and name | the probe joins the network and answers to eliott65sonde.local; ports 4441 and 4442 open |
| SWD | RP2040 identifier read (DPIDR 0x0BC12477), ROM read correctly, both cores examined |
| OpenOCD | 64 KiB read in 0.53 s at 4 MHz (120 KiB/s), identical to the read through the log |
| Flashing Eliott65 | v0.58.0 flashed over Wi-Fi at 200 kHz, verified, in 1 min 27 s |
| Local log | 10 s reading every 2 ms without error; 256 KiB of SRAM read in 4.7 s |
| Update over the network | 18 s end to end; several updates in a row succeeded |
| Return to the old firmware | a broken image replaced on its own by the old one in 52 s |
Checked on the PC only
- The trigger and the snapshot of the local log: tested against the simulated target. On the board, a first watch has been running since 16 October (Eliott65’s GRAPHE demo, read every second); its result is not yet known.
- An image that starts but is never validated (3 times 2 minutes): covered by the boot loader’s bench and by the end-to-end tests on the PC, not tried on the Pico W.
What remains to be done or understood
- Eliott65’s tools over Wi-Fi: done on the Eliott65 side since its v0.59 (one variable,
E65_SONDE, sends all its tools through the probe). Their overhead compared with USB remains to be measured. - Burst errors on SWD: with the current wiring, long reads without pauses fail above 200 to 400 kHz. The cause is not established: probably the wiring, but an oscilloscope would be needed to prove it. See Tests on the board.
- The boot loader can only be updated through BOOTSEL. It is small and almost never changes.
Timeline
| Version | What it brings |
|---|---|
| 0.1 | Portable CMSIS-DAP processor, simulated target, TCP server on the PC; OpenOCD connects to it |
| 0.2 | Pico W firmware: SWD by PIO, Wi-Fi, server on port 4441, mDNS name |
| 0.3 | PIO program tried in the simulator, against a bit-level simulated target |
| 0.4 | Local log on port 4442; first test on the Pico W, then on the board |
| 0.5 | Update over the network; SWD pins at 2 mA; fix for the restart after an update |
| 0.6 | Boot loader: automatic return to the old firmware if the new one does not prove itself |
The details of each step are in the repository’s development journal; this wiki takes up the essentials by theme.