Im Moment versuche ich gerade den Debugger für den PiPco auf Ubuntu
20.04 zum Laufen zu bringen.
Hier gibt es eine Anleitung, um den OpenOCD Debugger zu verwenden.
https://github.com/majbthrd/pico-debug/blob/master/howto/openocd.md
Kompilieren und Installieren klappt scheinbar.
Wenn ich den Debugger aber starten will, scheint nur ein J-Link
Interface verfügbar:
Kommando zurück, ich habe das Problem doch noch gefunden:
Man muss bei der Konfiguration darauf achten, dass auch libusb1-x
vorhanden ist, sonst wird mittendrin eine Fehlermeldung geworfen, aber
trotzdem kompiliert.
Die Ausgabe der richtigen Konfiguration muss so aussehen:
OpenOCD configuration summary
--------------------------------------------------
MPSSE mode of FTDI based devices yes (auto)
ST-Link Programmer yes (auto)
TI ICDI JTAG Programmer yes (auto)
Keil ULINK JTAG Programmer yes (auto)
Altera USB-Blaster II Compatible yes (auto)
Bitbang mode of FT232R based devices yes (auto)
Versaloon-Link JTAG Programmer yes (auto)
TI XDS110 Debug Probe yes (auto)
OSBDM (JTAG only) Programmer yes (auto)
eStick/opendous JTAG Programmer yes (auto)
Andes JTAG Programmer yes (auto)
USBProg JTAG Programmer no
Raisonance RLink JTAG Programmer no
Olimex ARM-JTAG-EW Programmer no
CMSIS-DAP Compliant Debugger yes
Nu-Link Programmer yes (auto)
Cypress KitProg Programmer yes (auto)
Altera USB-Blaster Compatible no
ASIX Presto Adapter no
OpenJTAG Adapter no
Linux GPIO bitbang through libgpiod no
SEGGER J-Link Programmer yes (auto)
Bei mir kommen noch die Zeilen:
[ 307.848001] usbcore: registered new interface driver cdc_acm
[ 307.848002] cdc_acm: USB Abstract Control Model driver for USB modems
and ISDN adapters
Jetzt ist die Frage: Kommt der Treiber von OpenOCD oder vom PicoProbe?
Hier steht, dass es eine "precompiled" Debug-Code gibt (pico-debug.uf2):
https://github.com/majbthrd/pico-debug/
So, ich weis jetzt, wie man openocd auf Ubuntu 20.04 für den PiPico
kompiliert:
S.57 im "getting started with Raspberry Pi Pico" Manual
Achtung: Für eine PiPico als Debugger muss der picoprobe branch aus dem
repository geladen werden!
Hallo Uwe,
so richtig schnell klar wird mir nicht, was blackmagic jetzt genau ist:
Das Stück Hardware hier
https://github.com/blacksphere/blackmagic/wiki
oder eine Firmware, die unter anderem auf der gezeigten Hardware läuft.
Vielleicht könntest Du das etwas klarer auf der Webseite formulieren
z.B.
"blackmagic is not a peace of hardware. It is a firmware running on
various platforms .."
Mittlerweile wird mir klarer, welche Interfaces man alle zur
Programmierung des PiPico über SWD nutzen kann:
1. einen RaspBerry Pi
2. einen PiPico programmiert als SWD-Adapter (PicoProbe hier
https://github.com/raspberrypi/picoprobe )
3. einen STLINK Adapter, dort fehlt aber dann vermutlich die serielle
Schnittstelle für das Printf-Debugging, die man dann mit einem FDTI
machen müsste.
Die Firmware für den PicoProbe sieht ziemlich übersichtlich aus.
Was im Moment noch nicht läuft das kompilieren mit VS-Code und
eigentlich will ich Microsoft Produkte auch nicht verwenden.
Blackmagic als Firmware laeuft auf der originalen Blackmagic Probe, nach
Umflashen auf Stlink und anderen Firmware Platformen. Die Firmware
stellt einen GDB Server bereit, den man ueber das erste serielle Device
anspricht, die zweite Schnittstelle ist fuer die serielle Kommunikation
mit dem Target. Den gleichen GDB Server kann man aber auch auf fuer den
PC kompilieren und auf den PC laufen lassen. Dieser GDB Server kann mit
BMP Firmware Proben, original Stlinks, FTDI MPSSE, CMSIS-DAP und JLINK
sprechen (hosted). Da hosted libusb verwendet wird, hat man unter
Windows die gleichen Probleme mit den USB Treibern wie OpenOCD, bis auf
BMP Firmware Proben, da da nur Seriell verwendet wird.
Der BMP GDB Server erkennt unterstuetzte Target von sich aus und hosted
sucht auch von sich aus nach unterstuetzten Proben, ohne Config Files zu
benoetigen.
Auch picoprobe als CMSIS-DAP Probe wird erkannt.