Czy na Raspberry Pi dostępny jest użyteczny interfejs JTAG / BDM?
Jaki sprzętowy debugger jest potrzebny do debugowania?
Czy można korzystać z Open OCD ?
Czy na Raspberry Pi dostępny jest użyteczny interfejs JTAG / BDM?
Jaki sprzętowy debugger jest potrzebny do debugowania?
Czy można korzystać z Open OCD ?
Odpowiedzi:
Wersja 2.0 modelu B Raspberry Pi odsłoniła piny JTAG.
Można znaleźć wiele informacji tutaj . Niestety użycie JTAG na RPi nie jest proste. Szczerze mówiąc, tylko dlatego, że jest to tak problematyczne, że nie zadałem sobie trudu, aby to zadziałało. Oto jednak, co wiem:
Nie wszystkie sygnały JTAG są łatwo dostępne. Wszystkie oprócz wszystkich są na złączu GPIO (nie na złączu P2 JTAG - to VideoCore JTAG, a nie ARM i AFAIK, nie nadaje się dla osób spoza Broadcom). Dodatkowy pin znajduje się na złączu S5 (nagłówek CSI), prawdopodobnie będziesz musiał go lutować. Oto potrzebne piny (więcej na ten temat na stronie dwelch67, informacje o alternatywnych funkcjach pinów GPIO można również znaleźć na wiki 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
EDYCJA: Jak zauważył @Damian , w wersji 2.0 płytki drukowanej brakujący sygnał ARM_TMS został podłączony do pinu 13 na P1, więc lutowanie nie powinno być konieczne.
To nie jedyny problem. Domyślnie wszystkie te piny są skonfigurowane jako piny GPIO, a nie JTAG. Muszą zostać ponownie skonfigurowane w oprogramowaniu, a AFAIK nie obsługuje tego w bootloaderze Foundation. Dwelch67 napisał swój bootloader (bootloader następnego etapu), który właśnie to robi. Możesz go pobrać z linku podanego na górze tej odpowiedzi.
Jeśli chodzi o sprzęt, każdy sprzęt ARM11 JTAG powinien być w porządku. Jak wspomniano wcześniej, osobiście nie testowałem, więc nie mogę wydawać żadnych zaleceń. I tak, można użyć OpenOCD. Istnieje nawet mały projekt (również wykonany przez dwelch67), aby zbudować bardzo prosty i tani sprzęt JTAG oparty na taniej płytce, takiej jak Launchpad . Zobacz jego repozytorium github
Możesz także wypróbować ten konwerter SN74LVC8T245 od TI http://www.ti.com/product/sn74lvc8t245