Raspberry Pi Debug Probe Firmware
Welcome to the documentation for the Raspberry Pi Debug Probe firmware. This project provides the complete source code for the firmware that powers the official Raspberry Pi Debug Probe hardware. It is a versatile, open-source solution for debugging microcontrollers, particularly those in the Raspberry Pi ecosystem and other ARM-based devices.
The firmware can also be compiled and flashed onto a standard Raspberry Pi Pico or Pico 2, turning it into a powerful and affordable debug tool.
Key Features
- CMSIS-DAP Debugger: Implements the ARM standard CoreSight Debug Access Port (CMSIS-DAP) protocol. This ensures compatibility with a wide range of debugging software, including OpenOCD, GDB, and various IDEs.
- SWD & JTAG Support: Provides debugging capabilities over both Serial Wire Debug (SWD) and JTAG interfaces (JTAG support is currently disabled but can be enabled).
- Integrated USB-to-UART Bridge: Includes a built-in serial bridge, allowing you to have both a debug interface and a serial console over a single USB connection.
- High-Performance PIO Implementation: Leverages the Raspberry Pi RP2040's unique Programmable I/O (PIO) to handle the low-level SWD protocol, resulting in high performance and minimal CPU overhead.
- Multi-Target Support: The firmware can be compiled for different hardware targets:
- The official Raspberry Pi Debug Probe
- A standard Raspberry Pi Pico
- A Raspberry Pi Pico 2 (based on RP2350)
Project Goals
This project aims to provide a reliable, high-performance, and open-source debugging solution for the embedded community. By leveraging the unique features of the RP2040 microcontroller, it offers capabilities often found in more expensive debug probes.
Next Steps
- Building the Firmware: Learn how to compile the firmware for your specific hardware.
- Quick Start Guide: Get your probe up and running by flashing the firmware.
- Usage Guide: Find out how to connect the probe to a target and use it with debugging software.