Clone this repo:
  1. 4ec1b76 Update Pico 2 build instructions by martamomotko · 3 days ago upstream/master
  2. 466432c Debugprobe release v2.2.3 by Jonathan Bell · 9 weeks ago
  3. 9f44aa7 submodules: delete CMSIS_5 from the repository by Jonathan Bell · 9 weeks ago
  4. c8d5b55 CMakelists.txt: use downstream copies of CMSIS_5 files by Jonathan Bell · 9 weeks ago
  5. d91503b Add downstream copies of CMSIS_5 files relevant to CMSIS-DAP firmware by Jonathan Bell · 9 weeks ago

Debugprobe

Firmware source for the Raspberry Pi Debug Probe SWD/UART accessory. Can also be run on a Raspberry Pi Pico.

Raspberry Pi Debug Probe product page

Raspberry Pi Pico product page

Documentation

Debug Probe documentation can be found at the Raspberry Pi Microcontroller Documentation portal.

Hacking

For the purpose of making changes or studying of the code, you may want to compile the code yourself.

First, clone the repository:

git clone https://github.com/raspberrypi/debugprobe
cd debugprobe

Initialize and update the submodules:

 git submodule update --init --recursive

Then create and switch to the build directory:

 mkdir build
 cd build

If your environment doesn't contain PICO_SDK_PATH, then either add it to your environment variables with export PICO_SDK_PATH=/path/to/sdk or add PICO_SDK_PATH=/path/to/sdk to the arguments to CMake below.

Run cmake and build the code:

 cmake ..
 make

Done! You should now have a debugprobe.uf2 that you can upload to your Debug Probe via the UF2 bootloader.

If you want to create the version that runs on the Pico, then you need to invoke cmake in the sequence above with the DEBUG_ON_PICO=ON option:

cmake -DDEBUG_ON_PICO=ON ..

This will build with the configuration for the Pico and call the output program debugprobe_on_pico.uf2, as opposed to debugprobe.uf2 for the accessory hardware.

Note that if you first ran through the whole sequence to compile for the Debug Probe, then you don't need to start back at the top. You can just go back to the cmake step and start from there.

Building for the Pico 2

If using an existing debugprobe clone:

  • You must completely regenerate your build directory, or use a different one.
  • You must also sync and update submodules as rp2350 needs a downstream FreeRTOS port for now.
  • PICO_SDK_PATH must point to a version 2.0.0 or greater install.
git submodule sync
git submodule update --init --recursive
mkdir build-pico2
cd build-pico2
cmake -DDEBUG_ON_PICO=1 -DPICO_BOARD=pico2 -DPICO_PLATFORM=rp2350 ../

TODO

  • AutoBaud selection, as PIO is a capable frequency counter
  • Possibly include RTT support