OpenOCD mit ARM-USB-OCD-H+ARM_JTAG_SWD

Hat jemand mit SWD über einen Olimex USB-JTAG-Programmierer und den ARM-JTAG-SWD-Adapter debuggen/programmieren können? Wenn ja, teile bitte mit, wie du es gemacht hast :)

Insbesondere suche ich, wie die OpenOCD-Konfigurationsdateien aussehen würden.

Es wäre hilfreich, wenn Sie einige Details darüber hinzufügen würden, was Sie zu programmieren versuchen und warum dieses Setup für Sie nicht funktioniert.
Nun, ich versuche, eine Verbindung zu einer Cortex-M3-MCU herzustellen, genauer gesagt zu einem STM32. Ich bin mir nicht sicher, wie ich OpenOCD für SWD überhaupt konfigurieren soll oder ob es unterstützt wird.
Hast du RTFM? Grundsätzlich starten Sie openocd, übergeben ihm einige Konfigurationsparameter, öffnen dann Ihre gdb und verbinden sich mit localhost:2222 oder so. Ich habe dies kürzlich durchgemacht (Anschließen an einen Cortex M4-Kern auf einer benutzerdefinierten Leiterplatte) und beantworte gerne Ihre konkreteren Fragen.
Ich verwende OpenOCD seit Jahren fehlerfrei mit Standard-JTAG-Verbindung, ich suche nur nach einer Möglichkeit, die SWD-Funktionalität zu evaluieren. Wenn das FM, auf das Sie sich beziehen, dieses ist: openocd.sourceforge.net/doc/html Ich finde keinen offensichtlichen Weg, um von JTAG zu SWD zu wechseln. Sollte ich dieselbe stm32.cfg verwenden, aber irgendwo ein "transport select swd" hinzufügen? Muss ich DAPs anstelle von TAPs deklarieren? Vielleicht kannst du deine Konfiguration teilen?
Ich habe die gleiche Frage :) Hast du es jemals zum Laufen gebracht? Hat sonst noch jemand Informationen? Danke!
IIRC OpenOCD implementiert SWD derzeit nicht. Es war auf der Feature-Liste, wurde aber entfernt. Da würde ich gerne widerlegt werden. :-(

Antworten (1)

Ich kann den Programmierer, Adapter oder Konfigurationsdateien nicht direkt ansprechen. Um jedoch eine Antwort zu erhalten, habe ich den Link ein wenig durchgelesen und Folgendes gefunden:

http://openocd.sourceforge.net/doc/html/Debug-Adapter-Configuration.html#Debug-Adapter-Configuration

8.3 Transportkonfiguration

Wie bereits erwähnt, stehen je nach verwendeter OpenOCD-Version und verwendetem Debug-Adapter möglicherweise mehrere Transporte zur Verfügung, um mit Debug-Zielen zu kommunizieren (oder vielleicht Flash-Speicher zu programmieren).

— Befehl: transport list
zeigt die Namen der Transporte an, die von dieser Version von OpenOCD unterstützt werden.

— Befehl: transport select transport_name
Wählen Sie aus, welcher der unterstützten Transporte in dieser OpenOCD-Sitzung verwendet werden soll. Der Transport muss von der Hardware des Debug-Adapters und von der von Ihnen verwendeten OpenOCD-Version (einschließlich des Treibers des Adapters) unterstützt werden. Keine Argumente: Gibt den Namen des ausgewählten Transports der Sitzung zurück.

Vermutlich weist die Auswahl von SWD auf diese Weise den Programmierer an, auf SWD umzuschalten und vor dem Programmieren den JTAG->SWD-Übergangsbefehl an den Chip zu senden.