Raspberry Pi

Proprietary debug probe available

3. März 2023, 8:00 Uhr | Tobias Schlichtmeier
Rasbperry Pi's proprietary Debug Probe is now available for $12.
© Raspberry Pi

Since the introduction of the Raspberry Pi Pico, developers like to use it to debug programs running on another Raspberry Pi. Inspired by the trend, Rasbperry Pi is launching its own Debug Probe for $12. It is intended for Arm-based microcontrollers.

Diesen Artikel anhören

Raspberry Pi's Debug Probe provides a USB to Serial Wire Debug (SWD) bridge, a generic USB to serial adapter, and wires to connect to a host computer and to the device being debugged. Although the Raspberry Pi Debug Probe is designed for the Pi Pico and other »RP2040«-based devices, developers can use it to debug any Arm-based microcontroller that provides a SWD connector with »3V3 I/O«.

The Raspberry Pi Debug Probe measures 32 mm x 22 mm and offers solderless plug-and-play debugging. It has both a serial debug interface for the processor and an industry-standard UART interface. Both interfaces use the Raspberry Pi's 3-pin debug connector.

The Probe is designed to facilitate debugging and programming of Raspberry Pi Pico and Raspberry Pi's own RP2040 MCU with a range of host platforms including Windows, Mac, and typical Linux computers where a GPIO header is not present. While the Debug Probe is designed for Raspberry Pi products, it offers standard UART and CMSIS DAP interfaces via USB. Thus, it can also be used to debug Arm-based microcontrollers. It works with OpenOCD and other tools that support CMSIS-DAP. The Debug Probe is based on the Pico hardware and runs the open source software »Raspberry Pi Picoprobe«. It can be updated in the same way as the Raspberry Pi Pico firmware.

Bridge between USB and SWD

All modern Arm-based microcontrollers, including the RP2040, implement Arm's CoreSight debug architecture. Each processor core, such as the Cortex-M0+ used in the RP2040, provides an Access Port (AP). Developers can use it to set breakpoints, observe the values of processor registers, or access memory and peripherals through the processor's bus interface.

The microcontroller itself provides a debug port (DP) that connects externally to pins on the package and internally to any AP in the system. For example, the RP2040 provides its DP through a Serial Wire Debug (SWD) port: Using the SWD protocol through this port, a host computer can control each core's AP to debug a program running on the core.

A debug probe provides a bridge between USB and the SWD protocol. Although this is not strictly necessary if the host computer is a Raspberry Pi, it is much more convenient to connect via USB. If one is using a PC or Mac, USB is the only option.

The Raspberry Pi Debug Probe provides the SWD signals on a three-pin JST connector. It conforms to the Raspberry Pi debug connector specification. Arm has standardized the protocol for communication over USB between a host computer and a debug probe. The Raspberry Pi Debug Probe conforms to this »CMSIS-DAP« standard and therefore works out of the box with many existing debug software platforms, including »OpenOCD«.

Serial communication

Often developers want to create a serial console connection between a microcontroller and a host computer. This makes it possible to interact with the software running on the target and retrieve logging and other diagnostic data. If the host computer is a Raspberry Pi, one can use one of the UART peripherals accessible through the GPIO header. However, if one is using a PC or Mac, it is very unlikely that one will have access to a built-in serial port.

The Raspberry Pi Debug Probe works like a USB serial adapter, via the same USB port as the SWD Bridge. It provides the UART signals on a second three-pin JST connector, which again conforms to the connector specification. For users who do not need a debug function, the Raspberry Pi Debug Probe is a cost-effective alternative to USB serial adapters due to its low price.

Anbieter zum Thema

zu Matchmaker+

Matchmaker+