Gibt es eine verwendbare JTAG / BDM-Schnittstelle auf dem Raspberry Pi?
Welcher Hardware-Debugger wird zum Debuggen benötigt?
Kann Open OCD verwendet werden?
Gibt es eine verwendbare JTAG / BDM-Schnittstelle auf dem Raspberry Pi?
Welcher Hardware-Debugger wird zum Debuggen benötigt?
Kann Open OCD verwendet werden?
Antworten:
Die Revision 2.0 des Modells B Raspberry Pi hat die JTAG-Pins freigelegt.
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
Sie können diesen Konverter SN74LVC8T245 auch von TI unter http://www.ti.com/product/sn74lvc8t245 testen