Usage Guide
Once your Debug Probe is flashed with the firmware, it becomes a versatile tool for debugging and communicating with a target microcontroller.
Connecting to a Target
The Debug Probe connects to your target device using the Serial Wire Debug (SWD) interface and, optionally, a UART interface.
Pinout
For the specific GPIO pins used by your hardware (Official Debug Probe vs. a Pico), please refer to the Hardware Configuration page.
The standard connections are:
| Signal | Direction | Description |
|---|---|---|
| GND | --- | Common ground. This must always be connected. |
| SWCLK | Probe -> Target | Serial Wire Clock. |
| SWDIO | Probe <-> Target | Serial Wire Data Input/Output. |
| TX | Probe -> Target | UART Transmit from the probe's perspective. |
| RX | Probe <- Target | UART Receive from the probe's perspective. |
| nRESET | Probe -> Target | (Optional) Target reset pin, active low. |
Connection Instructions:
- Connect the GND pin on the Debug Probe to a GND pin on your target board.
- Connect the SWCLK pin to the target's SWCLK pin.
- Connect the SWDIO pin to the target's SWDIO pin.
- For serial communication, cross-connect the UART pins:
Probe TX -> Target RXandProbe RX -> Target TX.
Debugging with OpenOCD
The Debug Probe uses the standard CMSIS-DAP protocol, making it compatible with OpenOCD. To use it, you'll need a configuration file that specifies the cmsis-dap interface and your target microcontroller.
-
Create an OpenOCD configuration file (e.g.,
my_target.cfg):# Example for debugging a Raspberry Pi Pico (RP2040) # Specify the debug interface source [find interface/cmsis-dap.cfg] # Specify the transport protocol transport select swd # Specify the target microcontroller source [find target/rp2040.cfg] # Reset the target on connect reset_config srst_only -
Run OpenOCD:
Connect both the Debug Probe and your target device to your computer (the target needs power). Then, run OpenOCD with your configuration file.
openocd -f my_target.cfgOpenOCD will connect to the probe and establish a debug connection with the target. It will open a GDB server on port
3333and a Tcl server on port6666by default. -
Connect with GDB:
You can now connect to the target with
arm-none-eabi-gdb:arm-none-eabi-gdb your_program.elf (gdb) target extended-remote localhost:3333 (gdb) monitor reset init (gdb) load (gdb) continue
Using the USB-to-UART Bridge
When plugged in, the Debug Probe also appears as a standard USB CDC serial port.
- Linux: It will typically appear as
/dev/ttyACM0or similar. - macOS: It will appear as
/dev/cu.usbmodem.... - Windows: It will appear as a COM port (e.g.,
COM3) in the Device Manager.
You can connect to this serial port using any terminal emulator program like minicom, screen, PuTTY, or the Arduino IDE's serial monitor.
The default baud rate is 115200, but this can be changed by the terminal software you connect with. The firmware will automatically adjust the UART settings to match what the host requests.
# Example using minicom on Linux
minicom -b 115200 -D /dev/ttyACM0