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