Zum Inhalt springen

WSAL24270 – Raspberry Pi Debug Probe

Aus JW Tech Wiki

Dokumentationshinweis: Diese technische Dokumentation wurde aus einer archivierten Lieferantenquelle neu formuliert. Technische Angaben und Befehle müssen vor der Verwendung mit der Produktversion und den Herstellerunterlagen abgeglichen werden.

Zusammenfassung

Der Raspberry Pi Debug Probe ist ein offizielles USB-Hardware-Debugger für Pico-Bretter. Er verbindet sich über die SWD-Schnittstelle mit dem Zielboard, arbeitet mit OpenOCD und GDB zusammen und unterstützt das CMSIS-DAP-Protokoll.

Zugeordnete Produkte bei JW Tech

Technische Übersicht

  • Basierend auf dem RP2040-Mikrocontroller, entwickelt von Raspberry Pi im Vereinigten Königreich.
  • Angebotene Schnittstellen: Micro-USB-Anschluss zum Verbinden mit einem PC oder anderen Boards; 3-Pin-SWD-Schnittstelle für die Verbindung zum Zielboard; 3-Pin-USB-zu-UART-Brücke.
  • Standard-CMSIS-DAP-Schnittstelle, kompatibel mit den meisten ARM-basierten Mikrocontrollern.
  • Folgt der Raspberry Pi 3-Pin-Debug-Connector-Spezifikation.
  • Lieferumfang umfasst einen transparenten Kunststoffgehäuse und Anschlusskabel.
  • Open-source-Firmware ermöglicht bequeme Updates.
  • Installation von OpenOCD unter Linux/Raspberry Pi: Abhängigkeiten installieren (automake, autoconf, build-essential, texinfo, libtool, libftdi-dev, libusb-1.0-0-dev), dann aus dem rp2040-Zweig des raspberrypi/openocd-Repositories kompilieren.
  • Unter Windows wird eine vorkompilierte Version empfohlen; nach dem Entpacken in ein kurzes Verzeichnis muss der Pfad zu den Umgebungsvariablen hinzugefügt und der Neustart durchgeführt werden.
  • GDB-Installation: Unter Linux „gdb-multiarch“ installieren; unter Windows ist GDB im Arm-GNU-Toolchain enthalten, wenn die pico-sdk-Umgebung installiert ist.
  • Programmierung über SWD: Mit OpenOCD kann man Binärdateien laden, ohne jedes Mal den BOOTSEL-Knopf drücken zu müssen.
  • Debugging mit OpenOCD als Server und GDB: OpenOCD-Server starten, dann GDB mit „target remote localhost:3333“, „load“, „monitor reset init“ und „continue“ verwenden.
  • VSCode-Debugging (erweitert): Erfordert laufende OpenOCD-Server und korrekt eingerichtete pico-sdk-Umgebung; benötigt die Erweiterungen Cortex-Debug, CMake-Tools und C/C++.
  • In VSCode wird über F1 „open 'launch.json'“ geöffnet und je nach Betriebssystem entweder „gdb“ (Windows) oder „arm-none-eabi-gdb“ (Linux) als gdbPath eingetragen; Debug-Start mit F5.

Befehle und Beispiele – vor Ausführung prüfen: 

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

Hinweise und Versionsgrenzen

  • Die genaue Version von OpenOCD und die Kompatibilität mit bestimmten Firmware-Versionen sind nicht im Quelltext angegeben; vor der Verwendung sollte die aktuelle Version überprüft werden.
  • Die Angabe „adapter speed 5000“ könnte je nach Hardware und Kabelqualität angepasst werden müssen.
  • Für das VSCode-Debugging muss sichergestellt sein, dass der OpenOCD-Server läuft und die pico-sdk-Umgebung korrekt eingerichtet ist; andernfalls schlägt das Debuggen fehl.
  • Das Beispiel verwendet „blink.elf“; bei anderen Demos muss der Dateiname entsprechend angepasst werden.
  • Die Installation von OpenOCD unter Windows erfordert Händearbeit beim Eintragen der Umgebungsvariablen; Fehler hier können dazu führen, dass das Programm nicht gefunden wird.

Quelle und Revisionsnachweis