JTAG - zastosowanie sprzętowego debuggera w aplikacjach z

Transkrypt

JTAG - zastosowanie sprzętowego debuggera w aplikacjach z
JTAG -
zastosowanie sprzętowego
debuggera w aplikacjach
z wykorzystaniem mikrokontrolerów
Przygotował:
Rodak Krzysztof
[email protected]
Ewolucja mikrokontrolerów
• Zewnętrzna pamięć programu
− Programowanie równoległe
• Wewnętrzna pamięć programu
Programowanie:
− Równoległe
− Szeregowe
• SPI ( In-System Programming )
• JTAG ( Joint Test Action Group )
• inne
PROGRAM
Mikrokontroler z zewnętrzną
pamięcią programu
Programator pamięci EPROM / EEPROM
GNIAZDO
KOŚCI PAMIĘCI
Sposób programowania
Aby sprawdzić działanie programu w układzie
docelowym należało:
• Umieścić pamięć programu w programatorze;
• Załadować program;
• Umieścić zaprogramowaną pamięć w układzie
docelowym.
W przypadku błędnego działania lub modyfikacji
programu czynności należy powtórzyć.
Ale to skomplikowane i czasochłonne.
Czy nie da się prościej?
Mikrokontrolery z pamięcią EEPROM
• programowanie
równoległe
• programowany
w zewnętrznym
układzie
Już lepiej, ale
czy da się coś jeszcze zrobić?
Programowanie szeregowe
standard SPI
Podstawowe funkcje:
• Programowanie
• Kasowanie
• Odczyt
• Weryfikacja
Układ programowany
w układzie docelowym
Programator ISP
Podstawowe cechy:
• Łatwe
programowanie;
• Uniwersalny
(interfejs SPI –
Peripheral Serial
Interface);
• Prostota ( cena ).
Programowanie jest bardzo proste,
lecz nic nie wiem co „dzieje się”
w procesorze
Kolejny krok…
Założenia:
• Uniwersalny interfejs zapisu/odczytu
pamięci oraz wszystkich elementów μC
• Programowanie w układzie docelowym
• Bieżące monitorowanie/zmiana
zawartości wszystkich komórek μC
• Debugowanie programu
( praca krokowa, breakpoint`y )
Aby uzyskać więcej informacji...
Szczegółowy opis interfejsu JTAG:
http://www.atmel.com/dyn/resources/prod_documents/DOC2475.PDF
Złącze JTAG
Pin
Nazwa
I/O
Opis
1
TCK
O
Test Clock, sygnał zegarowy z JTAG ICE
do urządzenia docelowego
2
GND
-
Masa
3
TDO
I
Test Data Output, sygnał danych z
urządzenia docelowego do JTAG ICE
4
VTREF
I
Poziom napięcia logiki układu docelowego
5
TMS
O
Test Mode Select, sygnał wyboru trybu z
JTAG ICE do układu docelowego
Wyjście typu open collector z JTAG ICE do
układu docelowego, jest to również
wejście, aby móc wykryć reset
wykonany w urządzeniu docelowym
6
NSRST
I/O
7
VSUPP
I
8
NTRST
O/NC
Nie podłączone, zarezerwowane dla innych
urządzeń JTAG (reset portu JTAG)
9
TDI
O
Test Data Input, sygnał danych z JTAG ICE
do urządzenia docelowego
10
GND
-
Masa
Napięcie zasilające JTAG ICE. Linia jest
odcinana, jeśli jest podłączony
zewnętrzny zasilacz.
Wystarczy tylko tyle?
Realizacja interfejsu JTAG
J-TAG
Izolacja galwaniczna
Konwerter USB <=> (RS232)
Aby uzyskać więcej informacji...
Na proste to nie wygląda.
A co potrafi?
Szczegółowy opis IsoJTAG:
http://www.floppyspongeonline.com/automation/isojtagisp/isojtagisp.php
JTAG w akcji…
Potrzebne materiały:
• Środowisko programowe – AVR Studio
• Programator – IsoJTAG (JTAG ICE)
• Oprogramowanie programatora – sterowniki FTDi
• Mikrokontroler – płytka prototypowa
Niewielkim kosztem i nakładem pracy
jesteśmy w posiadaniu potężnego
narzędzia potrafiącego o wiele więcej
niż zapis/odczyt programu.
Dziękuje za uwagę ☺
Do prezentacji użyto materiałów ogólnie dostępnych takich jak:
•
AVT 5070 -Programator WillemProg 3.0;
•
•
•
AVT 2250 – Mikrokomputer edukacyjny;
http://www.floppyspongeonline.com/automation/isojtagisp/isojtagisp.php;
http://www.atmel.com/dyn/resources/prod_documents/DOC2475.PDF