Esiste un'interfaccia JTAG / BDM utilizzabile su Raspberry Pi?
Quale debugger hardware è necessario per il debug?
Open OCD può essere utilizzato?
Esiste un'interfaccia JTAG / BDM utilizzabile su Raspberry Pi?
Quale debugger hardware è necessario per il debug?
Open OCD può essere utilizzato?
Risposte:
La Revisione 2.0 del modello B Raspberry Pi ha esposto i pin JTAG.
Puoi trovare molte informazioni qui . Sfortunatamente, l'uso di JTAG su RPi non è semplice. Ad essere sincero, solo perché è così problematico, non mi sono preoccupato di farlo funzionare. Ecco quello che so, tuttavia:
Non tutti i segnali JTAG sono facilmente disponibili. Tutti tranne tutti sono sul connettore GPIO (non sul connettore P2 JTAG - è un VideoTore JTAG, non ARM e AFAIK non utilizzabile da persone al di fuori di Broadcom). Il pin aggiuntivo si trova sul connettore S5 (intestazione CSI), probabilmente dovrai saldarlo. Ecco i pin necessari (ulteriori informazioni sul sito dwelch67, è inoltre possibile trovare informazioni sulle funzioni dei pin alternativi GPIO sul wiki di raspberrypi ):
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
EDIT: Come ha sottolineato @Damian , sulla revisione 2.0 del PCB, il segnale ARM_TMS mancante è stato collegato al pin 13 su P1, quindi la saldatura non dovrebbe più essere necessaria.
Ora, non è l'unico problema. Per impostazione predefinita, tutti questi pin sono configurati per essere pin GPIO, non JTAG. Devono essere riconfigurati nel software e AFAIK non c'è supporto per questo nel bootloader di Foundation. Dwelch67 ha scritto il suo bootloader (bootloader della fase successiva) che fa proprio questo. Puoi scaricarlo dal link fornito nella parte superiore di questa risposta.
Per quanto riguarda l'hardware, qualsiasi hardware ARM11 JTAG dovrebbe essere OK. Come accennato in precedenza, non ho testato personalmente nessuno quindi non posso fare alcun consiglio. E sì, OpenOCD può essere utilizzato. Esiste anche un piccolo progetto (realizzato anche da dwelch67) per costruire hardware JTAG molto semplice ed economico basato su schede economiche come Launchpad . Guarda il suo repo github
Puoi anche provare questo convertitore SN74LVC8T245 da TI http://www.ti.com/product/sn74lvc8t245