Der Debug-Prüfkopf für den Raspberry Pi ist ein kleines Gerät (37 mm x 31 mm x 10 mm) mit einem USB UART-Port und einer Serial Wire Debug Schnittstelle (SWD) für das Debugging von RP2040-Anwendungen. Beide Schnittstellen nutzen den winzigen 3-poligen Raspberry Pi Debug-Anschluss. Ein Anschluss ist mit „U“, der andere mit „D“ gekennzeichnet. Der Prüfkopf ist in einem zweischaligen, durchsichtigen Kunststoffgehäuse untergebracht, das sich leicht öffnen lässt, falls Sie auf das Innere zugreifen müssen, um das Gerät umzuprogrammieren oder ähnliches.

Eine komplette Debug-Hardware-Lösung für den RP2040

Der Raspberry Pi Debug Prüfkopf wird mit vier Kabeln geliefert: ein himbeerfarbenes (!) USB-Kabel (1 m) und drei Debug-Kabel, jedes etwa 16 cm lang. Die drei Debug-Kabel haben alle einen JST-Debug-Stecker an einem Ende. Am anderen Ende befindet sich ein weiterer JST-Stecker, drei männliche und drei weibliche Header auf einem Breadboard. Zusammen ermöglichen diese Kabel einen einfachen Anschluss des Geräts an den Zielprozessor. Beachten Sie, dass JST der Name eines Steckverbinderherstellers ist und nicht eine bestimmte Art von Steckverbinder bezeichnet.

Wenn aus irgendeinem Grund keines der mitgelieferten Kabel für Ihren Zweck geeignet ist, können Sie auch Drähte an die Unterseite der Platine des Debug-Prüfkopfes löten, da diese über Lötpunkte verfügt.

Verwendung des Raspberry Pi Debug-Prüfkopfes

Um den Debug-Prüfkopf zu verwenden, benötigen Sie OpenOCD und GDB. Anleitung zur Installation dieser Tools unter Linux, Raspberry Pi OS, macOS und Windows finden Sie auf der Raspberry Pi-Website. Ich habe den (für mich) einfachsten Weg gewählt und das Windows-Installationsprogramm (Raspberry Pi Pico SDK v1.5.0) verwendet, das alles enthält, was man braucht. Die manuelle Installation von GDB unter Windows wird ohnehin nicht empfohlen.
 
raspberry pi debug probe pod.jpg
Exquisit: Der Debug-Prüfkopf misst nur 37 mm x 31 mm x 10 mm.

Nach der Installation des Pico-SDK führte der Anschluss des Debug-Prüfkopfes an meinen Computer dazu, dass ein CMSIS-DAP-Gerät konfiguriert wurde. Der Prüfkopf meldete sich dann als neues USB Serial Device „COM11“ an.

Leider hört die Online-Windows-Dokumentation an dieser Stelle auf. Allerdings wurde vom SDK-Installationsprogramm eine ReadMe-Datei geöffnet, die Anweisungen für die ersten Schritte unter Windows enthält. Die Anleitung bezieht sich auf die Picoprobe, einen Raspberry Pi Pico, der als Debugger programmiert ist. Da es sich um dasselbe Gerät wie den Debug-Prüfkopf handelt, funktionieren diese Anweisungen einwandfrei. Falls Sie diese Datei jemals absichtlich oder versehentlich schließen, finden Sie sie unter c:\Programme\Raspberry Pi\Pico SDK v1.5.0\.

Plug ‘n’ Play

Ich habe ein Pico H-Board an den Debug-Prüfkopf angeschlossen, genau wie auf der Webseite des Debug-Prüfkopfes gezeigt wird. Dann kompilierte ich in Visual Code das hello_uart-Beispiel und drückte auf die Schaltfläche „Run and Debug“ (in der Menüleiste links), gefolgt von einem Klick auf das kleine „Play“-Symbol am oberen Rand des Debug-Fensters (Sie können auch F5 drücken). Der Quelltext des Programms wird geöffnet, und Sie können loslegen. Verwenden Sie F10 und F11, um sich durch den Code zu bewegen. Nichts zu konfigurieren, so mag ich meine Debugger...

 
visual code debugging.png
Schritt für Schritt durch den Quellcode einer einfachen RP2040-Anwendung mit dem Debug-Prüfkopf.

Eingebaute serielle Schnittstelle

Im unteren Fenster von Visual Code können Sie den Serial Monitor öffnen, um das hello_uart-Beispiel anzuzeigen. Dies funktioniert dank des UART-Ports des Debug-Prüfkopfes problemlos. Dieser Port ist, zumindest für mich, das beste Feature mit seinen zwei LEDs, die für eingehende und ausgehende Daten blinken. Ich bin sicher, dass ich den Prüfkopf hauptsächlich als seriellen Konverter verwenden werde, da mein Ansatz zum Debuggen eher ein serieller Port ist.

Fazit

Im Grunde genommen ist der Raspberry Pi Debug-Prüfkopf ein Pico, der als Picoprobe umgestaltet wurde. Das klingt vielleicht etwas negativ, ist aber eigentlich eine gute Nachricht, denn es bedeutet, dass der Debug-Prüfkopf in den gleichen Situationen funktioniert wie die Picoprobe. Der Debug-Prüfkopf ist einfach nur ein schöneres Gerät.

Die geringen Abmessungen des Prüfkopfes machen ihn praktisch, da er nicht so schnell im Weg ist und nicht am Messobjekt zerrt. Andererseits ist er so leicht, dass er nicht an seinem Platz bleibt. Außerdem sitzen die JST-Verbinder ein wenig zu tief im Inneren des Geräts, so dass man an den Drähten ziehen muss, um die Kabel zu trennen, anstatt am Stecker zu greifen.

Einige Leute finden den Preis des Debug-Prüfkopfes zu hoch, aber ich stimme dem nicht zu. Für etwa 12 Euro erhält man ein nettes kleines Werkzeug, das einem die Mühe erspart, herauszufinden, wie man ein anderes RP2040-Board in einen Debug-Prüfkopf verwandelt, vorausgesetzt, man hat ein entsprechendes Board zur Verfügung. Da das Debuggen ohnehin etwas ist, was man nicht tun möchte, warum sollte man es komplizierter machen als es sein muss?