Czy ktoś próbował debugować za pomocą JTAG / BDM?

19

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 ?

Lars Pötter
źródło

Odpowiedzi:

8

Wersja 2.0 modelu B Raspberry Pi odsłoniła piny JTAG.

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

Damian Dixon
źródło
1
Więc przy dostępnych pinach, jakie oprogramowanie / sprzęt jest potrzebny do korzystania z pinów do debugowania?
Lars Pötter
7

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

Krzysztof Adamski
źródło
Cześć „Christofer” Dziękujemy za opublikowanie informacji. Byłoby wspaniale, gdybyś mógł rozwinąć swoją odpowiedź. Być może jakie kable są potrzebne - jak je podłączyć, obraz lub dwa to tysiąc słów. W przeciwnym razie uważam, że warto komentować; Użytkownicy mogą je odkrywać we własnym czasie. Witamy w Raspberry Pi SE :-) Witamy!
Piotr Kula,
2
Dodałem więcej informacji. To właściwie wszystko, co mogę powiedzieć na ten temat i pomyślałem, że pewna niewielka ilość informacji jest lepsza niż nic. A ponieważ jest to jedyna odpowiedź, uważam, że nie ma tam wiele innych informacji na ten temat.
Krzysztof Adamski,