WSAL24270 – Raspberry Pi Debug Probe/en
Erscheinungsbild
Documentation notice: This technical documentation was independently rewritten from an archived supplier source. Check technical details and commands against the product version and manufacturer documentation before use.
Summary
The Raspberry Pi Debug Probe is an official USB hardware debugger for Pico boards. It connects to the target board via the SWD interface, works with OpenOCD and GDB, and supports the CMSIS-DAP protocol.
Related products at JW Tech
Technical overview
- Based on the RP2040 microcontroller designed by Raspberry Pi in the United Kingdom.
- Onboard interfaces: Micro-USB port for connecting to a PC or other boards; 3-pin SWD interface for connecting to the target board; 3-pin USB-to-UART bridge.
- Standard CMSIS-DAP interface, compatible with most ARM-based microcontrollers.
- Follows the Raspberry Pi 3-pin Debug Connector Specification.
- Comes with a high-quality transparent plastic case and connection cables.
- Open-source firmware allows convenient updates.
- Installing OpenOCD on Linux/Raspberry Pi: install dependencies (automake, autoconf, build-essential, texinfo, libtool, libftdi-dev, libusb-1.0-0-dev), then compile from the rp2040 branch of the raspberrypi/openocd repository.
- On Windows, a precompiled version is recommended; after unzipping into a short directory, add the path to environment variables and reboot.
- Installing GDB: On Linux, install “gdb-multiarch”; on Windows, GDB is included in the Arm GNU Toolchain if the pico-sdk environment is installed.
- Programming via SWD: Using OpenOCD, binaries can be loaded without needing to press the BOOTSEL button each time.
- Debugging with OpenOCD as server and GDB: start the OpenOCD server, then use GDB with “target remote localhost:3333”, “load”, “monitor reset init” and “continue”.
- VSCode debugging (advanced): requires a running OpenOCD server and a properly configured pico-sdk environment; needs the Cortex-Debug, CMake Tools, and C/C++ extensions.
- In VSCode, open “launch.json” via F1 and set either “gdb” (Windows) or “arm-none-eabi-gdb” (Linux) as gdbPath depending on OS; start debugging with F5.
Commands and examples – verify before use:
sudo apt install automake autoconf build-essential texinfo libtool libftdi-dev libusb-1.0-0-dev
git clone https://github.com/raspberrypi/openocd.git --branch rp2040 --depth=1 --no-single-branch
cd openocd
./bootstrap
./configure
make -j4
sudo make install
sudo apt install gdb-multiarch
sudo openocd -f interface/cmsis-dap.cfg -f target/rp2040.cfg -c "adapter speed 5000" -c "program {your elf file name}.elf verify reset exit"
sudo openocd -f interface/cmsis-dap.cfg -f target/rp2040.cfg -c "adapter speed 5000" -c "program blink.elf verify reset exit"
sudo openocd -f interface/cmsis-dap.cfg -f target/rp2040.cfg -c "adapter speed 5000"
arm-none-eabi-gdb blink.elf
gdb blink.elf
target remote localhost:3333
load
monitor reset init
continue
Notes and version constraints
- The exact OpenOCD version and compatibility with specific firmware versions are not stated in the source; the current version should be verified before use.
- The “adapter speed 5000” setting may need adjustment depending on hardware and cable quality.
- For VSCode debugging, it must be ensured that the OpenOCD server is running and the pico-sdk environment is properly configured; otherwise debugging will fail.
- The example uses “blink.elf”; for other demos, the filename must be adjusted accordingly.
- Installing OpenOCD on Windows requires manual entry of environment variables; errors here can cause the program to not be found.
Source and revision record
- Raspberry Pi Debug Probe - Waveshare Wiki
- Source revision: 109656
- Captured: 2026-09-04T04:04:21+00:00
- SHA-256:
2a620c3c2356d4221ba2451e07527f5669eccb60a2b40b16ab1d5b80a290c929