MB-JTAG-TWICE
©MikloBit
ul. Cyprysowa 7/5
43-600 Jaworzno
www.miklobit.com
support@miklobit.com
MB-JTAG-TWICE
JTAG + ISP dla AVR
rev. 1.1 2006.03.10
Spis treści
1.Wprowadzenie.................................................................................................................. 3
2.Interfejs JTAG.................................................................................................................. 4
2.1 .Złącze interfejsu JTAG ........................................................................................... 4
2.2 .Uruchamianie programu przy użyciu MB-JTAG-TWICE................................................. 5
2.3 .Aktualizacja oprogramowania wewnętrznego JTAG..................................................... 8
3.Interfejs ISP..................................................................................................................... 9
3.1 .Złącza interfejsu ISP.............................................................................................. 9
3.2 .Połączenie MB-JTAG-TWICE do pracy z interfejsem ISP ............................................ 10
3.3 .Programowanie ISP przy użyciu MB-JTAG-TWICE..................................................... 10
3.4 .Aktualizacja oprogramowania wewnętrznego ISP...................................................... 12
4.Prawa autorskie i gwarancje............................................................................................. 14
5.Kontakt......................................................................................................................... 14
MB-JTAG-TWICE
1.
Wprowadzenie
MB-JTAG-TWICE jest urządzeniem , które łączy w sobie funkcje
debuggera/emulatora oraz programatora ISP. Służy do programowania i uruchamiania w
układzie (on-chip) programów przy użyciu wszystkich 8-mio bitowych mikrokontrolerów
AVR wyposażonych w interfejs JTAG lub ISP.
Najważniejsze cechy debuggera-programatora MB-JTAG-TWICE
Interfejs JTAG ( praca z protokołem AVR JTAG ICE )
Interfejs ISP ( praca z protokołem STK500 v2. )
Automatycznie rozpoznaje aktywny interfejs ( JTAG lub ISP )
Oprogramowanie dla Windows (Avr Studio) oraz Linux ( AvaRICE )
Połaczenie z komputerem PC przez RS-232
Emulacja wszystkich cyfrowych i analogowych funkcji mikrokontrolera
Podglądanie stanu pamięci oraz rejestrów kontrolera
Testowanie stanu wyprowadzeń zewnętrznych kontrolera
Możliwość zakładania pułapek w pamięci programu jak również w pamięci danych
Debugowanie na poziomie kodu żródłowego - obsługa asemblera oraz języków
wysokiego poziomu
Napięcie zasilania 2.7-5.5 V
Zasilanie z układu docelowego lub z zewnętrznego zasilacza 3-5V ( poprzez
adapter )
Aktualizacja oprogramowania JTAG z poziomu AvrStudio
Aktualizacja oprogramowania ISP przy użyciu programu “Uploader”
Obsługiwane mikrokontrolery - interfejs JTAG :
ATmega16, Atmega162, ATmega169, ATmega32, ATmega323, ATmega64,
ATmega128, AT90CAN128
Obsługiwane mikrokontrolery - interfejs ISP :
ATmega16, ATmega169, ATmega32, ATmega323, ATmega64, ATmega128,
AT90CAN128, AT90CAN64, AT90CAN32, AT90PWM2, AT90PWM3, AT90S1200,
AT90S2313, AT90S2323, AT90S2343, AT90S4414, AT90S4433, AT90S4434, AT90S8515,
AT90S8535, Atmega103, Atmega161, Atmega162, ATmega165, ATmega168,
ATmega2560, ATmega2561, ATmega325, ATmega3250, ATmega329, ATmega3290,
ATmega406, ATmega48, Atmega640, Atmega644, ATmega645, ATmega649,
ATmega6490, ATmega8 , ATmega8515, Atmega8535, ATmega88, ATtiny11, ATtiny12,
ATtiny13, Attiny15, ATtiny22, ATtiny2313, ATtiny24, ATtiny26, ATtiny28, Attiny45,
AT86RF401, AT89S51, AT89S52,
Zawartość zestawu
Debugger-programator MB-JTAG-TWICE
kabel taśmowy 1m do złącza JTAG/ISP
Adapter ze złączami ISP 6pin/10pin oraz gniazdem zewnętrznego zasilacza
Płyta CD z dokumentacją i oprogramowaniem
3
MB-JTAG-TWICE
Wprowadzenie
2.
Interfejs JTAG
JTAG jest 4-ro bitowym interfejsem kompatybilnym ze standardem IEEE 1149.1.
Standard ten został opracowany w celu dostarczenia efektywnej metody testowania
jakości połączeń w gotowych układach elektronicznych. JTAG w układach AVR posiada
rozszerzoną funkcjonalność o możliwość programowania pamięci układu oraz
debuggowania programu.
MB-JTAG-TWICE z interfejsem JTAG może pracować po systemem Windows
( program Avr Studio ) oraz Linux ( program AvaRICE )
2.1 .
Złącze interfejsu JTAG
pin
I/O identification
description
1
I
TCK
Sygnał zegarowy z MB-JTAG-ICE do portu JTAG
2
PWR
GND
Masa układu
3
O
TDO
Wyjście danych z portu JTAG do MB-JTAG-ICE
4
PWR
VTG
Napięcie zasilania z uruchamianego układu
5
I
TMS
Sygnał wyboru trybu pracy z MB-JTAG-ICE do portu JTAG
6
I/O
RST
Sygnał RESET z MB-JTAG-ICE. Do zerowania
uruchamianego układu
7
PWR
VTG
Napięcie zasilania dla MB-JTAG-ICE z uruchamianego
układu (2.7 – 5.5 V)
8
-
NC
Nie podłączony
9
I
TDI
Wejście danych z MB-JTAG-ICE do portu JTAG
10
PWR
GND
Masa układu
Interfejs JTAG
4
MB-JTAG-TWICE
1 2
GND
VTG
RST
NC
GND
TCK
TDO
TMS
VTG
TDI
9 10
2.2 .
Uruchamianie programu przy użyciu MB-JTAG-TWICE
2.2.1 .
Pułapki sprzętowe i programowe
Rejestry interfejsu JTAG w kontrolerach Atmel umożliwiają ustawienie maksymalnie 4
sprzętowych punktów przerwania programu, tzw. pułapek (ang. breakpoints ). Jedna z
nich jest używana przez AvrStudio do trybu pracy krokowej, do dyspozycji użytkownika
pozostają 3. Pułapki te można używać w następujących kombinacjach:
3 pułapki w pamięci programu
1 pułapka w pamięci programu i 2 pułapki w pamięci danych
1 pułapka w pamięci programu i 1 maskowana pułapka w pamięci SRAM
1 pułapka w pamięci programu i 1 maskowana pułapka w pamięci FLASH
Pułapki sprzętowe pozwalają na uruchamianie programu z pełną szybkością procesora.
Niektóre wersje kontrolerów Atmel obsługują instrukcję programową „break”. Przy
użyciu tej instrukcji możliwe jest użycie nieograniczonej ilości pułapek programowych.
Ponieważ realizacja takiej pułapki polega na zastąpieniu aktualnej instrukcji w pamięci
programu przez instrukcję break, ten tryb uruchamiania jest znacznie wolniejszy
( konieczność wielokrotnego przeprogramowania pamięci programu ).
Jeśli dostępne są pułapki programowe AvrStudio będzie domyślnie optymalizować
proces uruchamiania, tak aby w pierwszej kolejności wykorzystane były pułapki
sprzętowe. Jeśli pułapki programowe są niedostępne, próba ustawienia w programie
więcej niż 3 pułapek wywoła komunikat.
Pułapki w pamięci danych mogą być uzywane w jednym z trzech trybów:
Wyzwolenie pułapki tylko po wykonaniu odczytu wskazanego adresu
Wyzwolenie pułapki tylko po wykonaniu zapisu wskazanego adresu
Wyzwolenie pułapki zarówno po odczycie jak i po zapisie do pamięci
Wybrany tryb można ustawić w opcjach debuggera.Możliwe jest też podanie maski
adresów dla których pułapki będą aktywne.
2.2.2 .
Przygotowanie układu do pracy
Zakładamy, że użytkownik posiada znajomość obsługi programu AvrStudio. Więcej
informacji na ten temat znajduje się w interaktywnej pomocy dołączonej do AvrStudio. W
tym miejscu podajemy informacje specyficzne dla współpracy z MB-JTAG-TWICE.
Urządzenie należy podłączać do komputera PC oraz uruchamianego układu przy
wyłączonym zasilaniu. Od strony komputera PC MB-JTAG-TWICE podłączamy do
wolnego portu COM. Do uruchamianego układu należy połączyć złącze na taśmie. Jeśli
gniazdo JTAG nie jest wyposażone w otwór prowadzący, należy przy podłączaniu zwrócić
uwagę na położenie „klucza” wtyku ( strzałka na wtyku powinna wskazywać pin nr 1).
Odwrotne włączenie może spodowować uszkodzenie debuggera i/lub uruchamianego
układu.
MB-JTAG-TWICE
5
Interfejs JTAG
Jeśli na złączu JTAG uruchamianego układu dostepne jest napięcie zasilania (2.7-5.5
V), debugger należy połączyć zgodnie z poniższym rysunkiem:
Jeżeli zasilanie z układu uruchamianego jest niedostępne, należy podłączyć MB-JTAG-
TWICE przy użyciu dołączonego adaptera, i podłączyć zewnetrzny zasilacz (3-5V):
Po połączeniu należy uruchomić komputer PC a następnie włączyć zasilanie w
uruchamianym układzie. Czerwona dioda LED powinna zaświecić przez ok. 1 sekundę.
Oznacza to poprawną pracę MB-JTAG-TWICE. Na końcu uruchamiamy program
AvrStudio.
2.2.3 .
Nawiązanie połączenia
Po uruchomieniu, AvrStudio wyświetli okno dialogowe w celu wybrania projektu.
Można wykorzystać przykładowy progam „led.cof” znajdujący się na płycie CD w katalogu
„example”. Następnie należy wybrać JTAG ICE jako platformę do uruchamiania, oraz
wersję używanego kontrolera avr i numer używanego portu COM ( lub pozostawić opcję
AUTO ).
Interfejs JTAG
MB-JTAG-TWICE
6
Po załadowaniu programu, AvrStudio automatycznie programuje kontroler w
uruchamianym układzie i przechodzi w tryb śledzenia programu wyświetlając okno z
kodem żródłowym. Jeżeli komunikacja z MB-JTAG-TWICE została nawiązana, ale do
złącza JTAG nie został podłączony żaden układ, lub też w uruchamianym kontrolerze nie
został zaprogramowany bit zezwolenia dla interfesju JTAG, AvrStudio wyświetli okno z
informacją o możliwych przyczynach problemu.
2.2.4 .
Opcje debuggera
Aby zmienić opcje debuggera podczas uruchamiania układu należy wybrać z menu
pozycję: Debug -> JTAC ICE Options. Dla zapewnienia prawidłowej komunikacji pomiędzy
MB-JTAG-TWICE i AvrStudio częstotliwość (w zakładce „Connection” ) powinna być
ustawiona na wartość równą lub mniejszą niż ¼ zegara procesora w uruchamianym
układzie.
W przypadku problemów z nawiązaniem połaczenia z MB-JTAG-TWICE można też
ustawić mniejszą niż domyślna szybkość pracy portu szeregowego.
Zakładka „Debug” umożliwia wybranie m.in. metody programowania kontrolera przed
rozpoczęciem pracy. Domyślnie po każdorazowym załadowaniu pliku wynikowego
wykonywana jest operacja programowania kontrolera. Opcję tę można zmienić tak aby
reprogramowanie następowało tylko po po modyfikacji pliku wynikowego. Wydłuży to
żywotność kontrolera w uruchamianym układzie.
W zakładce „Breakpoints” ustawiamy tryb pracy dla pułapek programowych oraz ew.
maskę adresów.
Zakładka „Status” pokazuje aktualną wersję oprogramowania zawartego w MB-JTAG-
TWICE oraz wersję kontrolera podłączonego do interfejsu JTAG.
MB-JTAG-TWICE
7
Interfejs JTAG
2.3 .
Aktualizacja oprogramowania wewnętrznego JTAG
MB-JTAG-TWICE pozwala na automatyczną aktualizację oprogramowania JTAG w
momencie gdy zainstalowana wersja AvrStudio posiada wersję nowszą niż programator.
Jeśli po wybraniu sesji debugowania lub programowania pojawi się okno
należy nacisnąć przycisk „OK” a w kolejnym oknie „Flash/Program”
Po skończonej aktualizacji należy wyłączyć i włączyć zasilanie MB-JTAG-TWICE jak
również uruchomić ponownie AvrStudio.
Interfejs JTAG
MB-JTAG-TWICE
8
3.
Interfejs ISP
MB-JTAG-TWICE w trybie ISP używa do komunikacji z komputerem PC protokołu
STK500 v.2 i może pracować z każdym oprogramowaniem, które działa z oryginalnym
zestawem STK500, m.in Avr Studio, CodeVision i inne. Niektóre funkcje przeznaczone dla
STK500 ( np. regulacja napięcia zasilania układu lub częstotliwości zegara ) są
niedostępne podczas pracy z MB-JTAG-TWICE.
3.1 .
Złącza interfejsu ISP
Do programowania w trybie ISP służy płytka adaptera wyposażona w dwa złącza: 10
pin oraz 6 pin:
10-pin
6-pin
I/O
Sygnał
Opis
1
4
I/O
MOSI
Dane odbierane – podłączyć do lini MOSI
mikrokontrolera
2
2
PWR
VTG
Napięcie zasilania z programowanego układu:
2.7 v – 5.5 v
3
-
I/O
PROG
Stan niski podczas programowania
( sterowanie diodą LED lub multiplekserem w
programowanym układzie )
5
5
I/O
RST
Reset – podłączyć do lini RST mikrokontrolera
7
3
I/O
SCK
Zegar – podłączyć do lini SCK mikrokontrolera
9
1
I/O
MISO
Dane nadawane - – podłączyć do lini MISO
mikrokontrolera
4,6,8,10
6
PWR
GND
Masa
MB-JTAG-TWICE
9
Interfejs ISP
1 2
VTG
GND
GND
GND
GND
MOSI
PROG
RST
SCK
MISO
9 10
VTG
MOSI
GND
MISO
SCK
RST
1 2
5 6
3.2 .
Połączenie MB-JTAG-TWICE do pracy z interfejsem ISP
Poniższe rysunki ilustrują połaczenie programatora w przypadku stosowania złącza ISP
10-pin oraz 6-pin .
Jeśli na złaczu ISP w układzie programowanym napięcie zasilania jest niedostępne,
MB-JTAG-TWICE może być zasilany z zewnętrznego zasilacza poprzez płytkę adaptera.
Po włączeniu zasilania, dioda LED będzie świecić przez ok. 1 sekundę, co oznacza
gotowość urządzenia do pracy. Dioda LED będzie również świecić w czasie operacji
programowania ISP.
3.3 .
Programowanie ISP przy użyciu MB-JTAG-TWICE
Do programowania poprzez interfejs ISP może byc użyty program AvrStudio. Aktualna
wersja AvrStudio znajduje się na dołączonej płycie CD w katalogu „PC software”. Do
pracy z MB-JTAG-TWICE nalezy w AvrStudio wybrać dialog programowania STK500:
Interfejs ISP
MB-JTAG-TWICE
10
Oprogramowanie wewnętrzne MB-JTAG-TWICE automatycznie rozpoznaje
wybrany w AvrStudio typo połączenia ( JTAG lub STK500). Rozpoznanie interfejsu
następuje podczas pierwszego połączenia z PC po włączeniu zasilania. Wybrany interfejs
jest aktywny aż do wyłączenia zasilania. Aby przełączyć MB-JTAG-TWICE w inny tryb
pracy, należy wyłaczyć i ponownie włączyć zasilanie programatora.
Szczegółowe informacje n.t. dostępnych opcji w czasie programowania ISP
znajdują się w pomocy do AvrStudio ( menu „Help” ). Informacje zawarte są w
rozdziale „STK500 User Guide” -> „Frontend software”.
MB-JTAG-TWICE
11
Interfejs ISP
3.4 .
Aktualizacja oprogramowania wewnętrznego ISP
MB-JTAG-TWICE pozwala na aktualizację oprogramowania do obsługi interfejsu ISP.
Nie należy korzystać z aktualizacji dostarczonych razem z AvrStudio. Aktualizacje są
dostępne na stronie internetowej MikloBit ( katalog “Elektronika/Do probrania” ). Do
załadowania oprogramowania ISP służy program Uploader który znajduje sie na płycie
CD, w katalogu MB-JTAG-TWICE.
Aby wykonać aktualizację oprogramowania należy:
•
Pobrać ze strony MikloBit archiwum “mb_jtag_twice_isp_vX.X.zip” i rozpakować z
niego plik z rozszerzeniem .hex
•
Uruchomić program Uploader.exe
•
Podłączyć MB-JTAG-TWICE do portu COM w komputerze PC oraz do zasilania
( z uruchamianego układu lub z zasilacza poprzez adapter )
•
W programie Uploader wybrać port COM do którego podłączony jest MB-JTAG-
TWICE, wskazać lokalizację na dysku gdzie znajduje się plik .hex i uruchomić
aktualizację przyciskiem “Program”
Po skończonej aktualizacji należy wyłączyć i włączyć zasilanie MB-JTAG-TWICE.
Interfejs ISP
MB-JTAG-TWICE
12
Jeśli zostanie zainstalowana nowsza wersja AvrStudio i po wywołaniu dialogu STK500
zostanie wyświetlony komunikat o konieczności aktualizacji:
należy wybrać opcję „Anuluj”. Aby komunikat nie pojawiał sie proszę wykonać
nastepujące czynności:
•
uruchomić program RegEdit ( z menu Start/Uruchom )
•
odszukać w rejestrze klucz
HKEY_LOCAL_MACHINE\SOFTWARE\Atmel\AVRTools\STK500
•
Zmienić wartości typu DWORD na numery wersji która jest oczekiwana, w tym
przypadku 2.04:
•
VersionMajor na 0x02
•
VersionMinor na 0x04
•
zakończyć program RegEdit
•
uruchomić ponownie AvrStudio
MB-JTAG-TWICE
13
Interfejs ISP
4.
Prawa autorskie i gwarancje
Prawa autorskie do oprogramowania JTAG zawartego wewnątrz MB-JTAG-TWICE,
jak również do oprogramowania AvrStudio należą do firmy Atmel.
Prawa autorskie do oprogramowania ISP zawartego wewnątrz MB-JTAG-TWICE
należą do firmy MikloBit.
MikloBit gwarantuje zgodność produktu z wydaną specyfikacją, a jednocześnie
informuje, że nie ponosi odpowiedzialności za jakiekolwiek szkody powstałe bezpośrednio
lub pośrednio w wyniku użycia lub nieprawidłowego działania produktu.
MikloBit zastrzega sobie prawo do modyfikacji niniejszej specyfikacji bez uprzedzenia.
5.
Kontakt
MikloBit
ul. Cyprysowa 7/5
43-600 Jaworzno
www.miklobit.com
support@miklobit.com
tel.
0 603 196 171
tel./fax
0 32 616 40 82
Prawa autorskie i gwarancje
MB-JTAG-TWICE
14