Hat jemand versucht, mit JTAG / BDM zu debuggen?

19

Gibt es eine verwendbare JTAG / BDM-Schnittstelle auf dem Raspberry Pi?

Welcher Hardware-Debugger wird zum Debuggen benötigt?

Kann Open OCD verwendet werden?

Lars Pötter
quelle

Antworten:

8

Die Revision 2.0 des Modells B Raspberry Pi hat die JTAG-Pins freigelegt.

Siehe http://www.raspberrypi.org/archives/1929

Damian Dixon
quelle
1
Welche Software / Hardware wird mit den verfügbaren Pins benötigt, um die Pins zum Debuggen zu verwenden?
Lars Pötter
7

Viele Informationen finden Sie hier . Leider ist die Verwendung von JTAG auf RPi nicht einfach. Um ehrlich zu sein, nur weil es so problematisch ist, habe ich mich nicht darum gekümmert, es zum Laufen zu bringen. Folgendes weiß ich jedoch:

Nicht alle JTAG-Signale sind leicht verfügbar. Alle bis auf alle befinden sich am GPIO-Anschluss (nicht am P2-JTAG-Anschluss - es ist ein VideoCore-JTAG, nicht ARM und AFAIK, nicht für Benutzer außerhalb von Broadcom verwendbar). Der zusätzliche Pin befindet sich am S5-Anschluss (CSI-Header). Sie müssen ihn wahrscheinlich herauslöten. Hier sind die Pins, die benötigt werden (mehr dazu auf der dwelch67-Site, Informationen zu alternativen GPIO-Pins-Funktionen finden Sie auch im raspberrypi-Wiki ):

  ARM_VREF    P1-1
  ARM_TRST    P1-15
  ARM_TDO     P1-18
  ARM_TCK     P1-22
  ARM_TDI     P1-7
  ARM_TMS     S5-11
  ARM_GND     P1-25

BEARBEITEN : Wie @Damian ausführte, wurde in der Revision 2.0 der Platine das fehlende ARM_TMS-Signal an Pin 13 von P1 angeschlossen, sodass kein Löten mehr erforderlich sein sollte.

Jetzt ist es nicht das einzige Problem. Standardmäßig sind alle diese Pins als GPIO-Pins konfiguriert, nicht als JTAG-Pins. Sie müssen in der Software neu konfiguriert werden, und AFAIK unterstützt dies im Foundation-Bootloader nicht. Dwelch67 hat seinen eigenen Bootloader (Next Stage Bootloader) geschrieben, der genau das macht. Sie können es über den Link oben in dieser Antwort herunterladen.

Wie für die Hardware, jede ARM11 JTAG Hardware sollte in Ordnung sein. Wie bereits erwähnt, habe ich keine getestet, daher kann ich keine Empfehlungen aussprechen. Und ja, OpenOCD kann verwendet werden. Es gibt sogar ein kleines Projekt (ebenfalls von dwelch67 durchgeführt), um sehr einfache und kostengünstige JTAG-Hardware auf Basis billiger Boards wie Launchpad zu bauen . Siehe sein Github-Repo

Krzysztof Adamski
quelle
Hallo "Christofer" Vielen Dank für die Veröffentlichung einiger Informationen. Es wäre toll, wenn Sie Ihre Antwort erweitern könnten. Möglicherweise, welche Kabel benötigt werden - wie man sie verbindet, ein oder zwei Bilder sagen mehr als tausend Worte. Ansonsten finde ich es einen Kommentar wert; Benutzer können es in ihrer eigenen Zeit erkunden. Willkommen bei Raspberry Pi SE :-) Witamy!
Piotr Kula
2
Ich habe einige weitere Informationen hinzugefügt. Das ist eigentlich alles, was ich zu diesem Thema sagen kann und ich dachte, dass eine kleine Menge an Informationen besser ist als nichts. Und da es die einzige Antwort ist, glaube ich, gibt es nicht viele andere Informationen darüber.
Krzysztof Adamski