Programiści debugera ICE
Instrukcja użytkownika Programiści i debugerzy
Atmel-ICE
INSTRUKCJA UŻYTKOWNIKA
Debuger Atmel-ICE
Atmel-ICE to potężne narzędzie programistyczne do debugowania i programowania mikrokontrolerów Atmel ®SAM i Atmel AVR opartych na ARM® Cortex®-M z funkcją ® On-Chip Debug.
Obsługuje:
- Programowanie i debugowanie na chipie wszystkich 32-bitowych mikrokontrolerów Atmel AVR na obu JTAG i interfejsy aWire
- Programowanie i debugowanie na chipie wszystkich urządzeń z rodziny Atmel AVR XMEGA® zarówno na JTAG i 2-przewodowe interfejsy PDI
- Programowanie (jTAG, SPI, UPDI) i debugowanie wszystkich 8-bitowych mikrokontrolerów Atmel AVR z obsługą OCD na każdym JTAG, debugWIRE lub UPDI
- Programowanie i debugowanie wszystkich mikrokontrolerów Atmel SAM ARM Cortex-M opartych na SWD i JTAG interfejsy
- Programowanie (TPI) wszystkich 8-bitowych mikrokontrolerów Atmel tinyAVR® z obsługą tego interfejsu
Pełną listę urządzeń i interfejsów obsługiwanych przez tę wersję oprogramowania sprzętowego można znaleźć na liście obsługiwanych urządzeń w Podręczniku użytkownika Atmel Studio.
Wstęp
1.1. Wprowadzenie do Atmel-ICE
Atmel-ICE to potężne narzędzie programistyczne do debugowania i programowania mikrokontrolerów Atmel SAM i Atmel AVR opartych na rdzeniu ARM Cortex-M z funkcją On-Chip Debug.
Obsługuje:
- Programowanie i debugowanie na chipie wszystkich mikrokontrolerów Atmel AVR UC3 zarówno na JTAG i interfejsy aWire
- Programowanie i debugowanie na chipie wszystkich urządzeń z rodziny AVR XMEGA zarówno na JTAG i interfejsy PDI 2-wire
- Programowanie (jTAG i SPI) oraz debugowanie wszystkich 8-bitowych mikrokontrolerów AVR z obsługą OCD zarówno na JTAG lub interfejsy debugWIRE
- Programowanie i debugowanie wszystkich mikrokontrolerów Atmel SAM ARM Cortex-M opartych na SWD i JTAG interfejsy
- Programowanie (TPI) wszystkich 8-bitowych mikrokontrolerów Atmel tinyAVR z obsługą tego interfejsu
1.2. Funkcje Atmel-ICE
- W pełni kompatybilny z Atmel Studio
- Obsługuje programowanie i debugowanie wszystkich 3-bitowych mikrokontrolerów Atmel AVR UC32
- Obsługuje programowanie i debugowanie wszystkich 8-bitowych urządzeń AVR XMEGA
- Obsługuje programowanie i debugowanie wszystkich 8-bitowych urządzeń Atmel megaAVR® i tinyAVR z OCD
- Obsługuje programowanie i debugowanie wszystkich mikrokontrolerów opartych na Cortex-M SAM ARM
- Docelowa objętość operacyjnatagZakres od 1.62 V do 5.5 V
- Pobiera mniej niż 3 mA z docelowego VTref podczas korzystania z interfejsu debugWIRE i mniej niż 1 mA dla wszystkich innych interfejsów
- Wspiera jTAG częstotliwości zegara od 32 kHz do 7.5 MHz
- Obsługuje częstotliwości zegara PDI od 32 kHz do 7.5 MHz
- Obsługuje szybkości transmisji debugWIRE od 4 kbit/s do 0.5 Mbit/s
- Obsługuje szybkości transmisji aWire od 7.5 kbit/s do 7 Mbit/s
- Obsługuje częstotliwości zegara SPI od 8 kHz do 5 MHz
- Obsługuje szybkości transmisji UPDI do 750 kbit/s
- Obsługuje częstotliwości zegara SWD od 32 kHz do 10 MHz
- Szybki interfejs hosta USB 2.0
- Przechwytywanie śledzenia szeregowego ITM z szybkością do 3 MB/s
- Obsługuje interfejsy DGI SPI i USART, gdy nie jest debugowane ani programowane
- Obsługuje 10-pinowe złącze J.50-milTAG Złącze z pinami AVR i Cortex. Standardowy kabel sondy obsługuje 6-pinowe złącza AVR ISP/PDI/TPI 100-milimetrowe oraz 10-pinowe złącza 50-mil. Dostępny jest adapter obsługujący 6-pinowe złącza 50-mil, 10-pinowe 100-mil i 20-pinowe złącza 100-mil. Dostępnych jest kilka opcji zestawów z różnymi kablami i adapterami.
1.3. Wymagania systemowe
Jednostka Atmel-ICE wymaga, aby na komputerze było zainstalowane środowisko debugowania Atmel Studio w wersji 6.2 lub nowszej.
Atmel-ICE należy podłączyć do komputera hosta za pomocą dostarczonego kabla USB lub certyfikowanego kabla Micro-USB.
Pierwsze kroki z Atmel-ICE
2.1. Pełna zawartość zestawu
Pełny zestaw Atmel-ICE zawiera następujące elementy:
- Jednostka Atmel-ICE
- Kabel USB (1.8 m, szybki, Micro-B)
- Płytka przyłączeniowa zawierająca adaptery 50-mil AVR, 100-mil AVR/SAM i 100-milimetrowe 20-pinowe adaptery SAM
- Płaski kabel IDC z 10-pinowym złączem 50-milimetrowym i 6-pinowym złączem 100-milowym
- 50-pinowy kabel mini-squid o długości 10 mil i 10 gniazdach 100 mil
Rysunek 2-1. Zawartość pełnego zestawu Atmel-ICE2.2. Podstawowa zawartość zestawu
Podstawowy zestaw Atmel-ICE zawiera następujące elementy:
- Jednostka Atmel-ICE
- Kabel USB (1.8 m, szybki, Micro-B)
- Płaski kabel IDC z 10-pinowym złączem 50-milimetrowym i 6-pinowym złączem 100-milowym
Rysunek 2-2. Zawartość zestawu podstawowego Atmel-ICE2.3. Zawartość zestawu PCBA
Zestaw Atmel-ICE PCBA zawiera następujące elementy:
- Jednostka Atmel-ICE bez plastikowej obudowy
Rysunek 2-3. Zawartość zestawu Atmel-ICE PCBA2.4. Zestawy części zamiennych
Dostępne są następujące zestawy części zamiennych:
- Zestaw adapterów
- Zestaw kabli
Rysunek 2-4. Zawartość zestawu adaptera Atmel-ICE2.5. Koniec zestawuview
Opcje zestawu Atmel-ICE pokazano schematycznie tutaj:
Rysunek 2-6. Koniec zestawu Atmel-ICEview2.6. Montaż Atmel-ICE
Jednostka Atmel-ICE jest dostarczana bez podłączonych kabli. W pełnym zestawie dostępne są dwie opcje kabli:
- 50-pinowy płaski kabel IDC o długości 10 mil z 6-pinowymi złączami ISP i 10-pinowymi
- 50-milimetrowy 10-pinowy kabel mini-squid z 10 gniazdami x 100-milimetrowymi
Rysunek 2-7. Kable Atmel-ICEDo większości zastosowań można użyć 50-pinowego płaskiego kabla IDC o długości 10 mil, podłączanego natywnie do złączy 10-pinowych lub 6-pinowych lub poprzez płytkę adaptera. Na jednej małej płytce PCBA znajdują się trzy adaptery. W zestawie znajdują się następujące adaptery:
- 100-milimetrowy 10-pinowy JTAG/Adapter SWD
- 100-milimetrowy 20-pinowy SAM JTAG/Adapter SWD
- 50-milimetrowy 6-pinowy adapter SPI/debugWIRE/PDI/aWire
Rysunek 2-8. Adaptery Atmel-ICENotatka:
50-milionowy JTAG nie dostarczono adaptera – dzieje się tak dlatego, że 50-pinowy kabel IDC o długości 10 mil można wykorzystać do bezpośredniego podłączenia do złącza J o średnicy 50 milTAG nagłówek. Aby zapoznać się z numerem części komponentu używanego w 50-stykowym złączu 10 mil, zobacz Numery części złączy docelowych Atmel-ICE.
6-pinowe złącze ISP/PDI jest częścią 10-pinowego kabla IDC. Zakończenie to można odciąć, jeśli nie jest wymagane.
Aby zmontować Atmel-ICE w konfiguracji domyślnej, podłącz 10-pinowy kabel IDC o długości 50 mil do urządzenia, jak pokazano poniżej. Pamiętaj, aby ułożyć kabel w taki sposób, aby czerwony przewód (styk 1) na kablu był wyrównany z trójkątnym wskaźnikiem na niebieskim pasku obudowy. Kabel powinien być podłączony do góry od urządzenia. Pamiętaj, aby podłączyć do portu odpowiadającego pinoutowi twojego celu – AVR lub SAM.
Rysunek 2-9. Połączenie kablowe Atmel-ICERysunek 2-10. Podłączenie sondy Atmel-ICE AVR
Rysunek 2-11. Podłączenie sondy Atmel-ICE SAM
2.7. Otwieranie Atmel-ICE
Notatka:
W celu normalnej pracy nie wolno otwierać urządzenia Atmel-ICE. Otwieranie urządzenia odbywa się na własne ryzyko.
Należy podjąć środki antystatyczne.
Obudowa Atmel-ICE składa się z trzech oddzielnych elementów z tworzywa sztucznego – pokrywy górnej, pokrywy dolnej i niebieskiego paska – które są łączone ze sobą podczas montażu. Aby otworzyć urządzenie, wystarczy włożyć duży płaski śrubokręt w otwory w niebieskim pasku, lekko docisnąć do wewnątrz i delikatnie przekręcić. Powtórz proces w przypadku pozostałych otworów zatrzaskowych, a górna pokrywa wyskoczy.
Rysunek 2-12. Otwieranie Atmel-ICE (1)
Rysunek 2-13. Otwieranie Atmel-ICE (2)
Rysunek 2-14. Otwieranie Atmel-ICE(3)
Aby ponownie zamknąć urządzenie, wystarczy prawidłowo dopasować górną i dolną pokrywę i mocno docisnąć.
2.8. Zasilanie Atmel-ICE
Atmel-ICE jest zasilany przez magistralę USB voltagmi. Do działania wymaga mniej niż 100 mA i dlatego może być zasilany przez koncentrator USB. Dioda LED zasilania zaświeci się, gdy urządzenie jest podłączone do prądu. Jeśli urządzenie nie jest podłączone w trakcie aktywnej sesji programowania lub debugowania, urządzenie przejdzie w tryb niskiego zużycia energii, aby oszczędzać baterię komputera. Atmel-ICE nie może zostać wyłączony – należy go odłączyć od zasilania, gdy nie jest używany.
2.9. Podłączanie do komputera hosta
Atmel-ICE komunikuje się głównie za pomocą standardowego interfejsu HID i nie wymaga specjalnego sterownika na komputerze hosta. Aby skorzystać z zaawansowanej funkcjonalności Data Gateway Atmel-ICE, należy zainstalować sterownik USB na komputerze głównym. Odbywa się to automatycznie podczas instalacji oprogramowania front-end udostępnianego bezpłatnie przez firmę Atmel. Widzieć www.atmel.com aby uzyskać więcej informacji lub pobrać najnowsze oprogramowanie front-end.
Atmel-ICE musi być podłączony do dostępnego portu USB w komputerze głównym za pomocą dostarczonego kabla USB lub odpowiedniego certyfikowanego kabla mikro USB. Atmel-ICE zawiera kontroler zgodny ze standardem USB 2.0 i może pracować zarówno w trybie pełnej, jak i dużej prędkości. Aby uzyskać najlepsze rezultaty, podłącz Atmel-ICE bezpośrednio do szybkiego koncentratora zgodnego ze standardem USB 2.0 w komputerze głównym za pomocą dostarczonego kabla.
2.10. Instalacja sterownika USB
2.10.1. Okna
Podczas instalacji Atmel-ICE na komputerze z systemem Microsoft® Windows®, sterownik USB jest ładowany przy pierwszym podłączeniu Atmel-ICE.
Notatka:
Przed pierwszym podłączeniem urządzenia należy zainstalować pakiety oprogramowania front-end.
Po pomyślnej instalacji Atmel-ICE pojawi się w menedżerze urządzeń jako „Urządzenie interfejsu ludzkiego”.
Podłączenie Atmel-ICE
3.1. Podłączanie do urządzeń docelowych AVR i SAM
Atmel-ICE jest wyposażony w dwa 50-pinowe złącza JTAG złącza. Obydwa złącza są bezpośrednio połączone elektrycznie, ale mają dwa różne układy pinów; AVRJTAG nagłówek i nagłówek debugowania ARM Cortex. Złącze należy wybrać w oparciu o układ pinów docelowej płytki, a nie docelowy typ MCU – npample urządzenie SAM zamontowane w stosie AVR STK® 600 powinno używać nagłówka AVR.
W różnych zestawach Atmel-ICE dostępne są różne okablowania i adaptery. Koniecview opcji połączenia.
Rysunek 3-1. Opcje połączenia Atmel-ICECzerwony przewód oznacza styk 1 10-stykowego złącza 50-milimetrowego. Pin 1 6-pinowego złącza 100-mil jest umieszczony po prawej stronie wpustu, patrząc na złącze od strony kabla. Styk 1 każdego złącza adaptera jest oznaczony białą kropką. Poniższy rysunek pokazuje układ pinów kabla debugowania. Złącze oznaczone literą A podłącza się do debuggera, a złącze B do płytki docelowej.
Rysunek 3-2. Debugowanie pinów kabla
3.2. Podłączenie do JTAG Cel
Atmel-ICE jest wyposażony w dwa 50-pinowe złącza JTAG złącza. Obydwa złącza są bezpośrednio połączone elektrycznie, ale mają dwa różne układy pinów; AVRJTAG nagłówek i nagłówek debugowania ARM Cortex. Złącze należy wybrać w oparciu o układ pinów docelowej płytki, a nie docelowy typ MCU – npample urządzenie SAM zamontowane w stosie AVR STK600 powinno używać nagłówka AVR.
Zalecany układ pinów dla 10-pinowego AVR JTAG złącze pokazano na rysunku 4-6. Zalecany układ pinów dla 10-pinowego złącza ARM Cortex Debug pokazano na rysunku 4-2.
Bezpośrednie połączenie ze standardowym 10-pinowym złączem 50-milimetrowym
Użyj 50-pinowego płaskiego kabla o długości 10 mil (dołączonego do niektórych zestawów), aby podłączyć bezpośrednio do płyty obsługującej ten typ złącza. Użyj portu złącza AVR w Atmel-ICE dla nagłówków z układem pinów AVR i portu złącza SAM dla nagłówków zgodnych z układem pinów nagłówka ARM Cortex Debug.
Poniżej pokazano rozkład pinów obu 10-pinowych portów złącza.
Podłączenie do standardowego 10-pinowego złącza 100-mil
Użyj standardowego adaptera 50-mil do 100-mil, aby podłączyć do nagłówków 100-mil. Można do tego celu użyć płytki adaptera (dołączonej do niektórych zestawów) lub alternatywnie adaptera JTAGAdapter ICE3 może być używany do celów AVR.
Ważny:
JTAGAdaptera ICE3 100-mil nie można używać z portem złącza SAM, ponieważ styki 2 i 10 (AVR GND) adaptera są połączone.
Połączenie z niestandardowym złączem 100-mil
Jeśli Twoja płyta docelowa nie jest wyposażona w zgodne 10-pinowe złącze JTAG nagłówek w rozmiarze 50 lub 100 mil, można przypisać niestandardowy układ pinów za pomocą 10-pinowego kabla „mini-squid” (dołączonego do niektórych zestawów), który zapewnia dostęp do dziesięciu oddzielnych gniazd 100 mil.
Podłączenie do 20-pinowej głowicy 100-milr
Użyj karty adaptera (dołączonej do niektórych zestawów), aby połączyć się z obiektami docelowymi za pomocą 20-pinowego złącza 100-mil.
Tabela 3-1. Atmel-ICE JTAG Opis pinezki
Nazwa | AVR szpilka portu | SAM szpilka portu | Opis |
TCK | 1 | 4 | Zegar testowy (sygnał zegarowy z Atmel-ICE do urządzenia docelowego). |
TMS | 5 | 2 | Wybór trybu testowego (sygnał sterujący z Atmel-ICE do urządzenia docelowego). |
TDI | 9 | 8 | Test Data In (dane przesyłane z Atmel-ICE do urządzenia docelowego). |
TDO | 3 | 6 | Test Data Out (dane przesyłane z urządzenia docelowego do Atmel-ICE). |
nTRST | 8 | – | Reset testowy (opcjonalny, tylko w niektórych urządzeniach AVR). Służy do resetowania JTAG Kontroler TAP. |
nSRST | 6 | 10 | Zresetuj (opcjonalnie). Służy do resetowania urządzenia docelowego. Podłączenie tego styku jest zalecane, ponieważ umożliwia Atmel-ICE utrzymanie urządzenia docelowego w stanie resetowania, co w niektórych scenariuszach może być niezbędne do debugowania. |
VTG | 4 | 1 | Objętość docelowatage-odniesienie. Atmel-ICE samples docelowa objętośćtage na tym pinie, aby prawidłowo zasilać przetworniki poziomu. Atmel-ICE pobiera z tego pinu mniej niż 3 mA w trybie debugWIRE i mniej niż 1 mA w innych trybach. |
GND | 2, 10 | 3, 5, 9 | Grunt. Wszystko musi być połączone, aby zapewnić, że Atmel-ICE i urządzenie docelowe mają to samo odniesienie do masy. |
3.3. Łączenie z obiektem docelowym aWire
Interfejs aWire wymaga tylko jednej linii danych oprócz VCC i GND. W systemie docelowym ta linia jest linią nRESET, chociaż debuger używa biblioteki JTAG Linia TDO jako linia danych.
Zalecany układ pinów dla 6-pinowego złącza aWire pokazano na rysunku 4-8.
Podłączenie do 6-pinowego złącza aWire 100 mil
Użyj 6-pinowego odgałęzienia 100-mil na płaskim kablu (dołączonego do niektórych zestawów), aby podłączyć do standardowego złącza aWire 100-mil.
Podłączenie do 6-pinowego złącza aWire 50 mil
Użyj karty adaptera (dołączonej do niektórych zestawów), aby podłączyć do standardowego złącza aWire 50 mil.
Połączenie z niestandardowym złączem 100-mil
Do połączenia portu złącza Atmel-ICE AVR z płytką docelową należy użyć 10-pinowego kabla mini-squid. Wymagane są trzy połączenia, jak opisano w poniższej tabeli.
Tabela 3-2. Mapowanie pinów Atmel-ICE aWire
Piny portu Atmel-ICE AVR |
Piny docelowe | Przypinka mini-kałamarnica |
aRozmieszczenie pinów przewodu |
Pin 1 (TCK) | 1 | ||
Styk 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | DANE | 3 | 1 |
Pin 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | 6 | ||
Pin 7 (nie podłączony) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Styk 10 (GND) | 0 |
3.4. Łączenie z celem PDI
Zalecany układ pinów dla 6-pinowego złącza PDI pokazano na rysunku 4-11.
Podłączenie do 6-pinowego złącza PDI 100 mil
Użyj 6-pinowego odgałęzienia 100-mil na płaskim kablu (dołączonego do niektórych zestawów), aby podłączyć do standardowego złącza PDI 100-milimetrów.
Podłączenie do 6-pinowego złącza PDI 50 mil
Użyj karty adaptera (dołączonej do niektórych zestawów), aby podłączyć standardowy nagłówek PDI 50 mil.
Połączenie z niestandardowym złączem 100-mil
Do połączenia portu złącza Atmel-ICE AVR z płytką docelową należy użyć 10-pinowego kabla mini-squid. Wymagane są cztery połączenia, jak opisano w poniższej tabeli.
Ważny:
Wymagany układ pinów różni się od JTAGICE mkII JTAG sonda, gdzie PDI_DATA jest podłączony do pinu 9. Atmel-ICE jest kompatybilny z pinoutem używanym przez Atmel-ICE, JTAGProdukty ICE3, AVR ONE! i AVR Dragon™.
Tabela 3-3. Mapowanie pinów PDI Atmel-ICE
Piny portu Atmel-ICE AVR | Piny docelowe | Przypinka mini-kałamarnica |
aRozmieszczenie pinów przewodu |
Pin 1 (TCK) | 1 | ||
Styk 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | DANE | 3 | 1 |
Pin 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | 6 | ||
Pin 7 (nie podłączony) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Styk 10 (GND) | 0 |
3.4 Łączenie z celem PDI
Zalecany układ pinów dla 6-pinowego złącza PDI pokazano na rysunku 4-11.
Podłączenie do 6-pinowego złącza PDI 100 mil
Użyj 6-pinowego odgałęzienia 100-mil na płaskim kablu (dołączonego do niektórych zestawów), aby podłączyć do standardowego złącza PDI 100-milimetrów.
Podłączenie do 6-pinowego złącza PDI 50 mil
Użyj karty adaptera (dołączonej do niektórych zestawów), aby podłączyć standardowy nagłówek PDI 50 mil.
Połączenie z niestandardowym złączem 100-mil
Do połączenia portu złącza Atmel-ICE AVR z płytką docelową należy użyć 10-pinowego kabla mini-squid. Wymagane są cztery połączenia, jak opisano w poniższej tabeli.
Ważny:
Wymagany układ pinów różni się od JTAGICE mkII JTAG sonda, gdzie PDI_DATA jest podłączony do pinu 9. Atmel-ICE jest kompatybilny z pinoutem używanym przez Atmel-ICE, JTAGICE3, AVR ONE! i AVR Dragon™ Produkty.
Tabela 3-3. Mapowanie pinów PDI Atmel-ICE
Pin portu Atmel-ICE AVR | Piny docelowe | Przypinka mini-kałamarnica | Pinout PDI Atmel STK600 |
Pin 1 (TCK) | 1 | ||
Styk 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | PDI_DANE | 3 | 1 |
Pin 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | PDI_CLK | 6 | 5 |
Pin 7 (nie podłączony) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Styk 10 (GND) | 0 |
3.5 Łączenie z obiektem docelowym UPDI
Zalecany układ pinów dla 6-pinowego złącza UPDI pokazano na rysunku 4-12.
Podłączenie do 6-pinowego złącza UPDI 100 mil
Użyj 6-pinowego odgałęzienia 100-mil na płaskim kablu (dołączonego do niektórych zestawów), aby podłączyć do standardowego złącza UPDI 100-milimetrów.
Podłączenie do 6-pinowego złącza UPDI 50 mil
Użyj karty adaptera (dołączonej do niektórych zestawów), aby podłączyć do standardowego złącza UPDI 50 mil.
Połączenie z niestandardowym złączem 100-mil
Do połączenia portu złącza Atmel-ICE AVR z płytką docelową należy użyć 10-pinowego kabla mini-squid. Wymagane są trzy połączenia, jak opisano w poniższej tabeli.
Tabela 3-4. Mapowanie pinów Atmel-ICE UPDI
Pin portu Atmel-ICE AVR | Piny docelowe | Przypinka mini-kałamarnica |
Układ pinów Atmel STK600 UPDI |
Pin 1 (TCK) | 1 | ||
Styk 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | UPDI_DATA | 3 | 1 |
Pin 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | [/RESETUJ sens] | 6 | 5 |
Pin 7 (nie podłączony) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Styk 10 (GND) | 0 |
3.6 Łączenie z obiektem docelowym debugWIRE
Zalecany układ pinów dla 6-pinowego złącza debugWIRE (SPI) pokazano w tabeli 3-6.
Podłączenie do 6-pinowego złącza SPI 100 mil
Użyj 6-pinowego złącza 100-mil na płaskim kablu (dołączonego do niektórych zestawów), aby podłączyć do standardowego złącza SPI 100-mil.
Podłączenie do 6-pinowego złącza SPI 50 mil
Użyj karty adaptera (dołączonej do niektórych zestawów), aby podłączyć do standardowego złącza SPI 50 mil.
Połączenie z niestandardowym złączem 100-mil
Do połączenia portu złącza Atmel-ICE AVR z płytką docelową należy użyć 10-pinowego kabla mini-squid. Wymagane są trzy połączenia, jak opisano w tabeli 3-5.
Chociaż interfejs debugWIRE wymaga tylko jednej linii sygnałowej (RESET), VCC i GND do prawidłowego działania, zaleca się dostęp do pełnego złącza SPI, aby można było włączać i wyłączać interfejs debugWIRE za pomocą programowania SPI.
Gdy bezpiecznik DWEN jest włączony, interfejs SPI jest wewnętrznie nadpisany, aby moduł OCD miał kontrolę nad pinem RESET. DebWIRE OCD może tymczasowo wyłączyć się (za pomocą przycisku na karcie debugowania w oknie dialogowym właściwości w Atmel Studio), uwalniając w ten sposób kontrolę nad linią RESET. Interfejs SPI jest wówczas ponownie dostępny (tylko jeśli zaprogramowany jest bezpiecznik SPIEN), co pozwala na odprogramowanie bezpiecznika DWEN za pomocą interfejsu SPI. Jeżeli zasilanie zostanie przełączone przed odprogramowaniem bezpiecznika DWEN, moduł debugWIRE ponownie przejmie kontrolę nad pinem RESET.
Notatka:
Zdecydowanie zaleca się, aby po prostu pozwolić Atmel Studio zająć się ustawianiem i kasowaniem bezpiecznika DWEN.
Nie jest możliwe użycie interfejsu debugWIRE, jeśli zaprogramowane są bity blokujące na docelowym urządzeniu AVR. Zawsze upewnij się, że bity blokujące zostały wyczyszczone przed zaprogramowaniem bezpiecznika DWEN i nigdy nie ustawiaj bitów blokujących, gdy bezpiecznik DWEN jest zaprogramowany. Jeśli ustawiony jest zarówno bezpiecznik włączający debugWIRE (DWEN), jak i bity blokujące, można użyć High Voltage Programowanie w celu usunięcia chipa, a tym samym usunięcia bitów blokujących.
Po wyczyszczeniu bitów blokujących interfejs debugWIRE zostanie ponownie włączony. Interfejs SPI jest w stanie odczytać bezpieczniki, odczytać sygnaturę i wykonać kasowanie chipa tylko wtedy, gdy bezpiecznik DWEN nie jest zaprogramowany.
Tabela 3-5. Mapowanie pinów debugWIRE firmy Atmel-ICE
Pin portu Atmel-ICE AVR | Piny docelowe |
Przypinka mini-kałamarnica |
Pin 1 (TCK) | 1 | |
Styk 2 (GND) | GND | 2 |
Pin 3 (TDO) | 3 | |
Pin 4 (VTG) | VTG | 4 |
Pin 5 (TMS) | 5 | |
Pin 6 (nSRST) | NASTAWIĆ | 6 |
Pin 7 (nie podłączony) | 7 | |
Pin 8 (nTRST) | 8 | |
Pin 9 (TDI) | 9 | |
Styk 10 (GND) | 0 |
3.7 Łączenie z obiektem docelowym SPI
Zalecany układ pinów dla 6-pinowego złącza SPI pokazano na rysunku 4-10.
Podłączenie do 6-pinowego złącza SPI 100 mil
Użyj 6-pinowego złącza 100-mil na płaskim kablu (dołączonego do niektórych zestawów), aby podłączyć do standardowego złącza SPI 100-mil.
Podłączenie do 6-pinowego złącza SPI 50 mil
Użyj karty adaptera (dołączonej do niektórych zestawów), aby podłączyć do standardowego złącza SPI 50 mil.
Połączenie z niestandardowym złączem 100-mil
Do połączenia portu złącza Atmel-ICE AVR z płytką docelową należy użyć 10-pinowego kabla mini-squid. Wymaganych jest sześć połączeń, jak opisano w poniższej tabeli.
Ważny:
Interfejs SPI jest skutecznie wyłączany, gdy zaprogramowany jest bezpiecznik włączający debugWIRE (DWEN), nawet jeśli zaprogramowany jest również bezpiecznik SPIEN. Aby ponownie włączyć interfejs SPI, należy wydać polecenie „disable debugWIRE” podczas sesji debugowania debugWIRE. Wyłączenie debugWIRE w ten sposób wymaga zaprogramowania bezpiecznika SPIEN. Jeśli Atmel Studio nie wyłączy debugWIRE, jest to prawdopodobne, ponieważ bezpiecznik SPIEN NIE jest zaprogramowany. W takim przypadku konieczne jest użycie środka o dużej objętościtagInterfejs programistyczny do programowania bezpiecznika SPIEN.
Informacja:
Interfejs SPI jest często określany jako „ISP”, ponieważ był to pierwszy interfejs programowania systemowego w produktach Atmel AVR. Inne interfejsy są teraz dostępne do programowania w systemie.
Tabela 3-6. Mapowanie pinów SPI Atmel-ICE
Piny portu Atmel-ICE AVR | Piny docelowe | Przypinka mini-kałamarnica |
Pinout SPI |
Pin 1 (TCK) | SCK | 1 | 3 |
Styk 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | MISO | 3 | 1 |
Pin 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | / RESETOWANIE | 6 | 5 |
Pin 7 (nie podłączony) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | MOSI | 9 | 4 |
Styk 10 (GND) | 0 |
3.8 Łączenie z obiektem docelowym TPI
Zalecany układ pinów dla 6-pinowego złącza TPI pokazano na rysunku 4-13.
Podłączenie do 6-pinowego złącza TPI 100 mil
Użyj 6-pinowego złącza 100-mil na płaskim kablu (dołączonego do niektórych zestawów), aby podłączyć do standardowego złącza TPI 100-mil.
Podłączenie do 6-pinowego złącza TPI 50 mil
Użyj karty adaptera (dołączonej do niektórych zestawów), aby podłączyć do standardowego złącza TPI 50 mil.
Połączenie z niestandardowym złączem 100-mil
Do połączenia portu złącza Atmel-ICE AVR z płytką docelową należy użyć 10-pinowego kabla mini-squid. Wymaganych jest sześć połączeń, jak opisano w poniższej tabeli.
Tabela 3-7. Mapowanie pinów TPI Atmel-ICE
Piny portu Atmel-ICE AVR | Piny docelowe | Przypinka mini-kałamarnica |
Pinout TPI |
Pin 1 (TCK) | ZEGAR | 1 | 3 |
Styk 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | DANE | 3 | 1 |
Pin 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 |
Pin 6 (nSRST) | / RESETOWANIE | 6 | 5 |
Pin 7 (nie podłączony) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Styk 10 (GND) | 0 |
3.9 Łączenie z obiektem docelowym SWD
Interfejs ARM SWD jest podzbiorem interfejsu JTAG interfejs wykorzystujący piny TCK i TMS, co oznacza, że w przypadku podłączenia do urządzenia SWD, 10-pinowe złącze JTAG złącze może być technicznie wykorzystane. ARMJTAG i AVRJTAG złącza nie są jednak kompatybilne z pinami, więc zależy to od układu używanej płyty docelowej. Podczas korzystania ze STK600 lub płyty korzystającej z AVR JTAG pinów, należy użyć portu złącza AVR w Atmel-ICE. Podczas podłączania do płytki korzystającej z interfejsu ARM JTAG pinów, należy użyć portu złącza SAM w Atmel-ICE.
Zalecany układ pinów dla 10-pinowego złącza Cortex Debug pokazano na rysunku 4-4.
Podłączenie do 10-pinowego złącza Cortex o średnicy 50 mil
Użyj płaskiego kabla (dołączonego do niektórych zestawów), aby podłączyć do standardowego złącza Cortex 50 mil.
Podłączenie do 10-pinowego złącza Cortex o średnicy 100 mil
Użyj płytki adaptera (dołączonej do niektórych zestawów), aby podłączyć do 100-milimetrowego złącza Cortex-pinout.
Podłączenie do 20-pinowego złącza SAM 100-mil
Użyj karty adaptera (dołączonej do niektórych zestawów), aby podłączyć do 20-pinowego złącza SAM 100-mil.
Połączenie z niestandardowym złączem 100-mil
Do połączenia portu złącza Atmel-ICE AVR lub SAM z płytką docelową należy użyć 10-pinowego kabla mini-squid. Wymaganych jest sześć połączeń, jak opisano w poniższej tabeli.
Tabela 3-8. Mapowanie pinów Atmel-ICE SWD
Nazwa | AVR szpilka portu | SAM szpilka portu | Opis |
SWDC ŁK | 1 | 4 | Zegar debugowania przewodu szeregowego. |
SWDIO | 5 | 2 | Wejście/wyjście danych debugowania przewodu szeregowego. |
SWO | 3 | 6 | Wyjście szeregowe (opcjonalne – nie zaimplementowane na wszystkich urządzeniach). |
nSRST | 6 | 10 | Nastawić. |
VTG | 4 | 1 | Objętość docelowatagodniesienie. |
GND | 2, 10 | 3, 5, 9 | Grunt. |
3.10 Podłączanie do interfejsu Data Gateway
Atmel-ICE obsługuje ograniczony interfejs Data Gateway (DGI), gdy nie jest używane debugowanie i programowanie. Funkcjonalność jest identyczna z tą, którą można znaleźć w zestawach Atmel Xplained Pro zasilanych przez urządzenie Atmel EDBG.
Interfejs Data Gateway to interfejs umożliwiający strumieniowe przesyłanie danych z urządzenia docelowego do komputera. Ma to na celu pomoc w debugowaniu aplikacji, a także demonstrację funkcji aplikacji działającej na urządzeniu docelowym.
DGI składa się z wielu kanałów przesyłania strumieniowego danych. Atmel-ICE obsługuje następujące tryby:
- USART
- SPI
Tabela 3-9. Pinout Atmel-ICE DGI USART
Port AVR-a |
portu SAMA | Pin DGI USART |
Opis |
3 | 6 | TX | Prześlij pin z Atmel-ICE do urządzenia docelowego |
4 | 1 | VTG | Objętość docelowatage (odniesienie tomtage) |
8 | 7 | RX | Odbierz pin z urządzenia docelowego do Atmel-ICE |
9 | 8 | CLK | Zegar USART |
2, 10 | 3, 5, 9 | GND | Grunt |
Tabela 3-10. Pinout Atmel-ICE DGI SPI
Port AVR-a |
portu SAMA | Pin SPI DGI |
Opis |
1 | 4 | SCK | Zegar SPI |
3 | 6 | MISO | Mistrz w Slave Out |
4 | 1 | VTG | Objętość docelowatage (odniesienie tomtage) |
5 | 2 | nCS | Wybór chipa aktywny, niski |
9 | 8 | MOSI | Master Out Slave In |
2, 10 | 3, 5, 9 | GND | Grunt |
Ważny: Interfejsy SPI i USART nie mogą być używane jednocześnie.
Ważny: DGI i programowanie lub debugowanie nie mogą być używane jednocześnie.
Debugowanie na chipie
4.1 Wprowadzenie
Debugowanie na chipie
Wbudowany moduł debugowania to system umożliwiający programiście monitorowanie i kontrolowanie wykonywania na urządzeniu z zewnętrznej platformy programistycznej, zwykle za pośrednictwem urządzenia zwanego debugerem lub adapterem debugowania.
Dzięki systemowi OCD aplikacja może być wykonywana przy zachowaniu dokładnych parametrów elektrycznych i czasowych w systemie docelowym, a jednocześnie może zatrzymać wykonywanie warunkowo lub ręcznie i sprawdzić przepływ programu i pamięć.
Tryb pracy
W trybie Run wykonanie kodu jest całkowicie niezależne od Atmel-ICE. Atmel-ICE będzie stale monitorować urządzenie docelowe, aby sprawdzić, czy nie wystąpiło uszkodzenie. Kiedy tak się stanie, system OCD przepyta urządzenie poprzez interfejs debugowania, umożliwiając użytkownikowi to view stan wewnętrzny urządzenia.
Tryb zatrzymania
Po osiągnięciu punktu przerwania wykonywanie programu zostaje zatrzymane, ale niektóre operacje we/wy mogą nadal działać, tak jakby punkt przerwania nie wystąpił. Na przykładample, załóżmy, że transmisja USART została właśnie zainicjowana po osiągnięciu punktu przerwania. W tym przypadku USART kontynuuje pracę z pełną prędkością, kończąc transmisję, nawet jeśli rdzeń jest w trybie zatrzymania.
Sprzętowe punkty przerwania
Docelowy moduł OCD zawiera szereg komparatorów liczników programów zaimplementowanych sprzętowo. Kiedy licznik programu odpowiada wartości zapisanej w jednym z rejestrów komparatora, OCD przechodzi w tryb zatrzymania. Ponieważ sprzętowe punkty przerwania wymagają dedykowanego sprzętu w module OCD, liczba dostępnych punktów przerwania zależy od rozmiaru modułu OCD zaimplementowanego w celu. Zwykle jeden taki komparator sprzętowy jest „zarezerwowany” przez debugger do użytku wewnętrznego.
Punkty przerwania oprogramowania
Programowy punkt przerwania to instrukcja break umieszczona w pamięci programu na urządzeniu docelowym. Po załadowaniu tej instrukcji wykonywanie programu zostanie przerwane, a OCD przejdzie w tryb zatrzymania. Aby kontynuować wykonywanie, należy wydać polecenie „start” z OCD. Nie wszystkie urządzenia Atmela posiadają moduły OCD obsługujące instrukcję break.
4.2 Urządzenia SAM z JTAG/ SWD
Wszystkie urządzenia SAM posiadają interfejs SWD do programowania i debugowania. Ponadto niektóre urządzenia SAM są wyposażone w złącze JTAG interfejs o identycznej funkcjonalności. Sprawdź arkusz danych urządzenia pod kątem obsługiwanych interfejsów tego urządzenia.
4.2.1. Komponenty ARM CoreSight
Mikrokontrolery Atmel oparte na Cortex-M wykorzystują komponenty OCD zgodne z CoreSight. Funkcje tych komponentów mogą się różnić w zależności od urządzenia. Więcej informacji można znaleźć w arkuszu danych urządzenia oraz dokumentacji CoreSight dostarczonej przez firmę ARM.
4.2.1.Ż.TAG Interfejs fizyczny
JTAG interfejs składa się z 4-przewodowego kontrolera portu testowego (TAP) zgodnego ze standardem IEEE® Norma 1149.1. Standard IEEE został opracowany w celu zapewnienia zgodnego ze standardami branżowymi sposobu wydajnego testowania łączności płytek drukowanych (skanowanie graniczne). Urządzenia Atmel AVR i SAM rozszerzyły tę funkcjonalność o pełną obsługę programowania i debugowania na chipie.
Rysunek 4-1. JTAG Podstawy interfejsu
4.2.2.1 SAM JTAG Pinout (złącze debugowania Cortex-M)
Projektując płytkę PCB aplikacji, która zawiera Atmel SAM z interfejsem JTAG interfejsu, zaleca się użycie układu pinów jak pokazano na poniższym rysunku. Obsługiwane są zarówno warianty 100-milimetrowe, jak i 50-milowe tego układu pinów, w zależności od okablowania i adapterów dołączonych do konkretnego zestawu.
Rysunek 4-2. SAMA JTAG Pinout nagłówka
Tabela 4-1. SAMA JTAG Opis pinezki
Nazwa | Szpilka |
Opis |
TCK | 4 | Zegar testowy (sygnał zegarowy z Atmel-ICE do urządzenia docelowego). |
TMS | 2 | Wybór trybu testowego (sygnał sterujący z Atmel-ICE do urządzenia docelowego). |
TDI | 8 | Test Data In (dane przesyłane z Atmel-ICE do urządzenia docelowego). |
TDO | 6 | Test Data Out (dane przesyłane z urządzenia docelowego do Atmel-ICE). |
nRESETUJ | 10 | Zresetuj (opcjonalnie). Służy do resetowania urządzenia docelowego. Podłączenie tego styku jest zalecane, ponieważ umożliwia Atmel-ICE utrzymanie urządzenia docelowego w stanie resetowania, co w niektórych scenariuszach może być niezbędne do debugowania. |
VTG | 1 | Objętość docelowatage-odniesienie. Atmel-ICE samples docelowa objętośćtage na tym pinie, aby prawidłowo zasilać przetworniki poziomu. W tym trybie Atmel-ICE pobiera z tego pinu mniej niż 1 mA. |
GND | 3, 5, 9 | Grunt. Wszystko musi być połączone, aby zapewnić, że Atmel-ICE i urządzenie docelowe mają to samo odniesienie do masy. |
KLAWISZ | 7 | Podłączany wewnętrznie do styku TRST złącza AVR. Zalecane jako niepodłączone. |
Wskazówka: Pamiętaj o umieszczeniu kondensatora odsprzęgającego pomiędzy pinem 1 a GND.
4.2.2.2 JTAG Stokrotka Łańcuchowanie
JTAG interfejs pozwala na podłączenie kilku urządzeń do jednego interfejsu w konfiguracji łańcuchowej. Wszystkie urządzenia docelowe muszą być zasilane tym samym napięciem zasilaniatage, mają wspólny węzeł uziemiający i muszą być podłączone w sposób pokazany na poniższym rysunku.
Rysunek 4-3. JTAG Łańcuch stokrotek
Podczas łączenia urządzeń w łańcuchu należy wziąć pod uwagę następujące punkty:
- Wszystkie urządzenia muszą mieć wspólną masę, połączoną z GND na sondzie Atmel-ICE
- Wszystkie urządzenia muszą działać na tej samej docelowej objętościtagmi. VTG na Atmel-ICE musi być podłączony do tego tomutage.
- TMS i TCK są połączone równolegle; TDI i TDO są połączone szeregowo
- nSRST na sondzie Atmel-ICE musi być podłączony do RESET na urządzeniach, jeśli którekolwiek z urządzeń w łańcuchu wyłącza swoje JTAG port
- „Urządzenia przed” odnosi się do liczby JTAG urządzeń, przez które sygnał TDI musi przejść w łańcuchu, zanim dotrze do urządzenia docelowego. Podobnie „urządzenia po” to liczba urządzeń, przez które sygnał musi przejść za urządzeniem docelowym, zanim dotrze do TDO Atmel-ICE
- „Bity instrukcji „przed” i „po” odnoszą się do całkowitej sumy wszystkich operacji JTAG długości rejestrów instrukcji urządzeń, które są połączone przed i za urządzeniem docelowym w łańcuchu
- Całkowita długość IR (bity instrukcji przed + długość IR urządzenia docelowego Atmel + bity instrukcji po) jest ograniczona do maksymalnie 256 bitów. Liczba urządzeń w łańcuchu jest ograniczona do 15 przed i 15 po.
Wskazówka:
Połączenie łańcuchowe npampplik: TDI → ATmega1280 → ATxmega128A1 → ATUC3A0512 → TDO.
Aby połączyć się z Atmel AVR XMEGA® urządzenia, ustawienia połączenia łańcuchowego są następujące:
- Urządzenia przed: 1
- Urządzenia po: 1
- Bity instrukcji przed: 4 (8-bitowe urządzenia AVR mają 4 bity IR)
- Bity instrukcji po: 5 (32-bitowe urządzenia AVR mają 5 bitów IR)
Tabela 4-2. Długości IR mikrokontrolerów Atmel
Typ urządzenia | Długość podczerwieni |
AVR 8-bitowy | 4 bitów |
AVR 32-bitowy | 5 bitów |
SAM | 4 bitów |
4.2.3. Podłączenie do JTAG Cel
Atmel-ICE jest wyposażony w dwa 50-pinowe złącza JTAG złącza. Obydwa złącza są bezpośrednio połączone elektrycznie, ale mają dwa różne układy pinów; AVRJTAG nagłówek i nagłówek debugowania ARM Cortex. Złącze należy wybrać w oparciu o układ pinów docelowej płytki, a nie docelowy typ MCU – npample urządzenie SAM zamontowane w stosie AVR STK600 powinno używać nagłówka AVR.
Zalecany układ pinów dla 10-pinowego AVR JTAG złącze pokazano na rysunku 4-6.
Zalecany układ pinów dla 10-pinowego złącza ARM Cortex Debug pokazano na rysunku 4-2.
Bezpośrednie połączenie ze standardowym 10-pinowym złączem 50-milimetrowym
Użyj 50-pinowego płaskiego kabla o długości 10 mil (dołączonego do niektórych zestawów), aby podłączyć bezpośrednio do płyty obsługującej ten typ złącza. Użyj portu złącza AVR w Atmel-ICE dla nagłówków z układem pinów AVR i portu złącza SAM dla nagłówków zgodnych z układem pinów nagłówka ARM Cortex Debug.
Poniżej pokazano rozkład pinów obu 10-pinowych portów złącza.
Podłączenie do standardowego 10-pinowego złącza 100-mil
Użyj standardowego adaptera 50-mil do 100-mil, aby podłączyć do nagłówków 100-mil. Można do tego celu użyć płytki adaptera (dołączonej do niektórych zestawów) lub alternatywnie adaptera JTAGAdapter ICE3 może być używany do celów AVR.
Ważny:
JTAGAdaptera ICE3 100-mil nie można używać z portem złącza SAM, ponieważ styki 2 i 10 (AVR GND) adaptera są połączone.
Połączenie z niestandardowym złączem 100-mil
Jeśli Twoja płyta docelowa nie jest wyposażona w zgodne 10-pinowe złącze JTAG nagłówek w rozmiarze 50 lub 100 mil, można przypisać niestandardowy układ pinów za pomocą 10-pinowego kabla „mini-squid” (dołączonego do niektórych zestawów), który zapewnia dostęp do dziesięciu oddzielnych gniazd 100 mil.
Podłączenie do 20-pinowego złącza 100-milimetrowego
Użyj karty adaptera (dołączonej do niektórych zestawów), aby połączyć się z obiektami docelowymi za pomocą 20-pinowego złącza 100-mil.
Tabela 4-3. Atmel-ICE JTAG Opis pinezki
Nazwa | AVR szpilka portu | SAM szpilka portu | Opis |
TCK | 1 | 4 | Zegar testowy (sygnał zegarowy z Atmel-ICE do urządzenia docelowego). |
TMS | 5 | 2 | Wybór trybu testowego (sygnał sterujący z Atmel-ICE do urządzenia docelowego). |
TDI | 9 | 8 | Test Data In (dane przesyłane z Atmel-ICE do urządzenia docelowego). |
TDO | 3 | 6 | Test Data Out (dane przesyłane z urządzenia docelowego do Atmel-ICE). |
nTRST | 8 | – | Reset testowy (opcjonalny, tylko w niektórych urządzeniach AVR). Służy do resetowania JTAG Kontroler TAP. |
nSRST | 6 | 10 | Zresetuj (opcjonalnie). Służy do resetowania urządzenia docelowego. Podłączenie tego styku jest zalecane, ponieważ umożliwia Atmel-ICE utrzymanie urządzenia docelowego w stanie resetowania, co w niektórych scenariuszach może być niezbędne do debugowania. |
VTG | 4 | 1 | Objętość docelowatage-odniesienie. Atmel-ICE samples docelowa objętośćtage na tym pinie, aby prawidłowo zasilać przetworniki poziomu. Atmel-ICE pobiera z tego pinu mniej niż 3 mA w trybie debugWIRE i mniej niż 1 mA w innych trybach. |
GND | 2, 10 | 3, 5, 9 | Grunt. Wszystko musi być połączone, aby zapewnić, że Atmel-ICE i urządzenie docelowe mają to samo odniesienie do masy. |
4.2.4. Interfejs fizyczny SWD
Interfejs ARM SWD jest podzbiorem interfejsu JTAG interfejs, wykorzystujący piny TCK i TMS. ARMJTAG i AVRJTAG złącza nie są jednak kompatybilne z pinami, więc przy projektowaniu płytki PCB aplikacji, która wykorzystuje urządzenie SAM z SWD lub JTAG interfejsu, zaleca się użycie układu pinów ARM pokazanego na rysunku poniżej. Port złącza SAM w Atmel-ICE można podłączyć bezpośrednio do tego pinoutu.
Rysunek 4-4. Zalecane ARM SWD/JTAG Pinout nagłówka
Atmel-ICE może przesyłać strumieniowo ślady ITM w formacie UART do komputera hosta. Ślad jest przechwytywany na pinie TRACE/SWO 10-pinowego złącza (JTAG pin TDO). Dane są buforowane wewnętrznie w Atmel-ICE i przesyłane poprzez interfejs HID do komputera hosta. Maksymalna niezawodna szybkość transmisji danych wynosi około 3 MB/s.
4.2.5. Łączenie z obiektem docelowym SWD
Interfejs ARM SWD jest podzbiorem interfejsu JTAG interfejs wykorzystujący piny TCK i TMS, co oznacza, że w przypadku podłączenia do urządzenia SWD, 10-pinowe złącze JTAG złącze może być technicznie wykorzystane. ARMJTAG i AVRJTAG złącza nie są jednak kompatybilne z pinami, więc zależy to od układu używanej płyty docelowej. Podczas korzystania ze STK600 lub płyty korzystającej z AVR JTAG pinów, należy użyć portu złącza AVR w Atmel-ICE. Podczas podłączania do płytki korzystającej z interfejsu ARM JTAG pinów, należy użyć portu złącza SAM w Atmel-ICE.
Zalecany układ pinów dla 10-pinowego złącza Cortex Debug pokazano na rysunku 4-4.
Podłączenie do 10-pinowego złącza Cortex o średnicy 50 mil
Użyj płaskiego kabla (dołączonego do niektórych zestawów), aby podłączyć do standardowego złącza Cortex 50 mil.
Podłączenie do 10-pinowego złącza Cortex o średnicy 100 mil
Użyj płytki adaptera (dołączonej do niektórych zestawów), aby podłączyć do 100-milimetrowego złącza Cortex-pinout.
Podłączenie do 20-pinowego złącza SAM 100-mil
Użyj karty adaptera (dołączonej do niektórych zestawów), aby podłączyć do 20-pinowego złącza SAM 100-mil.
Połączenie z niestandardowym złączem 100-mil
Do połączenia portu złącza Atmel-ICE AVR lub SAM z płytką docelową należy użyć 10-pinowego kabla mini-squid. Wymaganych jest sześć połączeń, jak opisano w poniższej tabeli.
Tabela 4-4. Mapowanie pinów Atmel-ICE SWD
Nazwa | AVR szpilka portu | SAM szpilka portu | Opis |
SWDC ŁK | 1 | 4 | Zegar debugowania przewodu szeregowego. |
SWDIO | 5 | 2 | Wejście/wyjście danych debugowania przewodu szeregowego. |
SWO | 3 | 6 | Wyjście szeregowe (opcjonalne – nie zaimplementowane na wszystkich urządzeniach). |
nSRST | 6 | 10 | Nastawić. |
VTG | 4 | 1 | Objętość docelowatagodniesienie. |
GND | 2, 10 | 3, 5, 9 | Grunt. |
4.2.6 Uwagi specjalne
USUŃ pinezkę
Niektóre urządzenia SAM zawierają pin ERASE, którego zadaniem jest całkowite wymazanie chipa i odblokowanie urządzeń, w których ustawiony jest bit bezpieczeństwa. Ta funkcja jest połączona z samym urządzeniem, a także kontrolerem lampy błyskowej i nie jest częścią rdzenia ARM.
Pin ERASE NIE jest częścią żadnego nagłówka debugowania, w związku z czym Atmel-ICE nie jest w stanie zapewnić tego sygnału w celu odblokowania urządzenia. W takich przypadkach użytkownik powinien wykonać kasowanie ręcznie przed rozpoczęciem sesji debugowania.
Interfejsy fizyczne JTAG interfejs
Linia RESET powinna być zawsze podłączona, aby Atmel-ICE mógł włączyć funkcję JTAG interfejs.
interfejs SWD
Linię RESET należy zawsze podłączyć tak, aby Atmel-ICE mógł włączyć interfejs SWD.
4.3 Urządzenia AVR UC3 z JTAG/przewód
Wszystkie urządzenia AVR UC3 są wyposażone w technologię JTAG interfejs do programowania i debugowania. Ponadto niektóre urządzenia AVR UC3 są wyposażone w interfejs aWire z identyczną funkcjonalnością przy użyciu jednego przewodu. Sprawdź arkusz danych urządzenia pod kątem obsługiwanych interfejsów tego urządzenia
4.3.1 Wbudowany system debugowania Atmel AVR UC3
System Atmel AVR UC3 OCD został zaprojektowany zgodnie ze standardem Nexus 2.0 (IEEE-ISTO 5001™-2003), który jest wysoce elastycznym i wydajnym, otwartym standardem debugowania na chipie dla 32-bitowych mikrokontrolerów. Obsługuje następujące funkcje:
- Rozwiązanie do debugowania zgodne z Nexusem
- OCD obsługuje dowolną prędkość procesora
- Sześć punktów przerwania sprzętowego licznika programów
- Dwa punkty przerwania danych
- Punkty przerwania można skonfigurować jako punkty obserwacyjne
- Sprzętowe punkty przerwania można łączyć, aby uzyskać przerwę w zakresach
- Nieograniczona liczba punktów przerwania programu użytkownika (za pomocą break)
- Śledzenie gałęzi licznika programu w czasie rzeczywistym, śledzenie danych, śledzenie procesu (obsługiwane tylko przez debugery z równoległym portem przechwytywania śledzenia)
Aby uzyskać więcej informacji na temat systemu AVR UC3 OCD, zapoznaj się z podręcznikami technicznymi AVR32UC, znajdującymi się na stronie www.atmel.com/uc3.
4.3.2.Ż.TAG Interfejs fizyczny
JTAG interfejs składa się z 4-przewodowego kontrolera portu testowego (TAP) zgodnego ze standardem IEEE® Norma 1149.1. Standard IEEE został opracowany w celu zapewnienia zgodnego ze standardami branżowymi sposobu wydajnego testowania łączności płytek drukowanych (skanowanie graniczne). Urządzenia Atmel AVR i SAM rozszerzyły tę funkcjonalność o pełną obsługę programowania i debugowania na chipie.
Rysunek 4-5. JTAG Podstawy interfejsu
4.3.2.1 AVR JTAG Wyprowadzenia
Projektując płytkę drukowaną aplikacji, która obejmuje AVR Atmel z interfejsem JTAG interfejsu, zaleca się użycie układu pinów jak pokazano na poniższym rysunku. Obsługiwane są zarówno warianty 100-milimetrowe, jak i 50-milowe tego układu pinów, w zależności od okablowania i adapterów dołączonych do konkretnego zestawu.
Rysunek 4-6. AVR JTAG Pinout nagłówka
Tabela 4-5. AVR JTAG Opis pinezki
Nazwa | Szpilka |
Opis |
TCK | 1 | Zegar testowy (sygnał zegarowy z Atmel-ICE do urządzenia docelowego). |
TMS | 5 | Wybór trybu testowego (sygnał sterujący z Atmel-ICE do urządzenia docelowego). |
TDI | 9 | Test Data In (dane przesyłane z Atmel-ICE do urządzenia docelowego). |
TDO | 3 | Test Data Out (dane przesyłane z urządzenia docelowego do Atmel-ICE). |
nTRST | 8 | Reset testowy (opcjonalny, tylko w niektórych urządzeniach AVR). Służy do resetowania JTAG Kontroler TAP. |
nSRST | 6 | Zresetuj (opcjonalnie). Służy do resetowania urządzenia docelowego. Podłączenie tego styku jest zalecane, ponieważ umożliwia Atmel-ICE utrzymanie urządzenia docelowego w stanie resetowania, co w niektórych scenariuszach może być niezbędne do debugowania. |
VTG | 4 | Objętość docelowatage-odniesienie. Atmel-ICE samples docelowa objętośćtage na tym pinie, aby prawidłowo zasilać przetworniki poziomu. Atmel-ICE pobiera z tego pinu mniej niż 3 mA w trybie debugWIRE i mniej niż 1 mA w innych trybach. |
GND | 2, 10 | Grunt. Obydwa muszą być połączone, aby zapewnić, że Atmel-ICE i urządzenie docelowe będą miały to samo odniesienie do masy. |
Wskazówka: Pamiętaj o umieszczeniu kondensatora odsprzęgającego pomiędzy pinem 4 a GND.
4.3.2.2 JTAG Stokrotka Łańcuchowanie
JTAG interfejs pozwala na podłączenie kilku urządzeń do jednego interfejsu w konfiguracji łańcuchowej. Wszystkie urządzenia docelowe muszą być zasilane tym samym napięciem zasilaniatage, mają wspólny węzeł uziemiający i muszą być podłączone w sposób pokazany na poniższym rysunku.
Rysunek 4-7. JTAG Łańcuch stokrotek
Podczas łączenia urządzeń w łańcuchu należy wziąć pod uwagę następujące punkty:
- Wszystkie urządzenia muszą mieć wspólną masę, połączoną z GND na sondzie Atmel-ICE
- Wszystkie urządzenia muszą działać na tej samej docelowej objętościtagmi. VTG na Atmel-ICE musi być podłączony do tego tomutage.
- TMS i TCK są połączone równolegle; TDI i TDO są połączone szeregowo.
- nSRST na sondzie Atmel-ICE musi być podłączony do RESET na urządzeniach, jeśli którekolwiek z urządzeń w łańcuchu wyłącza swoje JTAG port
- „Urządzenia przed” odnosi się do liczby JTAG urządzeń, przez które sygnał TDI musi przejść w łańcuchu, zanim dotrze do urządzenia docelowego. Podobnie „urządzenia po” to liczba urządzeń, przez które sygnał musi przejść za urządzeniem docelowym, zanim dotrze do TDO Atmel-ICE
- „Bity instrukcji „przed” i „po” odnoszą się do całkowitej sumy wszystkich operacji JTAG długości rejestrów instrukcji urządzeń, które są połączone przed i za urządzeniem docelowym w łańcuchu
- Całkowita długość IR (bity instrukcji przed + długość IR urządzenia docelowego Atmel + bity instrukcji po) jest ograniczona do maksymalnie 256 bitów. Liczba urządzeń w łańcuchu jest ograniczona do 15 przed i 15 po.
Wskazówka:
Połączenie łańcuchowe npampplik: TDI → ATmega1280 → ATxmega128A1 → ATUC3A0512 → TDO.
Aby połączyć się z Atmel AVR XMEGA® urządzenia, ustawienia połączenia łańcuchowego są następujące:
- Urządzenia przed: 1
- Urządzenia po: 1
- Bity instrukcji przed: 4 (8-bitowe urządzenia AVR mają 4 bity IR)
- Bity instrukcji po: 5 (32-bitowe urządzenia AVR mają 5 bitów IR)
Tabela 4-6. Długości IR Atmel MCUS
Typ urządzenia | Długość podczerwieni |
AVR 8-bitowy | 4 bitów |
AVR 32-bitowy | 5 bitów |
SAM | 4 bitów |
4.3.3.Podłączanie do gniazda JTAG Cel
Atmel-ICE jest wyposażony w dwa 50-pinowe złącza JTAG złącza. Obydwa złącza są bezpośrednio połączone elektrycznie, ale mają dwa różne układy pinów; AVRJTAG nagłówek i nagłówek debugowania ARM Cortex. Złącze należy wybrać w oparciu o układ pinów docelowej płytki, a nie docelowy typ MCU – npample urządzenie SAM zamontowane w stosie AVR STK600 powinno używać nagłówka AVR.
Zalecany układ pinów dla 10-pinowego AVR JTAG złącze pokazano na rysunku 4-6.
Zalecany układ pinów dla 10-pinowego złącza ARM Cortex Debug pokazano na rysunku 4-2.
Bezpośrednie połączenie ze standardowym 10-pinowym złączem 50-milimetrowym
Użyj 50-pinowego płaskiego kabla o długości 10 mil (dołączonego do niektórych zestawów), aby podłączyć bezpośrednio do płyty obsługującej ten typ złącza. Użyj portu złącza AVR w Atmel-ICE dla nagłówków z układem pinów AVR i portu złącza SAM dla nagłówków zgodnych z układem pinów nagłówka ARM Cortex Debug.
Poniżej pokazano rozkład pinów obu 10-pinowych portów złącza.
Podłączenie do standardowego 10-pinowego złącza 100-mil
Użyj standardowego adaptera 50-mil do 100-mil, aby podłączyć do nagłówków 100-mil. Można do tego celu użyć płytki adaptera (dołączonej do niektórych zestawów) lub alternatywnie adaptera JTAGAdapter ICE3 może być używany do celów AVR.
Ważny:
JTAGAdaptera ICE3 100-mil nie można używać z portem złącza SAM, ponieważ styki 2 i 10 (AVR GND) adaptera są połączone.
Połączenie z niestandardowym złączem 100-mil
Jeśli Twoja płyta docelowa nie jest wyposażona w zgodne 10-pinowe złącze JTAG nagłówek w rozmiarze 50 lub 100 mil, można przypisać niestandardowy układ pinów za pomocą 10-pinowego kabla „mini-squid” (dołączonego do niektórych zestawów), który zapewnia dostęp do dziesięciu oddzielnych gniazd 100 mil.
Podłączenie do 20-pinowego złącza 100-milimetrowego
Użyj karty adaptera (dołączonej do niektórych zestawów), aby połączyć się z obiektami docelowymi za pomocą 20-pinowego złącza 100-mil.
Tabela 4-7. Atmel-ICE JTAG Opis pinezki
Nazwa |
Pin portu AVR | Pin portu SAM |
Opis |
TCK | 1 | 4 | Zegar testowy (sygnał zegarowy z Atmel-ICE do urządzenia docelowego). |
TMS | 5 | 2 | Wybór trybu testowego (sygnał sterujący z Atmel-ICE do urządzenia docelowego). |
TDI | 9 | 8 | Test Data In (dane przesyłane z Atmel-ICE do urządzenia docelowego). |
TDO | 3 | 6 | Test Data Out (dane przesyłane z urządzenia docelowego do Atmel-ICE). |
nTRST | 8 | – | Reset testowy (opcjonalny, tylko w niektórych urządzeniach AVR). Służy do resetowania JTAG Kontroler TAP. |
nSRST | 6 | 10 | Zresetuj (opcjonalnie). Służy do resetowania urządzenia docelowego. Podłączenie tego styku jest zalecane, ponieważ umożliwia Atmel-ICE utrzymanie urządzenia docelowego w stanie resetowania, co w niektórych scenariuszach może być niezbędne do debugowania. |
VTG | 4 | 1 | Objętość docelowatage-odniesienie. Atmel-ICE samples docelowa objętośćtage na tym pinie, aby prawidłowo zasilać przetworniki poziomu. Atmel-ICE pobiera z tego pinu mniej niż 3 mA w trybie debugWIRE i mniej niż 1 mA w innych trybach. |
GND | 2, 10 | 3, 5, 9 | Grunt. Wszystko musi być połączone, aby zapewnić, że Atmel-ICE i urządzenie docelowe mają to samo odniesienie do masy. |
4.3.4 Interfejs fizyczny aWire
Interfejs aWire wykorzystuje przewód RESET urządzenia AVR, aby umożliwić programowanie i debugowanie funkcji. Specjalna sekwencja włączająca jest przesyłana przez Atmel-ICE, która wyłącza domyślną funkcję RESET pinu. Podczas projektowania płytki PCB aplikacji, która zawiera AVR Atmel z interfejsem aWire, zaleca się użycie układu pinów, jak pokazano na rysunku 4 -8. Obsługiwane są zarówno warianty 100-milimetrowe, jak i 50-milowe tego układu pinów, w zależności od okablowania i adapterów dołączonych do konkretnego zestawu.
Rysunek 4-8. Pinout nagłówka aWire
Wskazówka:
Ponieważ aWire jest interfejsem półdupleksowym, zaleca się zastosowanie rezystora podciągającego na linii RESET rzędu 47 kΩ, aby uniknąć wykrywania fałszywego bitu startu podczas zmiany kierunku.
Interfejs aWire może być używany zarówno jako interfejs programowania, jak i debugowania. Wszystkie funkcje systemu OCD dostępne poprzez 10-pinowe złącze JTAG Dostęp do interfejsu można również uzyskać za pomocą aWire.
4.3.5 Łączenie z obiektem docelowym aWire
Interfejs aWire wymaga tylko jednej linii danych oprócz VCC i GND. W systemie docelowym ta linia jest linią nRESET, chociaż debuger używa biblioteki JTAG Linia TDO jako linia danych.
Zalecany układ pinów dla 6-pinowego złącza aWire pokazano na rysunku 4-8.
Podłączenie do 6-pinowego złącza aWire 100 mil
Użyj 6-pinowego odgałęzienia 100-mil na płaskim kablu (dołączonego do niektórych zestawów), aby podłączyć do standardowego złącza aWire 100-mil.
Podłączenie do 6-pinowego złącza aWire 50 mil
Użyj karty adaptera (dołączonej do niektórych zestawów), aby podłączyć do standardowego złącza aWire 50 mil.
Połączenie z niestandardowym złączem 100-mil
Do połączenia portu złącza Atmel-ICE AVR z płytką docelową należy użyć 10-pinowego kabla mini-squid. Wymagane są trzy połączenia, jak opisano w poniższej tabeli.
Tabela 4-8. Mapowanie pinów Atmel-ICE aWire
Piny portu Atmel-ICE AVR | Piny docelowe | Przypinka mini-kałamarnica |
aRozmieszczenie pinów przewodu |
Pin 1 (TCK) | 1 | ||
Styk 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | DANE | 3 | 1 |
Pin 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | 6 | ||
Pin 7 (nie podłączony) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Styk 10 (GND) | 0 |
4.3.6. Szczególne uwagi
JTAG interfejs
Na niektórych urządzeniach Atmel AVR UC3 interfejs JTAG port nie jest domyślnie włączony. Podczas korzystania z tych urządzeń konieczne jest podłączenie linii RESET, aby Atmel-ICE mógł włączyć funkcję JTAG interfejs.
Interfejs aWire
Szybkość transmisji komunikacji aWire zależy od częstotliwości zegara systemowego, ponieważ dane muszą być synchronizowane pomiędzy tymi dwiema domenami. Atmel-ICE automatycznie wykryje, że zegar systemowy został obniżony i odpowiednio ponownie skalibruje prędkość transmisji. Automatyczna kalibracja działa tylko do częstotliwości zegara systemowego wynoszącej 8 kHz. Przełączenie na niższy zegar systemowy podczas sesji debugowania może spowodować utratę kontaktu z celem.
W razie potrzeby prędkość transmisji aWire można ograniczyć, ustawiając parametr zegara aWire. Automatyczne wykrywanie będzie nadal działać, ale na wyniki zostanie nałożona wartość górna.
Jakikolwiek kondensator stabilizujący podłączony do pinu RESET musi być odłączony podczas korzystania z aWire, ponieważ będzie zakłócał poprawną pracę interfejsu. Zalecane jest słabe zewnętrzne podciągnięcie (10 kΩ lub więcej) na tej linii.
Wyłączenie trybu uśpienia
Niektóre urządzenia AVR UC3 posiadają wewnętrzny regulator, który może być używany w trybie zasilania 3.3 V z liniami wejścia/wyjścia regulowanymi napięciem 1.8 V. Oznacza to, że wewnętrzny regulator zasila zarówno rdzeń, jak i większość wejść/wyjść. Tylko Atmel AVR ONE! debugger obsługuje debugowanie podczas korzystania z trybów uśpienia, w których ten regulator jest wyłączony.
4.3.7. Korzystanie z EVTI / EVTO
Piny EVTI i EVTO nie są dostępne w Atmel-ICE. Można ich jednak nadal używać w połączeniu z innym sprzętem zewnętrznym.
EVTI można wykorzystać do następujących celów:
- Cel może zostać zmuszony do przerwania wykonywania w odpowiedzi na zdarzenie zewnętrzne. Jeśli bity kontroli zdarzenia (EIC) w rejestrze DC zostaną zapisane do wartości 0b01, przejście z wysokiego do niskiego stanu na pinie EVTI wygeneruje warunek punktu przerwania. Wartość EVTI musi pozostać niska przez jeden cykl zegara procesora, aby zagwarantować, że punktem przerwania będzie punkt przerwania. Bit zewnętrznego punktu przerwania (EXB) w DS jest ustawiany, gdy to nastąpi.
- Generowanie komunikatów synchronizacji śledzenia. Nieużywany przez Atmel-ICE.
EVTO można wykorzystać do następujących celów:
- Wskazywanie, że procesor wszedł w tryb debugowania. Ustawienie bitów EOS w DC na 0b01 powoduje, że pin EVTO jest obniżany przez jeden cykl zegara procesora, gdy urządzenie docelowe wchodzi w tryb debugowania. Sygnał ten może być wykorzystany jako źródło wyzwalania dla zewnętrznego oscyloskopu.
- Wskazuje, że procesor osiągnął punkt przerwania lub punkt kontrolny. Ustawiając bit EOC w odpowiednim rejestrze kontrolnym punktu przerwania/punktu obserwacji, stan punktu przerwania lub punktu obserwacji jest wskazywany na pinie EVTO. Aby włączyć tę funkcję, bity EOS w DC muszą być ustawione na 0xb10. Pin EVTO można następnie podłączyć do zewnętrznego oscyloskopu w celu sprawdzenia punktu obserwacyjnego
- Generowanie sygnałów taktowania śledzenia. Nieużywany przez Atmel-ICE.
Urządzenia tinyAVR, megaAVR i XMEGA 4.4
Urządzenia AVR posiadają różne interfejsy programowania i debugowania. Sprawdź arkusz danych urządzenia pod kątem obsługiwanych interfejsów tego urządzenia.
- Jakiś malutki AVR® urządzenia posiadają TPI TPI można używać wyłącznie do programowania urządzenia i urządzenia te nie mają w ogóle możliwości debugowania na chipie.
- Niektóre urządzenia tinyAVR i niektóre urządzenia megaAVR mają interfejs debugWIRE, który łączy się z wbudowanym systemem debugowania znanym jako tinyOCD. Wszystkie urządzenia z debugWIRE mają również interfejs SPI do obsługi systemowej
- Niektóre urządzenia megaAVR mają złącze JTAG interfejs do programowania i debugowania, z wbudowanym systemem debugowania znanym również jako Wszystkie urządzenia z JTAG posiadają również interfejs SPI jako alternatywny interfejs do programowania w systemie.
- Wszystkie urządzenia AVR XMEGA posiadają interfejs PDI do programowania, a niektóre urządzenia AVR XMEGA posiadają także złącze JTAG interfejs o identycznej funkcjonalności.
- Nowe urządzenia tinyAVR posiadają interfejs UPDI, który służy do programowania i debugowania
Tabela 4-9. Podsumowanie interfejsów programowania i debugowania
|
UPDI | TPI | SPI | debugWIR E | JTAG | PDI | przewód |
SWD |
malutkiAVR | Nowe urządzenia | Niektóre urządzenia | Niektóre urządzenia | Niektóre urządzenia | ||||
megaAV R | Wszystkie urządzenia | Niektóre urządzenia | Niektóre urządzenia | |||||
AVR-XMEGA | Niektóre urządzenia | Wszystkie urządzenia | ||||||
AVR UC | Wszystkie urządzenia | Niektóre urządzenia | ||||||
SAM | Niektóre urządzenia | Wszystkie urządzenia |
4.4.1.Ż.TAG Interfejs fizyczny
JTAG interfejs składa się z 4-przewodowego kontrolera portu testowego (TAP) zgodnego ze standardem IEEE® Norma 1149.1. Standard IEEE został opracowany w celu zapewnienia zgodnego ze standardami branżowymi sposobu wydajnego testowania łączności płytek drukowanych (skanowanie graniczne). Urządzenia Atmel AVR i SAM rozszerzyły tę funkcjonalność o pełną obsługę programowania i debugowania na chipie.
Rysunek 4-9. JTAG Podstawy interfejsu4.4.2. Podłączenie do JTAG Cel
Atmel-ICE jest wyposażony w dwa 50-pinowe złącza JTAG złącza. Obydwa złącza są bezpośrednio połączone elektrycznie, ale mają dwa różne układy pinów; AVRJTAG nagłówek i nagłówek debugowania ARM Cortex. Złącze należy wybrać w oparciu o układ pinów docelowej płytki, a nie docelowy typ MCU – npample urządzenie SAM zamontowane w stosie AVR STK600 powinno używać nagłówka AVR.
Zalecany układ pinów dla 10-pinowego AVR JTAG złącze pokazano na rysunku 4-6.
Zalecany układ pinów dla 10-pinowego złącza ARM Cortex Debug pokazano na rysunku 4-2.
Bezpośrednie połączenie ze standardowym 10-pinowym złączem 50-milimetrowym
Użyj 50-pinowego płaskiego kabla o długości 10 mil (dołączonego do niektórych zestawów), aby podłączyć bezpośrednio do płyty obsługującej ten typ złącza. Użyj portu złącza AVR w Atmel-ICE dla nagłówków z układem pinów AVR i portu złącza SAM dla nagłówków zgodnych z układem pinów nagłówka ARM Cortex Debug.
Poniżej pokazano rozkład pinów obu 10-pinowych portów złącza.
Podłączenie do standardowego 10-pinowego złącza 100-mil
Użyj standardowego adaptera 50-mil do 100-mil, aby podłączyć do nagłówków 100-mil. Można do tego celu użyć płytki adaptera (dołączonej do niektórych zestawów) lub alternatywnie adaptera JTAGAdapter ICE3 może być używany do celów AVR.
Ważny:
JTAGAdaptera ICE3 100-mil nie można używać z portem złącza SAM, ponieważ styki 2 i 10 (AVR GND) adaptera są połączone.
Połączenie z niestandardowym złączem 100-mil
Jeśli Twoja płyta docelowa nie jest wyposażona w zgodne 10-pinowe złącze JTAG nagłówek w rozmiarze 50 lub 100 mil, można przypisać niestandardowy układ pinów za pomocą 10-pinowego kabla „mini-squid” (dołączonego do niektórych zestawów), który zapewnia dostęp do dziesięciu oddzielnych gniazd 100 mil.
Podłączenie do 20-pinowego złącza 100-milimetrowego
Użyj karty adaptera (dołączonej do niektórych zestawów), aby połączyć się z obiektami docelowymi za pomocą 20-pinowego złącza 100-mil.
Tabela 4-10. Atmel-ICE JTAG Opis pinezki
Nazwa | AVR szpilka portu | SAM szpilka portu | Opis |
TCK | 1 | 4 | Zegar testowy (sygnał zegarowy z Atmel-ICE do urządzenia docelowego). |
TMS | 5 | 2 | Wybór trybu testowego (sygnał sterujący z Atmel-ICE do urządzenia docelowego). |
TDI | 9 | 8 | Test Data In (dane przesyłane z Atmel-ICE do urządzenia docelowego). |
TDO | 3 | 6 | Test Data Out (dane przesyłane z urządzenia docelowego do Atmel-ICE). |
nTRST | 8 | – | Reset testowy (opcjonalny, tylko w niektórych urządzeniach AVR). Służy do resetowania JTAG Kontroler TAP. |
nSRST | 6 | 10 | Zresetuj (opcjonalnie). Służy do resetowania urządzenia docelowego. Podłączenie tego styku jest zalecane, ponieważ umożliwia Atmel-ICE utrzymanie urządzenia docelowego w stanie resetowania, co w niektórych scenariuszach może być niezbędne do debugowania. |
VTG | 4 | 1 | Objętość docelowatage-odniesienie. Atmel-ICE samples docelowa objętośćtage na tym pinie, aby prawidłowo zasilać przetworniki poziomu. Atmel-ICE pobiera z tego pinu mniej niż 3 mA w trybie debugWIRE i mniej niż 1 mA w innych trybach. |
GND | 2, 10 | 3, 5, 9 | Grunt. Wszystko musi być połączone, aby zapewnić, że Atmel-ICE i urządzenie docelowe mają to samo odniesienie do masy. |
4.4.3.Interfejs fizyczny SPI
Programowanie w systemie wykorzystuje wewnętrzny interfejs SPI (Serial Peripheral Interface) docelowego Atmel AVR do pobierania kodu do pamięci flash i EEPROM. To nie jest interfejs debugowania. Projektując płytkę PCB aplikacji, która zawiera AVR z interfejsem SPI, należy zastosować układ pinów pokazany na poniższym rysunku.
Rysunek 4-10. Pinout nagłówka SPI4.4.4. Łączenie z obiektem docelowym SPI
Zalecany układ pinów dla 6-pinowego złącza SPI pokazano na rysunku 4-10.
Podłączenie do 6-pinowego złącza SPI 100 mil
Użyj 6-pinowego złącza 100-mil na płaskim kablu (dołączonego do niektórych zestawów), aby podłączyć do standardowego złącza SPI 100-mil.
Podłączenie do 6-pinowego złącza SPI 50 mil
Użyj karty adaptera (dołączonej do niektórych zestawów), aby podłączyć do standardowego złącza SPI 50 mil.
Połączenie z niestandardowym złączem 100-mil
Do połączenia portu złącza Atmel-ICE AVR z płytką docelową należy użyć 10-pinowego kabla mini-squid. Wymaganych jest sześć połączeń, jak opisano w poniższej tabeli.
Ważny:
Interfejs SPI jest skutecznie wyłączany, gdy zaprogramowany jest bezpiecznik włączający debugWIRE (DWEN), nawet jeśli zaprogramowany jest również bezpiecznik SPIEN. Aby ponownie włączyć interfejs SPI, należy wydać polecenie „disable debugWIRE” podczas sesji debugowania debugWIRE. Wyłączenie debugWIRE w ten sposób wymaga zaprogramowania bezpiecznika SPIEN. Jeśli Atmel Studio nie wyłączy debugWIRE, jest to prawdopodobne, ponieważ bezpiecznik SPIEN NIE jest zaprogramowany. W takim przypadku konieczne jest użycie środka o dużej objętościtagInterfejs programistyczny do programowania bezpiecznika SPIEN.
Informacja:
Interfejs SPI jest często określany jako „ISP”, ponieważ był to pierwszy interfejs programowania systemowego w produktach Atmel AVR. Inne interfejsy są teraz dostępne do programowania w systemie.
Tabela 4-11. Mapowanie pinów SPI Atmel-ICE
Piny portu Atmel-ICE AVR | Piny docelowe | Przypinka mini-kałamarnica |
Pinout SPI |
Pin 1 (TCK) | SCK | 1 | 3 |
Styk 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | MISO | 3 | 1 |
Pin 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | / RESETOWANIE | 6 | 5 |
Pin 7 (nie podłączony) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | MOSI | 9 | 4 |
Styk 10 (GND) | 0 |
4.4.5. PDI
Interfejs programu i debugowania (PDI) to zastrzeżony interfejs firmy Atmel do programowania zewnętrznego i debugowania urządzenia na chipie. PDI Physical to 2-pinowy interfejs zapewniający dwukierunkową, synchroniczną komunikację półdupleksową z urządzeniem docelowym.
Projektując płytkę PCB aplikacji, w skład której wchodzi Atmel AVR z interfejsem PDI, należy zastosować układ pinów pokazany na poniższym rysunku. Następnie można użyć jednego z 6-pinowych adapterów dostarczonych w zestawie Atmel-ICE do podłączenia sondy Atmel-ICE do płytki PCB aplikacji.
Rysunek 4-11. Pinout nagłówka PDI4.4.6.Łączenie z celem PDI
Zalecany układ pinów dla 6-pinowego złącza PDI pokazano na rysunku 4-11.
Podłączenie do 6-pinowego złącza PDI 100 mil
Użyj 6-pinowego odgałęzienia 100-mil na płaskim kablu (dołączonego do niektórych zestawów), aby podłączyć do standardowego złącza PDI 100-milimetrów.
Podłączenie do 6-pinowego złącza PDI 50 mil
Użyj karty adaptera (dołączonej do niektórych zestawów), aby podłączyć standardowy nagłówek PDI 50 mil.
Połączenie z niestandardowym złączem 100-mil
Do połączenia portu złącza Atmel-ICE AVR z płytką docelową należy użyć 10-pinowego kabla mini-squid. Wymagane są cztery połączenia, jak opisano w poniższej tabeli.
Ważny:
Wymagany układ pinów różni się od JTAGICE mkII JTAG sonda, gdzie PDI_DATA jest podłączony do pinu 9. Atmel-ICE jest kompatybilny z pinoutem używanym przez Atmel-ICE, JTAGICE3, AVR ONE! i AVR Dragon™ Produkty.
Tabela 4-12. Mapowanie pinów PDI Atmel-ICE
Pin portu Atmel-ICE AVR |
Piny docelowe | Przypinka mini-kałamarnica |
Pinout PDI Atmel STK600 |
Pin 1 (TCK) | 1 | ||
Styk 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | PDI_DANE | 3 | 1 |
Pin 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | PDI_CLK | 6 | 5 |
Pin 7 (nie podłączony) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Styk 10 (GND) | 0 |
4.4.7. Interfejs fizyczny UPDI
Unified Program and Debug Interface (UPDI) to zastrzeżony interfejs firmy Atmel do programowania zewnętrznego i debugowania urządzenia na chipie. Jest następcą 2-przewodowego interfejsu fizycznego PDI, który występuje we wszystkich urządzeniach AVR XMEGA. UPDI to jednoprzewodowy interfejs zapewniający dwukierunkową, asynchroniczną komunikację półdupleksową z urządzeniem docelowym w celach programowania i debugowania.
Projektując płytkę PCB aplikacji, w skład której wchodzi Atmel AVR z interfejsem UPDI, należy zastosować układ pinów pokazany poniżej. Następnie można użyć jednego z 6-pinowych adapterów dostarczonych w zestawie Atmel-ICE do podłączenia sondy Atmel-ICE do płytki PCB aplikacji.
Rysunek 4-12. Pinout nagłówka UPDI4.4.7.1 UPDI i /RESET
Interfejs jednoprzewodowy UPDI może być pinem dedykowanym lub pinem współdzielonym, w zależności od docelowego urządzenia AVR. Więcej informacji można znaleźć w arkuszu danych urządzenia.
Gdy interfejs UPDI jest na współdzielonym pinie, pin można skonfigurować jako UPDI, /RESET lub GPIO, ustawiając bezpieczniki RSTPINCFG[1:0].
Bezpieczniki RSTPINCFG[1:0] mają następujące konfiguracje, zgodnie z opisem w arkuszu danych. Podano tutaj praktyczne konsekwencje każdego wyboru.
Tabela 4-13. RSTPINCFG[1:0] Konfiguracja bezpiecznika
RSTPINCFG[1:0] | Konfiguracja |
Stosowanie |
00 | GPIO | Pin we/wy ogólnego przeznaczenia. Aby uzyskać dostęp do UPDI, należy podać impuls 12 V na ten pin. Nie jest dostępne żadne zewnętrzne źródło resetowania. |
01 | UPDI | Dedykowany pin do programowania i debugowania. Nie jest dostępne żadne zewnętrzne źródło resetowania. |
10 | Nastawić | Zresetuj wejście sygnału. Aby uzyskać dostęp do UPDI, należy podać impuls 12 V na ten pin. |
11 | Skryty | NA |
Notatka: Starsze urządzenia AVR mają interfejs programowania znany jako „High-Voltage Programowanie” (istnieją zarówno warianty szeregowe, jak i równoległe). Ogólnie rzecz biorąc, interfejs ten wymaga przyłożenia napięcia 12 V do styku /RESET na czas sesji programowania. Interfejs UPDI to zupełnie inny interfejs. Pin UPDI to przede wszystkim pin do programowania i debugowania, który można połączyć, aby uzyskać alternatywną funkcję (/RESET lub GPIO). Jeśli wybrano funkcję alternatywną, wymagany jest impuls 12 V na tym pinie, aby ponownie aktywować funkcjonalność UPDI.
Notatka: Jeśli projekt wymaga współdzielenia sygnału UPDI ze względu na ograniczenia pinów, należy podjąć kroki w celu zapewnienia możliwości zaprogramowania urządzenia. Aby mieć pewność, że sygnał UPDI będzie działał poprawnie, a także aby uniknąć uszkodzenia komponentów zewnętrznych pod wpływem impulsu 12 V, zaleca się odłączenie wszelkich komponentów na tym pinie podczas próby debugowania lub programowania urządzenia. Można to zrobić za pomocą rezystora 0 Ω, który jest domyślnie montowany i usuwany lub zastępowany przez złącze pinowe podczas debugowania. Taka konfiguracja oznacza w praktyce, że programowanie należy wykonać przed zamontowaniem urządzenia.
Ważny: Atmel-ICE nie obsługuje napięcia 12 V na linii UPDI. Innymi słowy, jeśli pin UPDI został skonfigurowany jako GPIO lub RESET, Atmel-ICE nie będzie mógł włączyć interfejsu UPDI.
4.4.8.Łączenie z obiektem docelowym UPDI
Zalecany układ pinów dla 6-pinowego złącza UPDI pokazano na rysunku 4-12.
Podłączenie do 6-pinowego złącza UPDI 100 mil
Użyj 6-pinowego odgałęzienia 100-mil na płaskim kablu (dołączonego do niektórych zestawów), aby podłączyć do standardowego złącza UPDI 100-milimetrów.
Podłączenie do 6-pinowego złącza UPDI 50 mil
Użyj karty adaptera (dołączonej do niektórych zestawów), aby podłączyć do standardowego złącza UPDI 50 mil.
Połączenie z niestandardowym złączem 100-mil
Do połączenia portu złącza Atmel-ICE AVR z płytką docelową należy użyć 10-pinowego kabla mini-squid. Wymagane są trzy połączenia, jak opisano w poniższej tabeli.
Tabela 4-14. Mapowanie pinów Atmel-ICE UPDI
Pin portu Atmel-ICE AVR | Piny docelowe | Przypinka mini-kałamarnica |
Układ pinów Atmel STK600 UPDI |
Pin 1 (TCK) | 1 | ||
Styk 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | UPDI_DATA | 3 | 1 |
Pin 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | [/RESETUJ sens] | 6 | 5 |
Pin 7 (nie podłączony) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Styk 10 (GND) | 0 |
4.4.9 Interfejs fizyczny TPI
TPI to interfejs przeznaczony wyłącznie do programowania dla niektórych urządzeń AVR ATtiny. Nie jest to interfejs debugowania i te urządzenia nie obsługują OCD. Projektując płytkę aplikacyjną zawierającą AVR z interfejsem TPI, należy zastosować układ pinów pokazany na poniższym rysunku.
Rysunek 4-13. Pinout nagłówka TPI4.4.10.Łączenie z Targetem TPI
Zalecany układ pinów dla 6-pinowego złącza TPI pokazano na rysunku 4-13.
Podłączenie do 6-pinowego złącza TPI 100 mil
Użyj 6-pinowego złącza 100-mil na płaskim kablu (dołączonego do niektórych zestawów), aby podłączyć do standardowego złącza TPI 100-mil.
Podłączenie do 6-pinowego złącza TPI 50 mil
Użyj karty adaptera (dołączonej do niektórych zestawów), aby podłączyć do standardowego złącza TPI 50 mil.
Połączenie z niestandardowym złączem 100-mil
Do połączenia portu złącza Atmel-ICE AVR z płytką docelową należy użyć 10-pinowego kabla mini-squid. Wymaganych jest sześć połączeń, jak opisano w poniższej tabeli.
Tabela 4-15. Mapowanie pinów TPI Atmel-ICE
Piny portu Atmel-ICE AVR | Piny docelowe | Przypinka mini-kałamarnica |
Pinout TPI |
Pin 1 (TCK) | ZEGAR | 1 | 3 |
Styk 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | DANE | 3 | 1 |
Pin 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | / RESETOWANIE | 6 | 5 |
Pin 7 (nie podłączony) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Styk 10 (GND) | 0 |
4.4.11. Zaawansowane debugowanie (AVR JTAG /debugWIRE urządzenia)
Urządzenia peryferyjne wejścia/wyjścia
Większość urządzeń peryferyjnych we/wy będzie nadal działać, nawet jeśli wykonywanie programu zostanie zatrzymane przez punkt przerwania. Byłyample: Jeśli podczas transmisji UART zostanie osiągnięty punkt przerwania, transmisja zostanie zakończona i ustawione zostaną odpowiednie bity. Flaga TXC (transmisja zakończona) zostanie ustawiona i będzie dostępna w następnym pojedynczym kroku kodu, nawet jeśli normalnie miałoby to miejsce później w rzeczywistym urządzeniu.
Wszystkie moduły we/wy będą nadal działać w trybie zatrzymania, z następującymi dwoma wyjątkami:
- Timer/Liczniki (konfigurowalne za pomocą oprogramowania)
- Watchdog Timer (zawsze zatrzymany, aby zapobiec resetowaniu podczas debugowania)
Pojedynczy krokowy dostęp do wejść/wyjść
Ponieważ wejścia/wyjścia nadal działają w trybie zatrzymania, należy zachować ostrożność, aby uniknąć pewnych problemów z synchronizacją. Na przykładample, kod:
Podczas normalnego uruchamiania tego kodu rejestr TEMP nie odczytałby 0xAA, ponieważ dane nie zostałyby jeszcze fizycznie podłączone do pinu do czasuampprowadzone przez operację IN. Pomiędzy instrukcją OUT i IN należy umieścić instrukcję NOP, aby mieć pewność, że w rejestrze PIN znajduje się prawidłowa wartość.
Jednakże przy pojedynczym przejściu tej funkcji przez OCD, ten kod zawsze da 0xAA w rejestrze PIN, ponieważ wejścia/wyjścia pracują z pełną prędkością, nawet jeśli rdzeń jest zatrzymany podczas pojedynczego kroku.
Pojedynczy krok i synchronizacja
Niektóre rejestry muszą zostać odczytane lub zapisane w określonej liczbie cykli po włączeniu sygnału sterującego. Ponieważ zegar we/wy i urządzenia peryferyjne w trybie zatrzymania nadal działają z pełną prędkością, pojedyncze wykonanie takiego kodu nie spełni wymagań czasowych. Pomiędzy dwoma pojedynczymi krokami zegar we/wy mógł wykonać miliony cykli. Aby pomyślnie odczytać lub zapisać rejestry przy takich wymaganiach czasowych, cała sekwencja odczytu lub zapisu powinna zostać wykonana jako operacja atomowa, uruchamiając urządzenie z pełną prędkością. Można to zrobić za pomocą makra lub wywołania funkcji w celu wykonania kodu lub użyć funkcji „uruchom do kursora” w środowisku debugowania
Dostęp do rejestrów 16-bitowych
Urządzenia peryferyjne Atmel AVR zazwyczaj zawierają kilka 16-bitowych rejestrów, do których można uzyskać dostęp poprzez 8-bitową magistralę danych (np.: TCNTn 16-bitowego timera). Dostęp do rejestru 16-bitowego musi być bajtowy przy użyciu dwóch operacji odczytu lub zapisu. Przerwanie w trakcie 16-bitowego dostępu lub pojedyncze przejście przez tę sytuację może skutkować błędnymi wartościami.
Ograniczony dostęp do rejestru we/wy
Niektórych rejestrów nie można odczytać bez wpływu na ich zawartość. Do takich rejestrów zaliczają się rejestry zawierające flagi kasowane poprzez odczyt lub rejestry danych buforowanych (np. UDR). Interfejs oprogramowania uniemożliwia odczytanie tych rejestrów w trybie zatrzymania, aby zachować zamierzony, nieinwazyjny charakter debugowania OCD. Ponadto niektórych rejestrów nie można bezpiecznie zapisać bez wystąpienia skutków ubocznych – rejestry te są tylko do odczytu. Na przykładampna:
- Rejestry flagowe, w przypadku których flaga jest kasowana poprzez wpisanie „1” do dowolnego rejestru. Rejestry te są tylko do odczytu.
- Rejestrów UDR i SPDR nie można odczytać bez wpływu na stan modułu. Te rejestry nie
4.4.12. Specjalne uwagi dotyczące megaAVR
Punkty przerwania oprogramowania
Ponieważ zawiera wczesną wersję modułu OCD, ATmega128[A] nie obsługuje stosowania instrukcji break dla programowych punktów przerwania.
JTAG zegar
Przed rozpoczęciem sesji debugowania należy dokładnie określić docelową częstotliwość zegara w interfejsie oprogramowania. Ze względu na synchronizację JTAG Aby debugowanie było niezawodne, sygnał TCK musi być mniejszy niż jedna czwarta docelowej częstotliwości zegara. Podczas programowania poprzez JTAG interfejsu, częstotliwość TCK jest ograniczona przez maksymalną częstotliwość znamionową urządzenia docelowego, a nie rzeczywistą używaną częstotliwość zegara.
Korzystając z wewnętrznego oscylatora RC, należy pamiętać, że częstotliwość może się różnić w zależności od urządzenia i ma na nią wpływ temperatura i VCC zmiany. Zachowaj ostrożność przy określaniu docelowej częstotliwości zegara.
JTAGBezpieczniki EN i OCDEN
JTAG interfejs jest włączany przy użyciu JTAGBezpiecznik EN, który jest zaprogramowany domyślnie. Umożliwia to dostęp do JTAG interfejs programistyczny. Dzięki temu mechanizmowi można zaprogramować bezpiecznik OCDEN (domyślnie OCDEN jest niezaprogramowany). Umożliwia to dostęp do OCD w celu ułatwienia debugowania urządzenia. Interfejs oprogramowania zawsze zapewni, że bezpiecznik OCDEN pozostanie niezaprogramowany po zakończeniu sesji, ograniczając w ten sposób niepotrzebne zużycie energii przez moduł OCD. Jeśli jTAGBezpiecznik EN został przypadkowo wyłączony, można go ponownie włączyć jedynie za pomocą SPI lub High Voltagmetody programowania.
Jeśli jTAGBezpiecznik EN jest zaprogramowany, JTAG interfejs można nadal wyłączyć w oprogramowaniu sprzętowym, ustawiając bit JTD. Spowoduje to, że kod będzie niemożliwy do debugowania i nie należy tego robić podczas próby sesji debugowania. Jeśli taki kod jest już wykonywany na urządzeniu Atmel AVR podczas rozpoczynania sesji debugowania, Atmel-ICE potwierdzi linię RESET podczas łączenia. Jeśli ta linia jest podłączona prawidłowo, wymusi resetowanie docelowego urządzenia AVR, umożliwiając w ten sposób podłączenie JTAG połączenie.
Jeśli jTAG interfejs jest włączony, JTAG pinów nie można używać do alternatywnych funkcji pinów. Pozostaną oddani JTAG szpilki, aż pojawi się JTAG interfejs jest wyłączany przez ustawienie bitu JTD w kodzie programu lub przez wyczyszczenie JTAGPL bezpiecznik poprzez interfejs programowania.
Wskazówka:
Pamiętaj, aby zaznaczyć pole wyboru „użyj resetu zewnętrznego” zarówno w oknie dialogowym programowania, jak i oknie dialogowym opcji debugowania, aby umożliwić Atmel-ICE potwierdzenie linii RESET i ponowne włączenie JTAG interfejs na urządzeniach, na których działa kod wyłączający JTAG interfejsu poprzez ustawienie bitu JTD.
Zdarzenia IDR/OCDR
IDR (rejestr danych wejściowych i wyjściowych) jest również znany jako OCDR (rejestr debugowania na chipie) i jest szeroko używany przez debuger do odczytu i zapisu informacji do MCU w trybie zatrzymania podczas sesji debugowania. Kiedy program aplikacyjny w trybie wykonywania zapisuje bajt danych do rejestru OCDR debugowanego urządzenia AVR, Atmel-ICE odczytuje tę wartość i wyświetla ją w oknie komunikatu oprogramowania. Rejestr OCDR jest odpytywany co 50 ms, więc zapisywanie do niego z wyższą częstotliwością NIE da wiarygodnych wyników. Gdy urządzenie AVR utraci zasilanie podczas debugowania, mogą zostać zgłoszone fałszywe zdarzenia OCDR. Dzieje się tak, ponieważ Atmel-ICE może nadal odpytywać urządzenie jako objętość docelowątage spada poniżej minimalnej objętości roboczej AVRtage.
4.4.13. Specjalne uwagi dotyczące AVR XMEGA
OCD i taktowanie
Kiedy MCU przechodzi w tryb zatrzymania, zegar OCD jest używany jako zegar MCU. Zegar OCD to albo JTAG TCK, jeśli JTAG używany jest interfejs PDI lub PDI_CLK, jeśli używany jest interfejs PDI.
Moduły we/wy w trybie zatrzymania
W przeciwieństwie do wcześniejszych urządzeń Atmel megaAVR, w XMEGA moduły I/O są zatrzymywane w trybie stop. Oznacza to, że transmisje USART zostaną przerwane, timery (i PWM) zostaną zatrzymane.
Sprzętowe punkty przerwania
Istnieją cztery sprzętowe komparatory punktów przerwania – dwa komparatory adresów i dwa komparatory wartości. Mają pewne ograniczenia:
- Wszystkie punkty przerwania muszą być tego samego typu (program lub dane)
- Wszystkie punkty przerwania danych muszą znajdować się w tym samym obszarze pamięci (we/wy, SRAM lub XRAM)
- Jeśli używany jest zakres adresów, może istnieć tylko jeden punkt przerwania
Oto różne kombinacje, które można ustawić:
- Dwa pojedyncze punkty przerwania adresu danych lub programu
- Jeden punkt przerwania zakresu danych lub adresu programu
- Dwa punkty przerwania pojedynczego adresu danych z porównaniem pojedynczej wartości
- Jeden punkt przerwania danych z zakresem adresów, zakresem wartości lub obydwoma
Atmel Studio poinformuje Cię, czy nie można ustawić punktu przerwania i dlaczego. Punkty przerwania danych mają pierwszeństwo przed punktami przerwania programu, jeśli są dostępne punkty przerwania oprogramowania.
Reset zewnętrzny i fizyczne PDI
Interfejs fizyczny PDI wykorzystuje linię resetowania jako zegar. Podczas debugowania resetowanie pullup powinno wynosić 10 KB lub więcej lub zostać usunięte. Należy usunąć wszelkie kondensatory resetujące. Inne zewnętrzne źródła resetowania powinny zostać odłączone.
Debugowanie za pomocą trybu uśpienia dla ATxmegaA1 w wersji H i wcześniejszych
We wczesnych wersjach urządzeń ATxmegaA1 występował błąd, który uniemożliwiał włączenie OCD, gdy urządzenie znajdowało się w określonych trybach uśpienia. Istnieją dwa obejścia ponownego włączenia OCD:
- Idź do Atmel-ICE. Opcje w menu Narzędzia i włącz opcję „Zawsze aktywuj reset zewnętrzny podczas przeprogramowywania urządzenia”.
- Wykonaj kasowanie chipa
Tryby uśpienia wywołujące ten błąd to:
- Wyłączać
- Oszczędzanie energii
- Czuwanie
- Wydłużony tryb gotowości
Uwagi specjalne 4.4.1.debugWIRE
Pin komunikacyjny debugWIRE (dW) jest fizycznie umieszczony na tym samym pinie, co reset zewnętrzny (RESET). Dlatego zewnętrzne źródło resetowania nie jest obsługiwane, gdy włączony jest interfejs debugWIRE.
Aby interfejs debugWIRE mógł działać, na urządzeniu docelowym musi być ustawiony bezpiecznik debugWIRE Enable (DWEN). Bezpiecznik ten jest domyślnie niezaprogramowany, gdy urządzenie Atmel AVR jest wysyłane z fabryki. Do ustawienia tego bezpiecznika nie można użyć samego interfejsu debugWIRE. Aby ustawić bezpiecznik DWEN należy zastosować tryb SPI. Interfejs oprogramowania obsługuje to automatycznie, pod warunkiem że podłączone są niezbędne piny SPI. Można go również ustawić za pomocą programowania SPI z poziomu okna programowania Atmel Studio.
Albo: Spróbuj rozpocząć sesję debugowania w części debugWIRE. Jeśli interfejs debugWIRE nie jest włączony, Atmel Studio zaproponuje ponowną próbę lub próbę włączenia debugWIRE przy użyciu programowania SPI. Jeśli masz podłączony pełny nagłówek SPI, debugWIRE zostanie włączone i zostaniesz poproszony o przełączenie zasilania na urządzeniu docelowym. Jest to wymagane, aby wymiana bezpiecznika była skuteczna.
Lub: Otwórz okno programowania w trybie SPI i sprawdź, czy podpis pasuje do prawidłowego urządzenia. Sprawdź bezpiecznik DWEN, aby włączyć debugWIRE.
Ważny:
Ważne jest, aby pozostawić zaprogramowany bezpiecznik SPIEN, a bezpiecznik RSTDISBL niezaprogramowany! Niewykonanie tej czynności spowoduje, że urządzenie utknie w trybie debugWIRE i pojawi się komunikat High VoltagAby przywrócić ustawienie DWEN, konieczne będzie zaprogramowanie.
Aby wyłączyć interfejs debugWIRE, użyj opcji High Voltage programowanie, aby odprogramować bezpiecznik DWEN. Alternatywnie można użyć samego interfejsu debugWIRE do tymczasowego wyłączenia samego siebie, co umożliwi programowanie SPI, pod warunkiem, że ustawiony jest bezpiecznik SPIEN.
Ważny:
Jeśli bezpiecznik SPIEN NIE został zaprogramowany, Atmel Studio nie będzie w stanie ukończyć tej operacji, a High VoltagNależy zastosować programowanie.
Podczas sesji debugowania wybierz opcję „Wyłącz debugWIRE i zamknij” z menu „Debuguj”. DebugWIRE zostanie tymczasowo wyłączone, a Atmel Studio użyje programowania SPI do odprogramowania bezpiecznika DWEN.
Zaprogramowanie bezpiecznika DWEN umożliwia pracę niektórych części systemu zegarowego we wszystkich trybach uśpienia. Zwiększy to pobór mocy amplitunera AVR w trybach uśpienia. Dlatego też bezpiecznik DWEN powinien być zawsze wyłączony, gdy nie jest używany debugWIRE.
Projektując płytkę drukowaną aplikacji docelowej, w której będzie używany debugWIRE, należy wziąć pod uwagę następujące kwestie, aby zapewnić prawidłowe działanie:
- Rezystory podciągające na linii dW/(RESET) nie mogą być mniejsze (mocniejsze) niż 10 kΩ. Rezystor podciągający nie jest wymagany do funkcjonalności debugWIRE, ponieważ zapewnia to narzędzie debugera
- Ewentualne kondensatory stabilizujące podłączone do pinu RESET należy przy korzystaniu z debugWIRE odłączyć, gdyż będą zakłócać poprawną pracę interfejsu
- Wszystkie zewnętrzne źródła resetu lub inne aktywne sterowniki na linii RESET muszą być odłączone, gdyż mogą zakłócać poprawną pracę interfejsu
Nigdy nie programuj bitów blokujących na urządzeniu docelowym. Interfejs debugWIRE wymaga wyczyszczenia bitów blokujących, aby mógł działać poprawnie.
4.4.15. debugWIRE Punkty przerwania oprogramowania
DebugWIRE OCD jest drastycznie zmniejszony w porównaniu z megaAVR firmy Atmel (JTAG) Zaburzenia obsesyjno-kompulsyjne. Oznacza to, że nie ma żadnych komparatorów punktów przerwania licznika programu dostępnych dla użytkownika w celach debugowania. Istnieje jeden taki komparator do celów operacji od kursora i operacji jednoetapowych, ale dodatkowe punkty przerwania użytkownika nie są obsługiwane sprzętowo.
Zamiast tego debuger musi skorzystać z instrukcji AVR break. Instrukcję tę można umieścić w pamięci FLASH, a kiedy zostanie załadowana do wykonania, spowoduje to przejście procesora AVR w tryb zatrzymania. Aby obsługiwać punkty przerwania podczas debugowania, debuger musi wstawić instrukcję break do pamięci FLASH w momencie, w którym użytkownik żąda punktu przerwania. Oryginalna instrukcja musi być przechowywana w pamięci podręcznej w celu późniejszej wymiany.
Podczas pojedynczego przekraczania instrukcji break debuger musi wykonać oryginalną instrukcję przechowywaną w pamięci podręcznej, aby zachować zachowanie programu. W skrajnych przypadkach należy usunąć break z FLASH i zastąpić go później. Wszystkie te scenariusze mogą powodować widoczne opóźnienia podczas pojedynczego przejścia od punktów przerwania, które ulegną pogorszeniu, gdy docelowa częstotliwość zegara będzie bardzo niska.
Dlatego też, jeśli to możliwe, zaleca się przestrzeganie następujących wskazówek:
- Podczas debugowania zawsze uruchamiaj cel z tak dużą częstotliwością, jak to możliwe. Fizyczny interfejs debugWIRE jest taktowany zegarem docelowym.
- Spróbuj zminimalizować liczbę dodawania i usuwania punktów przerwania, ponieważ każdy z nich wymaga wymiany strony FLASH w miejscu docelowym
- Spróbuj dodać lub usunąć niewielką liczbę punktów przerwania na raz, aby zminimalizować liczbę operacji zapisu strony FLASH
- Jeśli to możliwe, unikaj umieszczania punktów przerwania w instrukcjach zawierających podwójne słowa
4.4.16. Zrozumienie debugWIRE i bezpiecznika DWEN
Po włączeniu interfejs debugWIRE przejmuje kontrolę nad pinem /RESET urządzenia, co sprawia, że wzajemnie się wykluczają z interfejsem SPI, który również potrzebuje tego pinu. Podczas włączania i wyłączania modułu debugWIRE należy zastosować jedno z dwóch podejść:
- Pozwól Atmel Studio zająć się wszystkim (zalecane)
- Ustaw i wyczyść DWEN ręcznie (zachowaj ostrożność, tylko zaawansowani użytkownicy!)
Ważny: Podczas ręcznej manipulacji DWEN ważne jest, aby bezpiecznik SPIEN pozostał ustawiony, aby uniknąć konieczności używania High-Voltage programowanie
Rysunek 4-14. Zrozumienie debugWIRE i bezpiecznika DWEN4.4.17. Uwagi specjalne dotyczące TinyX-OCD (UPDI).
Pin danych UPDI (UPDI_DATA) może być pinem dedykowanym lub pinem współdzielonym, w zależności od docelowego urządzenia AVR. Wspólny pin UPDI toleruje napięcie 12 V i można go skonfigurować do używania jako /RESET lub GPIO. Więcej szczegółów na temat używania pinów w tych konfiguracjach można znaleźć w artykule Interfejs fizyczny UPDI.
Na urządzeniach wyposażonych w moduł CRCSCAN (Cyclic Redundancy Check Memory Scan) tego modułu nie należy używać w ciągłym trybie tła podczas debugowania. Moduł OCD ma ograniczone zasoby sprzętowego komparatora punktów przerwania, więc instrukcje break można wstawić do pamięci flash (programowe punkty przerwania), gdy wymagana jest większa liczba punktów przerwania lub nawet podczas wykonywania kroków w kodzie na poziomie źródłowym. Moduł CRC mógł błędnie wykryć ten punkt przerwania jako uszkodzenie zawartości pamięci flash.
Moduł CRCSCAN można również skonfigurować tak, aby wykonywał skanowanie CRC przed uruchomieniem. W przypadku niezgodności CRC urządzenie nie uruchomi się i będzie wyglądało na zablokowane. Jedynym sposobem na przywrócenie urządzenia z tego stanu jest wykonanie pełnego kasowania chipa i zaprogramowanie prawidłowego obrazu flash lub wyłączenie CRCSCAN przed uruchomieniem. (Zwykłe kasowanie chipa spowoduje wyświetlenie pustej pamięci flash z nieprawidłowym CRC, a zatem część nadal nie uruchomi się.) Atmel Studio automatycznie wyłączy bezpieczniki CRCSCAN podczas kasowania chipa urządzenia w tym stanie.
Projektując płytkę drukowaną aplikacji docelowej, w której będzie używany interfejs UPDI, należy wziąć pod uwagę następujące kwestie, aby zapewnić prawidłowe działanie:
- Rezystory podciągające na linii UPDI nie mogą być mniejsze (mocniejsze) niż 10kΩ. Nie należy stosować rezystora obniżającego lub należy go usunąć w przypadku korzystania z UPDI. Układ fizyczny UPDI obsługuje funkcję push-pull, więc wymagany jest tylko słaby rezystor podciągający, aby zapobiec wyzwalaniu bitu fałszywego startu, gdy linia jest
- Jeżeli pin UPDI ma służyć jako pin RESET to przy korzystaniu z UPDI należy odłączyć ewentualny kondensator stabilizujący, gdyż będzie on zakłócał poprawną pracę interfejsu
- Jeśli pin UPDI jest używany jako pin RESET lub GPIO, wszystkie zewnętrzne sterowniki na linii muszą zostać odłączone podczas programowania lub debugowania, ponieważ mogą zakłócać prawidłowe działanie interfejsu.
Opis sprzętu
5.1. diody LED
Na górnym panelu Atmel-ICE znajdują się trzy diody LED, które wskazują stan bieżących sesji debugowania lub programowania.
Tabela 5-1. diody LED
PROWADZONY | Funkcjonować |
Opis |
Lewy | Moc docelowa | ZIELONY, gdy moc docelowa jest prawidłowa. Miganie oznacza błąd mocy docelowej. Nie świeci się, dopóki nie zostanie rozpoczęte połączenie sesji programowania/debugowania. |
Środek | Główne zasilanie | CZERWONY, gdy zasilanie płyty głównej jest prawidłowe. |
Prawidłowy | Status | Miga na ZIELONO, gdy cel biegnie/stąpa. WYŁĄCZONA, gdy cel jest zatrzymany. |
5.2. Tylny panel
Na tylnym panelu Atmel-ICE znajduje się złącze USB Micro-B.5.3. Panel dolny
Na dolnym panelu Atmel-ICE znajduje się naklejka z numerem seryjnym i datą produkcji. Jeśli szukasz pomocy technicznej, podaj te szczegóły.5.4.Opis architektury
Architekturę Atmel-ICE pokazano na schemacie blokowym na rysunku 5-1.
Rysunek 5-1. Schemat blokowy Atmel-ICE5.4.1. Płyta główna Atmel-ICE
Zasilanie jest dostarczane do Atmel-ICE z magistrali USB i jest regulowane do 3.3 V za pomocą regulatora przełączającego obniżającego napięcie. Pin VTG służy wyłącznie jako wejście odniesienia, a oddzielny zasilacz zasila zmienną głośnośćtage strona wbudowanych przetworników poziomu. Sercem płyty głównej Atmel-ICE jest mikrokontroler Atmel AVR UC3 AT32UC3A4256, który pracuje z częstotliwością od 1 MHz do 60 MHz, w zależności od przetwarzanych zadań. Mikrokontroler zawiera wbudowany szybki moduł USB 2.0, umożliwiający wysoką przepustowość danych do i z debugera.
Komunikacja między Atmel-ICE a urządzeniem docelowym odbywa się za pośrednictwem zestawu konwerterów poziomu, które przesuwają sygnały pomiędzy głośnością roboczą celutage i tom wewnętrznytagpoziom na Atmel-ICE. W ścieżce sygnału znajdują się również przekroczenia Zeneratagdiody zabezpieczające, rezystory terminujące szeregowo, filtry indukcyjne i diody zabezpieczające przed ESD. Wszystkie kanały sygnałowe mogą pracować w zakresie od 1.62 V do 5.5 V, chociaż sprzęt Atmel-ICE nie jest w stanie wyprowadzić wyższego napięciatage niż 5.0 V. Maksymalna częstotliwość robocza różni się w zależności od używanego interfejsu docelowego.
5.4.2.Złącza docelowe Atmel-ICE
Atmel-ICE nie ma aktywnej sondy. Kabel IDC o długości 50 mil służy do bezpośredniego połączenia z aplikacją docelową lub za pośrednictwem adapterów znajdujących się w niektórych zestawach. Więcej informacji na temat okablowania i adapterów można znaleźć w rozdziale Montaż Atmel-ICE
5.4.3. Numery części złączy docelowych Atmel-ICE
Aby podłączyć kabel IDC Atmel-ICE o długości 50 mil bezpośrednio do płytki docelowej, wystarczy dowolne standardowe 50-pinowe złącze 10 mil. Zaleca się stosowanie złączy z kluczem, aby zapewnić prawidłową orientację podczas podłączania do celu, takich jak te stosowane na płycie adaptera dołączonej do zestawu.
Numer części tego złącza to: FTSH-105-01-L-DV-KAP firmy SAMTEC
Integracja oprogramowania
6.1. Studio Atmela
6.1.1.Integracja oprogramowania w Atmel Studio
Atmel Studio to zintegrowane środowisko programistyczne (IDE) umożliwiające pisanie i debugowanie aplikacji Atmel AVR i Atmel SAM w środowiskach Windows. Atmel Studio udostępnia narzędzie do zarządzania projektami, source file edytor, symulator, asembler i front-end dla C/C++, programowania, emulacji i debugowania na chipie.
W połączeniu z Atmel-ICE należy używać wersji Atmel Studio 6.2 lub nowszej.
6.1.2. Opcje programowania
Atmel Studio obsługuje programowanie urządzeń Atmel AVR i Atmel SAM ARM przy użyciu Atmel-ICE. Okno dialogowe programowania można skonfigurować tak, aby korzystało z JTAG, aWire, SPI, PDI, TPI, SWD, w zależności od wybranego urządzenia docelowego.
Podczas konfigurowania częstotliwości zegara obowiązują różne zasady dla różnych interfejsów i rodzin docelowych:
- Programowanie SPI wykorzystuje zegar docelowy. Skonfiguruj częstotliwość zegara tak, aby była niższa niż jedna czwarta częstotliwości, z jaką aktualnie pracuje urządzenie docelowe.
- JTAG programowanie w urządzeniach Atmel megaAVR jest taktowane zegarem. Oznacza to, że częstotliwość zegara programowania jest ograniczona do maksymalnej częstotliwości roboczej samego urządzenia. (Zwykle 16 MHz.)
- Programowanie AVR XMEGA na obu JTAG a interfejsy PDI są taktowane przez programistę. Oznacza to, że częstotliwość zegara programowania jest ograniczona do maksymalnej częstotliwości roboczej urządzenia (zwykle 32 MHz).
- Programowanie AVR UC3 na JTAG interfejs jest taktowany przez programistę. Oznacza to, że częstotliwość zegara programowania ograniczona jest do maksymalnej częstotliwości roboczej samego urządzenia. (Ograniczone do 33 MHz.)
- Programowanie AVR UC3 na interfejsie aWire jest taktowane zegarem. Optymalna częstotliwość jest określona przez prędkość magistrali SAB w urządzeniu docelowym. Debuger Atmel-ICE automatycznie dostosuje szybkość transmisji aWire, aby spełnić te kryteria. Chociaż zwykle nie jest to konieczne, użytkownik może w razie potrzeby ograniczyć maksymalną prędkość transmisji (np. w hałaśliwym otoczeniu).
- Programowanie urządzenia SAM na interfejsie SWD jest taktowane przez programistę. Maksymalna częstotliwość obsługiwana przez Atmel-ICE wynosi 2 MHz. Częstotliwość nie powinna przekraczać docelowej częstotliwości procesora razy 10, fSWD ≤ 10fSYSCLK.
6.1.3.Opcje debugowania
Podczas debugowania urządzenia Atmel AVR przy użyciu Atmel Studio, zakładka „Narzędzie” we właściwościach projektu view zawiera kilka ważnych opcji konfiguracyjnych. Opcje wymagające dalszego wyjaśnienia zostały szczegółowo opisane tutaj.
Docelowa częstotliwość zegara
Dokładne ustawienie docelowej częstotliwości zegara jest niezbędne do uzyskania niezawodnego debugowania urządzenia Atmel megaAVR poprzez interfejs JTAG interfejs. To ustawienie powinno być mniejsze niż jedna czwarta najniższej częstotliwości roboczej urządzenia docelowego AVR w debugowanej aplikacji. Aby uzyskać więcej informacji, zobacz Specjalne uwagi dotyczące megaAVR.
Sesje debugowania na urządzeniach docelowych debugWIRE są taktowane przez samo urządzenie docelowe, dlatego nie jest wymagane ustawianie częstotliwości. Atmel-ICE automatycznie wybierze prawidłową prędkość transmisji do komunikacji na początku sesji debugowania. Jeśli jednak występują problemy z niezawodnością związane z hałaśliwym środowiskiem debugowania, niektóre narzędzia oferują możliwość wymuszenia prędkości debugWIRE na ułamek jej „zalecanego” ustawienia.
Sesje debugowania na urządzeniach docelowych AVR XMEGA mogą być taktowane z maksymalną szybkością samego urządzenia (zwykle 32 MHz).
Sesje debugowania na urządzeniach docelowych AVR UC3 za pośrednictwem protokołu JTAG interfejs może być taktowany z maksymalną szybkością samego urządzenia (ograniczoną do 33 MHz). Jednakże optymalna częstotliwość będzie nieco niższa od bieżącego zegara SAB na urządzeniu docelowym.
Sesje debugowania na urządzeniach docelowych UC3 za pośrednictwem interfejsu aWire zostaną automatycznie dostrojone do optymalnej szybkości transmisji przez sam Atmel-ICE. Jeśli jednak doświadczasz problemów z niezawodnością związanych z hałaśliwym środowiskiem debugowania, niektóre narzędzia oferują możliwość wymuszenia prędkości aWire poniżej konfigurowalnego limitu.
Sesje debugowania na urządzeniach docelowych SAM za pośrednictwem interfejsu SWD mogą być taktowane z częstotliwością do 2 razy większą niż zegar procesora (ale ograniczone do maksymalnie XNUMX MHz).
Zachowaj EEPROM
Wybierz tę opcję, aby uniknąć kasowania pamięci EEPROM podczas przeprogramowywania modułu docelowego przed sesją debugowania.
Użyj resetu zewnętrznego
Jeśli aplikacja docelowa wyłącza funkcję JTAG interfejsu, podczas programowania należy ustawić reset zewnętrzny na niski. Wybranie tej opcji pozwala uniknąć wielokrotnego pytania o użycie resetu zewnętrznego.
6.2 Narzędzie wiersza poleceń
Atmel Studio jest wyposażone w narzędzie wiersza poleceń o nazwie atprogram, którego można używać do programowania obiektów docelowych za pomocą Atmel-ICE. Podczas instalacji Atmel Studio pojawił się skrót o nazwie „Atmel Studio 7.0. Wiersz poleceń” zostały utworzone w folderze Atmel w menu Start. Po dwukrotnym kliknięciu tego skrótu otworzy się wiersz poleceń i będzie można wprowadzić polecenia programistyczne. Narzędzie wiersza poleceń jest instalowane w ścieżce instalacyjnej Atmel Studio w folderze Atmel/Atmel Studio 7.0/atbackend/.
Aby uzyskać dodatkową pomoc dotyczącą narzędzia wiersza poleceń, wpisz polecenie:
atprogram – pomoc
Zaawansowane techniki debugowania
7.1. Cele Atmel AVR UC3
7.1.1. Korzystanie z EVTI / EVTO
Piny EVTI i EVTO nie są dostępne w Atmel-ICE. Można ich jednak nadal używać w połączeniu z innym sprzętem zewnętrznym.
EVTI można wykorzystać do następujących celów:
- Cel może zostać zmuszony do przerwania wykonywania w odpowiedzi na zdarzenie zewnętrzne. Jeśli bity kontroli zdarzenia (EIC) w rejestrze DC zostaną zapisane do wartości 0b01, przejście z wysokiego do niskiego stanu na pinie EVTI wygeneruje warunek punktu przerwania. Wartość EVTI musi pozostać niska przez jeden cykl zegara procesora, aby zagwarantować, że punktem przerwania będzie punkt przerwania. Bit zewnętrznego punktu przerwania (EXB) w DS jest ustawiany, gdy to nastąpi.
- Generowanie komunikatów synchronizacji śledzenia. Nieużywany przez Atmel-ICE. EVTO można wykorzystać do następujących celów:
- Wskazywanie, że procesor wszedł w tryb debugowania. Ustawienie bitów EOS w DC na 0b01 powoduje, że pin EVTO jest obniżany przez jeden cykl zegara procesora, gdy urządzenie docelowe wchodzi w tryb debugowania. Sygnał ten może być wykorzystany jako źródło wyzwalania dla zewnętrznego oscyloskopu.
- Wskazuje, że procesor osiągnął punkt przerwania lub punkt kontrolny. Ustawiając bit EOC w odpowiednim rejestrze kontrolnym punktu przerwania/punktu obserwacji, stan punktu przerwania lub punktu obserwacji jest wskazywany na pinie EVTO. Aby włączyć tę funkcję, bity EOS w DC muszą być ustawione na 0xb10. Pin EVTO można następnie podłączyć do zewnętrznego oscyloskopu w celu sprawdzenia punktu obserwacyjnego
- Generowanie sygnałów taktowania śledzenia. Nieużywany przez Atmel-ICE.
7.2 Cele debugWIRE
7.2.1.debugWIRE Punkty przerwania oprogramowania
DebugWIRE OCD jest drastycznie zmniejszony w porównaniu z megaAVR firmy Atmel (JTAG) Zaburzenia obsesyjno-kompulsyjne. Oznacza to, że nie ma żadnych komparatorów punktów przerwania licznika programu dostępnych dla użytkownika w celach debugowania. Istnieje jeden taki komparator do celów operacji od kursora i operacji jednoetapowych, ale dodatkowe punkty przerwania użytkownika nie są obsługiwane sprzętowo.
Zamiast tego debuger musi skorzystać z instrukcji AVR break. Instrukcję tę można umieścić w pamięci FLASH, a kiedy zostanie załadowana do wykonania, spowoduje to przejście procesora AVR w tryb zatrzymania. Aby obsługiwać punkty przerwania podczas debugowania, debuger musi wstawić instrukcję break do pamięci FLASH w momencie, w którym użytkownik żąda punktu przerwania. Oryginalna instrukcja musi być przechowywana w pamięci podręcznej w celu późniejszej wymiany.
Podczas pojedynczego przekraczania instrukcji break debuger musi wykonać oryginalną instrukcję przechowywaną w pamięci podręcznej, aby zachować zachowanie programu. W skrajnych przypadkach należy usunąć break z FLASH i zastąpić go później. Wszystkie te scenariusze mogą powodować widoczne opóźnienia podczas pojedynczego przejścia od punktów przerwania, które ulegną pogorszeniu, gdy docelowa częstotliwość zegara będzie bardzo niska.
Dlatego też, jeśli to możliwe, zaleca się przestrzeganie następujących wskazówek:
- Podczas debugowania zawsze uruchamiaj cel z tak dużą częstotliwością, jak to możliwe. Fizyczny interfejs debugWIRE jest taktowany zegarem docelowym.
- Spróbuj zminimalizować liczbę dodawania i usuwania punktów przerwania, ponieważ każdy z nich wymaga wymiany strony FLASH w miejscu docelowym
- Spróbuj dodać lub usunąć niewielką liczbę punktów przerwania na raz, aby zminimalizować liczbę operacji zapisu strony FLASH
- Jeśli to możliwe, unikaj umieszczania punktów przerwania w instrukcjach zawierających podwójne słowa
Historia wydań i znane problemy
8.1 Historia wydań oprogramowania sprzętowego
Tabela 8-1. Publiczne wersje oprogramowania sprzętowego
Wersja oprogramowania (dziesiętna) | Data |
Odpowiednie zmiany |
1.36 | 29.09.2016 | Dodano obsługę interfejsu UPDI (urządzenia tinyX) Możliwość konfiguracji rozmiaru punktu końcowego USB |
1.28 | 27.05.2015 | Dodano obsługę interfejsów SPI i USART DGI. Poprawiona prędkość SWD. Drobne poprawki błędów. |
1.22 | 03.10.2014 | Dodano profilowanie kodu. Naprawiono problem związany z JTAG łańcuchy daisy z więcej niż 64 bitami instrukcji. Naprawiono rozszerzenie resetowania ARM. Naprawiono problem z diodą zasilania docelowego. |
1.13 | 08.04.2014 | JTAG naprawa częstotliwości zegara. Naprawiono debugWIRE z długim SUT. Naprawiono polecenie kalibracji oscylatora. |
1.09 | 12.02.2014 | Pierwsze wydanie Atmel-ICE. |
8.2 Znane problemy dotyczące Atmel-ICE
8.2.1.Ogólne
- Początkowe partie Atmel-ICE miały słabe złącze USB. Wprowadzono nową wersję z nowym i solidniejszym złączem USB. Jako rozwiązanie tymczasowe na już wyprodukowane jednostki pierwszej wersji nałożono klej epoksydowy w celu poprawy stabilności mechanicznej.
8.2.2. Specyficzne problemy Atmel AVR XMEGA OCD
- W przypadku rodziny ATxmegaA1 obsługiwana jest tylko wersja G lub nowsza
8.2.1. Atmel AVR – problemy specyficzne dla urządzenia
- Włączenie zasilania ATmega32U6 podczas sesji debugowania może spowodować utratę kontaktu z urządzeniem
Zgodność produktu
9.1. RoHS i WEEE
Atmel-ICE i wszystkie akcesoria zostały wyprodukowane zgodnie z dyrektywą RoHS (2002/95/WE) i dyrektywą WEEE (2002/96/WE).
9.2. CE i FCC
Jednostka Atmel-ICE została przetestowana zgodnie z zasadniczymi wymaganiami i innymi odpowiednimi postanowieniami dyrektyw:
- Dyrektywa 2004/108/WE (klasa B)
- FCC część 15 podczęść B
- 2002/95/WE (RoHS, WEEE)
Do oceny stosuje się następujące standardy:
- EN 61000-6-1 (2007)
- EN 61000-6-3 (2007) + A1(2011)
- FCC CFR 47 część 15 (2013)
Konstrukcja techniczna File znajduje się pod adresem:
Dołożono wszelkich starań, aby zminimalizować emisję elektromagnetyczną wytwarzaną przez ten produkt. Jednakże w pewnych warunkach system (ten produkt podłączony do docelowego obwodu aplikacji) może emitować częstotliwości składowych elektromagnetycznych przekraczające maksymalne wartości dozwolone w wyżej wymienionych normach. Częstotliwość i wielkość emisji zostaną określone przez kilka czynników, w tym układ i przebieg docelowego zastosowania, w którym produkt będzie używany.
Historia rewizji
Doc. Obrót silnika. |
Data |
Uwagi |
42330C | 10/2016 | Dodano interfejs UPDI i zaktualizowano historię wydań oprogramowania sprzętowego |
42330B | 03/2016 | • Poprawiony rozdział dotyczący debugowania na chipie • Nowe formatowanie historii wydań oprogramowania sprzętowego w rozdziale Historia wydań i znane problemy • Dodano układ pinów kabla debugowania |
42330A | 06/2014 | Wstępne wydanie dokumentu |
Atmel®, logo Atmel i ich kombinacje, umożliwiające nieograniczone możliwości®, AVR®, megaAVR®, STK®, malutkiAVR®, XMEGA®i inne są zastrzeżonymi znakami towarowymi lub znakami towarowymi firmy Atmel Corporation w USA i innych krajach. RAMIĘ®, ARM podłączony® logo, Cortex®i inne są zastrzeżonymi znakami towarowymi lub znakami towarowymi firmy ARM Ltd. Windows® jest zastrzeżonym znakiem towarowym firmy Microsoft Corporation w USA i innych krajach. Inne terminy i nazwy produktów mogą być znakami towarowymi innych osób.
ZASTRZEŻENIE: Informacje zawarte w tym dokumencie dotyczą produktów firmy Atmel. W niniejszym dokumencie lub w związku ze sprzedażą produktów firmy Atmel nie jest udzielana żadna licencja, wyraźna lub dorozumiana, w drodze estoppelu lub w inny sposób, do jakichkolwiek praw własności intelektualnej. Z WYJĄTKIEM OKREŚLONYCH W WARUNKACH SPRZEDAŻY ATMEL ZNAJDUJĄCYCH SIĘ NA ATMEL WEBWITRYNY ATMEL NIE PONOSI ŻADNEJ ODPOWIEDZIALNOŚCI I ZRZEKA SIĘ WSZELKICH WYRAŹNYCH, DOROZUMIANYCH LUB USTAWOWYCH GWARANCJI DOTYCZĄCYCH JEJ PRODUKTÓW, W TYM M.in. DOMNIEMANEJ GWARANCJI WARTOŚCI HANDLOWEJ, PRZYDATNOŚCI DO OKREŚLONEGO CELU LUB NIENARUSZANIA PRAW. W ŻADNYM WYPADKU ATMEL NIE BĘDZIE ODPOWIEDZIALNY ZA JAKIEKOLWIEK BEZPOŚREDNIE, POŚREDNIE, WYNIKOWE, KARNE, SPECJALNE LUB PRZYPADKOWE SZKODY (W TYM M.in. SZKODY Z TYTUŁU STRATY I ZYSKÓW, PRZERWY W PROWADZENIU DZIAŁALNOŚCI LUB UTRATY INFORMACJI) WYNIKAJĄCYCH Z UŻYCIA LUB NIEMOŻLIWOŚCI KORZYSTANIA NINIEJSZEGO DOKUMENTU, NAWET JEŚLI ATMEL ZOSTAŁ ZALECONY
O MOŻLIWOŚCI WYSTĄPIENIA TAKICH SZKÓD. Atmel nie składa żadnych oświadczeń ani nie udziela żadnych gwarancji w odniesieniu do dokładności lub kompletności treści tego dokumentu i zastrzega sobie prawo do wprowadzania zmian w specyfikacjach i opisach produktów w dowolnym momencie i bez powiadomienia. Atmel nie zobowiązuje się do aktualizacji informacji zawartych w niniejszym dokumencie. O ile wyraźnie nie określono inaczej, produkty firmy Atmel nie nadają się i nie powinny być używane w zastosowaniach motoryzacyjnych. Produkty firmy Atmel nie są przeznaczone, autoryzowane ani objęte gwarancją do użytku jako komponenty w zastosowaniach mających na celu podtrzymanie lub podtrzymanie życia.
ZRZECZENIE SIĘ ODPOWIEDZIALNOŚCI DO ZASTOSOWAŃ KRYTYCZNYCH DLA BEZPIECZEŃSTWA, WOJSKOWYCH I MOTORYZACYJNYCH: Produkty Atmel nie są przeznaczone i nie będą używane w połączeniu z jakimikolwiek aplikacjami, w których awaria takich produktów może spowodować poważne obrażenia ciała lub śmierć („Kluczowe dla bezpieczeństwa Aplikacje”) bez wyraźnej pisemnej zgody pracownika Atmel. Zastosowania krytyczne dla bezpieczeństwa obejmują, bez ograniczeń, urządzenia i systemy podtrzymywania życia, sprzęt lub systemy do obsługi obiektów jądrowych i systemów uzbrojenia. Produkty Atmel nie są zaprojektowane ani przeznaczone do użytku w zastosowaniach lub środowiskach wojskowych lub lotniczych, chyba że firma Atmel wyraźnie określiła je jako produkty klasy wojskowej. Produkty Atmel nie są zaprojektowane ani przeznaczone do użytku w zastosowaniach motoryzacyjnych, chyba że zostały wyraźnie określone przez Atmel jako klasa motoryzacyjna.
Korporacja Atmel
1600 Technology Drive, San Jose, Kalifornia 95110 USA
T: (+1)(408) 441.0311
F: (+1)(408) 436.4200
www.atmel.com
© 2016 Atmel Corporation.
Wer.: Atmel-42330C-Atmel-ICE_Przewodnik użytkownika-10/2016
Dokumenty / Zasoby
![]() |
Atmel Programiści debugerów Atmel-ICE [plik PDF] Instrukcja użytkownika Programiści debugerów Atmel-ICE, Atmel-ICE, Programiści debugerów, Programiści |