Programátory ICE Debugger
Uživatelská příručka Programátoři a debuggery
Atmel-ICE
UŽIVATELSKÁ PŘÍRUČKA
Debugger Atmel-ICE
Atmel-ICE je výkonný vývojový nástroj pro ladění a programování mikrokontrolérů Atmel ®SAM a Atmel AVR založených na ARM® Cortex®-M se schopností ® On-Chip Debug.
Podporuje:
- Programování a ladění na čipu všech 32bitových mikrokontrolérů Atmel AVR na obou JTAG a rozhraní aWire
- Programování a ladění na čipu všech zařízení Atmel AVR XMEGA® na obou zařízeních JTAG a PDI 2-drátové rozhraní
- Programování (JTAG, SPI, UPDI) a ladění všech 8bitových mikrokontrolérů Atmel AVR s podporou OCD na obou JTAG, debugWIRE nebo UPDI rozhraní
- Programování a ladění všech mikrokontrolérů Atmel SAM ARM Cortex-M na SWD i JTAG rozhraní
- Programování (TPI) všech 8bitových mikrokontrolérů Atmel tinyAVR® s podporou tohoto rozhraní
Úplný seznam zařízení a rozhraní podporovaných touto verzí firmwaru naleznete v seznamu podporovaných zařízení v uživatelské příručce Atmel Studio.
Zavedení
1.1. Úvod do Atmel-ICE
Atmel-ICE je výkonný vývojový nástroj pro ladění a programování mikrokontrolérů Atmel SAM a Atmel AVR založených na ARM Cortex-M s možností ladění na čipu.
Podporuje:
- Programování a ladění na čipu všech mikrokontrolérů Atmel AVR UC3 na obou JTAG a rozhraní aWire
- Programování a ladění na čipu všech zařízení rodiny AVR XMEGA na obou JTAG a PDI 2wire rozhraní
- Programování (JTAG a SPI) a ladění všech 8bitových mikrokontrolérů AVR s podporou OCD na obou JTAG nebo debugWIRE rozhraní
- Programování a ladění všech mikrokontrolérů Atmel SAM ARM Cortex-M na SWD i JTAG rozhraní
- Programování (TPI) všech 8bitových mikrokontrolérů Atmel tinyAVR s podporou tohoto rozhraní
1.2. Vlastnosti Atmel-ICE
- Plně kompatibilní s Atmel Studio
- Podporuje programování a ladění všech 3bitových mikrokontrolérů Atmel AVR UC32
- Podporuje programování a ladění všech 8bitových zařízení AVR XMEGA
- Podporuje programování a ladění všech 8bitových zařízení Atmel megaAVR® a tinyAVR s OCD
- Podporuje programování a ladění všech mikrokontrolérů založených na SAM ARM Cortex-M
- Cílový provozní objtage rozsah 1.62V až 5.5V
- Odebírá méně než 3 mA z cílového VTref při použití rozhraní debugWIRE a méně než 1 mA pro všechna ostatní rozhraní
- Podporuje JTAG taktovací frekvence od 32 kHz do 7.5 MHz
- Podporuje taktovací frekvence PDI od 32 kHz do 7.5 MHz
- Podporuje přenosové rychlosti debugWIRE od 4 kbit/s do 0.5 Mbit/s
- Podporuje přenosové rychlosti aWire od 7.5 kbit/s do 7 Mbit/s
- Podporuje taktovací frekvence SPI od 8kHz do 5MHz
- Podporuje přenosové rychlosti UPDI až do 750 kbit/s
- Podporuje taktovací frekvence SWD od 32 kHz do 10 MHz
- USB 2.0 vysokorychlostní hostitelské rozhraní
- Zachycení sériového trasování ITM rychlostí až 3 MB/s
- Podporuje rozhraní DGI SPI a USART, když neprobíhá ladění nebo programování
- Podporuje 10-pin 50-mil JTAG konektor s konektory AVR i Cortex. Standardní kabel sondy podporuje AVR 6-pin ISP/PDI/TPI 100-mil headery, stejně jako 10-pin 50-mil. K dispozici je adaptér pro podporu 6pinových 50 mil, 10pinových 100 mil a 20pinových 100 mil headerů. K dispozici je několik možností sady s různými kabely a adaptéry.
1.3. Systémové požadavky
Jednotka Atmel-ICE vyžaduje, aby bylo na vašem počítači nainstalováno front-endové ladicí prostředí Atmel Studio verze 6.2 nebo novější.
Atmel-ICE by měl být připojen k hostitelskému počítači pomocí dodaného kabelu USB nebo certifikovaného kabelu Micro-USB.
Začínáme s Atmel-ICE
2.1. Kompletní obsah sady
Kompletní sada Atmel-ICE obsahuje tyto položky:
- Jednotka Atmel-ICE
- USB kabel (1.8 m, vysokorychlostní, Micro-B)
- Adaptérová deska obsahující 50mil AVR, 100mil AVR/SAM a 100mil 20pinové SAM adaptéry
- IDC plochý kabel s 10kolíkovým konektorem 50 mil a 6kolíkovým konektorem 100 mil
- 50-mil 10-kolíkový mini squid kabel s 10 x 100-mil zásuvkami
Obrázek 2-1. Kompletní obsah sady Atmel-ICE2.2. Základní obsah sady
Základní sada Atmel-ICE obsahuje tyto položky:
- Jednotka Atmel-ICE
- USB kabel (1.8 m, vysokorychlostní, Micro-B)
- IDC plochý kabel s 10kolíkovým konektorem 50 mil a 6kolíkovým konektorem 100 mil
Obrázek 2-2. Obsah základní sady Atmel-ICE2.3. Obsah sady PCBA
Sada Atmel-ICE PCBA obsahuje tyto položky:
- Jednotka Atmel-ICE bez plastového zapouzdření
Obrázek 2-3. Obsah sady Atmel-ICE PCBA2.4. Sady náhradních dílů
K dispozici jsou následující sady náhradních dílů:
- Sada adaptéru
- Kabelová sada
Obrázek 2-4. Obsah sady adaptéru Atmel-ICE2.5. Kit Overview
Možnosti sady Atmel-ICE jsou schematicky znázorněny zde:
Obrázek 2-6. Atmel-ICE Kit Overview2.6. Sestavení Atmel-ICE
Jednotka Atmel-ICE se dodává bez připojených kabelů. V celé sadě jsou k dispozici dvě možnosti kabelů:
- 50mil 10kolíkový plochý kabel IDC s 6kolíkovým ISP a 10kolíkovým konektorem
- 50 mil 10kolíkový mini-squid kabel s 10 x 100 mil zásuvkami
Obrázek 2-7. Kabely Atmel-ICEPro většinu účelů lze použít 50mil 10pinový plochý kabel IDC, který se připojuje nativně k jeho 10pinovým nebo 6pinovým konektorům, nebo se připojuje přes adaptérovou desku. Na jednom malém PCBA jsou k dispozici tři adaptéry. Součástí jsou následující adaptéry:
- 100 mil 10pin JTAG/SWD adaptér
- 100mil 20kolíkový SAM JTAG/SWD adaptér
- 50mil 6kolíkový adaptér SPI/debugWIRE/PDI/aWire
Obrázek 2-8. Adaptéry Atmel-ICEPoznámka:
50 mil JTAG adaptér nebyl dodán – je to proto, že 50mil 10kolíkový kabel IDC lze použít k přímému připojení k 50mil JTAG záhlaví. Číslo dílu součásti použité pro 50mil 10kolíkový konektor naleznete v části Čísla dílů cílových konektorů Atmel-ICE.
6kolíkový ISP/PDI konektor je součástí 10kolíkového kabelu IDC. Toto ukončení lze odříznout, pokud to není vyžadováno.
Chcete-li sestavit svůj Atmel-ICE do výchozí konfigurace, připojte k jednotce 10kolíkový 50mil kabel IDC, jak je znázorněno níže. Ujistěte se, že je kabel orientován tak, aby červený vodič (pin 1) na kabelu byl zarovnán s trojúhelníkovým indikátorem na modrém pásu krytu. Kabel by měl být připojen směrem nahoru od jednotky. Ujistěte se, že jste připojeni k portu odpovídajícímu pinoutu vašeho cíle – AVR nebo SAM.
Obrázek 2-9. Připojení kabelu Atmel-ICEObrázek 2-10. Připojení sondy Atmel-ICE AVR
Obrázek 2-11. Připojení sondy Atmel-ICE SAM
2.7. Otevření Atmel-ICE
Poznámka:
Pro normální provoz se jednotka Atmel-ICE nesmí otevírat. Otevření jednotky je na vlastní nebezpečí.
Měla by být přijata antistatická opatření.
Skříň Atmel-ICE se skládá ze tří samostatných plastových součástí – horního krytu, spodního krytu a modrého pásu – které se při montáži zaklapnou. Chcete-li jednotku otevřít, jednoduše vložte velký plochý šroubovák do otvorů v modrém pásu, zatlačte dovnitř a jemně otočte. Opakujte postup u ostatních otvorů pro patentky a horní kryt se vysune.
Obrázek 2-12. Otevření Atmel-ICE (1)
Obrázek 2-13. Otevření Atmel-ICE (2)
Obrázek 2-14. Otevření Atmel-ICE(3)
Chcete-li jednotku znovu zavřít, jednoduše srovnejte horní a spodní kryt a pevně je přitlačte k sobě.
2.8. Napájení Atmel-ICE
Atmel-ICE je napájen ze sběrnice USB voltagE. K provozu vyžaduje méně než 100 mA, a proto může být napájen přes USB hub. LED napájení se rozsvítí, když je jednotka zapojena. Pokud není připojena v rámci aktivní programovací nebo ladicí relace, jednotka přejde do režimu nízké spotřeby, aby se šetřila baterie vašeho počítače. Atmel-ICE nelze vypnout – pokud se nepoužívá, měl by být odpojen.
2.9. Připojení k hostitelskému počítači
Atmel-ICE komunikuje primárně pomocí standardního HID rozhraní a nevyžaduje speciální ovladač na hostitelském počítači. Chcete-li používat pokročilou funkci Data Gateway Atmel-ICE, nainstalujte ovladač USB na hostitelský počítač. To se provádí automaticky při instalaci front-end softwaru poskytovaného zdarma společností Atmel. Vidět www.atmel.com pro další informace nebo stažení nejnovějšího softwaru front-end.
Atmel-ICE musí být připojen k volnému USB portu na hostitelském počítači pomocí dodaného USB kabelu nebo vhodného USB certifikovaného mikro kabelu. Atmel-ICE obsahuje řadič kompatibilní s USB 2.0 a může pracovat v režimu plné rychlosti i vysoké rychlosti. Pro dosažení nejlepších výsledků připojte Atmel-ICE přímo k vysokorychlostnímu rozbočovači USB 2.0 na hostitelském počítači pomocí dodaného kabelu.
2.10. Instalace ovladače USB
2.10.1. Windows
Při instalaci Atmel-ICE na počítač se systémem Microsoft® Windows® se USB ovladač načte při prvním připojení Atmel-ICE.
Poznámka:
Před prvním připojením jednotky do zásuvky se ujistěte, že jste nainstalovali softwarové balíčky front-end.
Po úspěšné instalaci se Atmel-ICE objeví ve správci zařízení jako „Human Interface Device“.
Připojení Atmel-ICE
3.1. Připojení k cílovým zařízením AVR a SAM
Atmel-ICE je vybaven dvěma 50mil 10kolíkovými JTAG konektory. Oba konektory jsou přímo elektricky propojeny, ale odpovídají dvěma různým vývodům; společnost AVR JTAG záhlaví a záhlaví ARM Cortex Debug. Konektor by měl být vybrán na základě pinu cílové desky, nikoli cílového typu MCU – napřampZařízení SAM namontované v zásobníku AVR STK® 600 by mělo používat hlavičku AVR.
V různých sadách Atmel-ICE jsou k dispozici různé kabely a adaptéry. Konecview Zobrazí se možnosti připojení.
Obrázek 3-1. Možnosti připojení Atmel-ICEČervený vodič označuje kolík 1 10kolíkového 50mil konektoru. Pin 1 6-pinového 100-mil konektoru je umístěn napravo od klíčování, když je konektor vidět z kabelu. Pin 1 každého konektoru na adaptéru je označen bílou tečkou. Obrázek níže ukazuje pinout ladicího kabelu. Konektor označený A se zasune do debuggeru, zatímco strana B se zapojí do cílové desky.
Obrázek 3-2. Ladění pinů kabelu
3.2. Připojení k JTAG Cíl
Atmel-ICE je vybaven dvěma 50mil 10kolíkovými JTAG konektory. Oba konektory jsou přímo elektricky propojeny, ale odpovídají dvěma různým vývodům; společnost AVR JTAG záhlaví a záhlaví ARM Cortex Debug. Konektor by měl být vybrán na základě pinu cílové desky, nikoli cílového typu MCU – napřampzařízení SAM namontované v zásobníku AVR STK600 by mělo používat hlavičku AVR.
Doporučený vývod pro 10pinový AVR JTAG konektor je znázorněn na obrázku 4-6. Doporučený vývod pro 10pinový konektor ARM Cortex Debug je znázorněn na obrázku 4-2.
Přímé připojení ke standardnímu 10pinovému 50mil adaptéru
Použijte 50mil 10kolíkový plochý kabel (součástí některých sad) pro přímé připojení k desce podporující tento typ headeru. Použijte port konektoru AVR na Atmel-ICE pro záhlaví s vývodem AVR a port konektoru SAM pro záhlaví vyhovující vývodu záhlaví ARM Cortex Debug.
Pinouty pro oba porty 10pinového konektoru jsou zobrazeny níže.
Připojení ke standardnímu 10pinovému 100mil adaptéru
Použijte standardní adaptér 50 mil až 100 mil pro připojení k 100 mil adaptérům. K tomuto účelu lze použít adaptérovou desku (součástí některých sad) nebo alternativně JTAGAdaptér ICE3 lze použít pro cíle AVR.
Důležité:
JTAGAdaptér ICE3 100-mil nelze použít s portem konektoru SAM, protože kolíky 2 a 10 (AVR GND) na adaptéru jsou propojeny.
Připojení na vlastní 100 mil adaptér
Pokud vaše cílová deska nemá vyhovující 10pinový JTAG header v 50 nebo 100 mil, můžete mapovat na vlastní pinout pomocí 10kolíkového kabelu „mini-squid“ (součástí některých sad), který umožňuje přístup k deseti jednotlivým 100-mil zásuvkám.
Připojení k 20kolíkové hlavě 100 milr
Použijte desku adaptéru (součástí některých sad) pro připojení k terčům s 20kolíkovým 100 mil záhlavím.
Tabulka 3-1. Atmel-ICE JTAG Popis pinu
Jméno | AVR port pin | SAM port pin | Popis |
TCK | 1 | 4 | Test Clock (hodinový signál z Atmel-ICE do cílového zařízení). |
TMS | 5 | 2 | Test Mode Select (řídící signál z Atmel-ICE do cílového zařízení). |
TDI | 9 | 8 | Test Data In (data přenášená z Atmel-ICE do cílového zařízení). |
TDO | 3 | 6 | Test Data Out (data přenášená z cílového zařízení do Atmel-ICE). |
nTRST | 8 | – | Testovací reset (volitelné, pouze na některých zařízeních AVR). Používá se k resetování JTAG TAP ovladač. |
nSRST | 6 | 10 | Resetovat (volitelné). Používá se k resetování cílového zařízení. Připojení tohoto kolíku se doporučuje, protože umožňuje Atmel-ICE udržet cílové zařízení ve stavu resetování, což může být v určitých scénářích nezbytné pro ladění. |
VTG | 4 | 1 | Cílová svtage odkaz. Společnost Atmel-ICE samples the target svtage na tomto kolíku, aby byly převodníky úrovně správně napájeny. Atmel-ICE odebírá z tohoto pinu méně než 3 mA v režimu debugWIRE a méně než 1 mA v ostatních režimech. |
GND | 2, 10 | 3, 5, 9 | Země. Všechny musí být propojeny, aby bylo zajištěno, že Atmel-ICE a cílové zařízení sdílejí stejnou referenční zem. |
3.3. Připojení k cíli aWire Target
Rozhraní aWire vyžaduje kromě VCC a GND pouze jednu datovou linku. Na cíli je tento řádek řádek nRESET, ačkoli debugger používá JTAG Linka TDO jako datová linka.
Doporučený vývod pro 6pinový konektor aWire je znázorněn na obrázku 4-8.
Připojení k 6pinovému 100mil aWire headeru
Použijte 6kolíkový 100-mil konektor na plochém kabelu (součástí některých sad) pro připojení ke standardní 100-mil aWire sběrnici.
Připojení k 6pinovému 50mil aWire headeru
Použijte desku adaptéru (součástí některých sad) pro připojení ke standardní 50-mil aWire sběrnici.
Připojení na vlastní 100 mil adaptér
10kolíkový kabel mini-squid by měl být použit k propojení mezi portem konektoru Atmel-ICE AVR a cílovou deskou. Jsou vyžadována tři připojení, jak je popsáno v tabulce níže.
Tabulka 3-2. Atmel-ICE aWire Pin Mapping
Piny portu Atmel-ICE AVR |
Cílové kolíky | Mini-chobotnice pin |
aWire pinout |
Pin 1 (TCK) | 1 | ||
Pin 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | DATA | 3 | 1 |
Pin 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | 6 | ||
Pin 7 (Nepřipojeno) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Pin 10 (GND) | 0 |
3.4. Připojení k cíli PDI
Doporučený vývod pro 6pinový konektor PDI je znázorněn na obrázku 4-11.
Připojení k 6pinovému 100mil PDI headeru
Použijte 6kolíkový 100-mil konektor na plochém kabelu (součástí některých sad) pro připojení ke standardní 100-mil PDI sběrnici.
Připojení k 6pinovému 50mil PDI headeru
Pro připojení ke standardní 50mil PDI sběrnici použijte adaptérovou desku (součástí některých sad).
Připojení na vlastní 100 mil adaptér
10kolíkový kabel mini-squid by měl být použit k propojení mezi portem konektoru Atmel-ICE AVR a cílovou deskou. Jsou vyžadována čtyři připojení, jak je popsáno v tabulce níže.
Důležité:
Požadované pinout se liší od JTAGICE mkII JTAG sonda, kde PDI_DATA je připojeno k pinu 9. Atmel-ICE je kompatibilní s pinem používaným Atmel-ICE, JTAGProdukty ICE3, AVR ONE! a AVR Dragon™.
Tabulka 3-3. Atmel-ICE PDI Pin Mapping
Piny portu Atmel-ICE AVR | Cílové kolíky | Mini-chobotnice pin |
aWire pinout |
Pin 1 (TCK) | 1 | ||
Pin 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | DATA | 3 | 1 |
Pin 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | 6 | ||
Pin 7 (Nepřipojeno) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Pin 10 (GND) | 0 |
3.4 Připojení k cíli PDI
Doporučený vývod pro 6pinový konektor PDI je znázorněn na obrázku 4-11.
Připojení k 6pinovému 100mil PDI headeru
Použijte 6kolíkový 100-mil konektor na plochém kabelu (součástí některých sad) pro připojení ke standardní 100-mil PDI sběrnici.
Připojení k 6pinovému 50mil PDI headeru
Pro připojení ke standardní 50mil PDI sběrnici použijte adaptérovou desku (součástí některých sad).
Připojení na vlastní 100 mil adaptér
10kolíkový kabel mini-squid by měl být použit k propojení mezi portem konektoru Atmel-ICE AVR a cílovou deskou. Jsou vyžadována čtyři připojení, jak je popsáno v tabulce níže.
Důležité:
Požadované pinout se liší od JTAGICE mkII JTAG sonda, kde PDI_DATA je připojeno k pinu 9. Atmel-ICE je kompatibilní s pinem používaným Atmel-ICE, JTAGICE3, AVR ONE! a AVR Dragon™ produkty.
Tabulka 3-3. Atmel-ICE PDI Pin Mapping
Pin portu Atmel-ICE AVR | Cílové kolíky | Mini-chobotnice pin | Pinout Atmel STK600 PDI |
Pin 1 (TCK) | 1 | ||
Pin 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | PDI_DATA | 3 | 1 |
Pin 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | PDI_CLK | 6 | 5 |
Pin 7 (nepřipojen) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Pin 10 (GND) | 0 |
3.5 Připojení k cíli UPDI Target
Doporučený vývod pro 6pinový konektor UPDI je znázorněn na obrázku 4-12.
Připojení k 6pinovému 100mil UPDI headeru
Použijte 6kolíkový 100-mil konektor na plochém kabelu (součástí některých sad) pro připojení ke standardní 100-mil UPDI sběrnici.
Připojení k 6pinovému 50mil UPDI headeru
Použijte desku adaptéru (součástí některých sad) pro připojení ke standardní 50mil UPDI sběrnici.
Připojení na vlastní 100 mil adaptér
10kolíkový kabel mini-squid by měl být použit k propojení mezi portem konektoru Atmel-ICE AVR a cílovou deskou. Jsou vyžadována tři připojení, jak je popsáno v tabulce níže.
Tabulka 3-4. Mapování pinů Atmel-ICE UPDI
Pin portu Atmel-ICE AVR | Cílové kolíky | Mini-chobotnice pin |
Pinout Atmel STK600 UPDI |
Pin 1 (TCK) | 1 | ||
Pin 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) | [/RESETOVAT smysl] | 6 | 5 |
Pin 7 (Nepřipojeno) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Pin 10 (GND) | 0 |
3.6 Připojení k cíli debugWIRE
Doporučený vývod pro 6pinový konektor debugWIRE (SPI) je uveden v tabulce 3-6.
Připojení k 6pinovému 100mil SPI headeru
Použijte 6kolíkový 100-mil konektor na plochém kabelu (součástí některých sad) pro připojení ke standardní 100-mil SPI sběrnici.
Připojení k 6pinovému 50mil SPI headeru
Použijte desku adaptéru (součástí některých sad) pro připojení ke standardní 50-mil SPI sběrnici.
Připojení na vlastní 100 mil adaptér
10kolíkový kabel mini-squid by měl být použit k propojení mezi portem konektoru Atmel-ICE AVR a cílovou deskou. Jsou vyžadována tři připojení, jak je popsáno v tabulce 3-5.
Přestože rozhraní debugWIRE vyžaduje pouze jednu signální linku (RESET), VCC a GND správně fungovat, doporučuje se mít přístup k úplnému konektoru SPI, aby bylo možné povolit a zakázat rozhraní debugWIRE pomocí programování SPI.
Když je aktivována pojistka DWEN, rozhraní SPI je interně potlačeno, aby modul OCD mohl ovládat pin RESET. DebugWIRE OCD se dokáže dočasně deaktivovat (pomocí tlačítka na záložce ladění v dialogu vlastností v Atmel Studiu), a tím uvolnit kontrolu nad řádkou RESET. Rozhraní SPI je poté opět k dispozici (pouze pokud je naprogramována pojistka SPIEN), což umožňuje odprogramování pojistky DWEN pomocí rozhraní SPI. Pokud dojde k přepnutí napájení před odprogramováním pojistky DWEN, modul debugWIRE opět převezme kontrolu nad pinem RESET.
Poznámka:
Důrazně se doporučuje nechat nastavení a vymazání pojistky DWEN jednoduše nechat Atmel Studio.
Není možné použít rozhraní debugWIRE, pokud jsou naprogramovány lockbity na cílovém zařízení AVR. Před programováním pojistky DWEN se vždy ujistěte, že jsou zajišťovací bity vyjmuty, a nikdy nenastavujte zajišťovací bity, když je pojistka DWEN naprogramována. Pokud jsou nastaveny jak pojistka povolení debugWIRE (DWEN), tak zajišťovací bity, lze použít High Voltage Programování k vymazání čipu a tím k vymazání zámků.
Když jsou blokovací bity vymazány, rozhraní debugWIRE bude znovu povoleno. Rozhraní SPI je schopno číst pojistky, číst podpis a provádět mazání čipu, když není pojistka DWEN naprogramována.
Tabulka 3-5. Mapování pinů Atmel-ICE debugWIRE
Pin portu Atmel-ICE AVR | Cílové kolíky |
Mini-chobotnice pin |
Pin 1 (TCK) | 1 | |
Pin 2 (GND) | GND | 2 |
Pin 3 (TDO) | 3 | |
Pin 4 (VTG) | VTG | 4 |
Pin 5 (TMS) | 5 | |
Pin 6 (nSRST) | RESETOVAT | 6 |
Pin 7 (Nepřipojeno) | 7 | |
Pin 8 (nTRST) | 8 | |
Pin 9 (TDI) | 9 | |
Pin 10 (GND) | 0 |
3.7 Připojení k cíli SPI Target
Doporučený vývod pro 6pinový konektor SPI je znázorněn na obrázku 4-10.
Připojení k 6pinovému 100mil SPI headeru
Použijte 6kolíkový 100-mil konektor na plochém kabelu (součástí některých sad) pro připojení ke standardní 100-mil SPI sběrnici.
Připojení k 6pinovému 50mil SPI headeru
Použijte desku adaptéru (součástí některých sad) pro připojení ke standardní 50-mil SPI sběrnici.
Připojení na vlastní 100 mil adaptér
10kolíkový kabel mini-squid by měl být použit k propojení mezi portem konektoru Atmel-ICE AVR a cílovou deskou. Je vyžadováno šest připojení, jak je popsáno v tabulce níže.
Důležité:
Rozhraní SPI je efektivně deaktivováno, když je naprogramována pojistka povolení debugWIRE (DWEN), i když je naprogramována také pojistka SPIEN. Chcete-li znovu povolit rozhraní SPI, musí být během relace ladění debugWIRE vydán příkaz „disable debugWIRE“. Zakázání debugWIRE tímto způsobem vyžaduje, aby byla pojistka SPIEN již naprogramována. Pokud se Atmel Studio nepodaří zakázat debugWIRE, je to pravděpodobné, protože pojistka SPIEN NENÍ naprogramována. Pokud tomu tak je, je nutné použít vysokoobjemovýtagProgramovací rozhraní pro programování pojistky SPIEN.
Info:
Rozhraní SPI je často označováno jako „ISP“, protože to bylo první rozhraní pro programování v systému na produktech Atmel AVR. Pro programování v systému jsou nyní k dispozici další rozhraní.
Tabulka 3-6. Atmel-ICE SPI Pin Mapping
Piny portu Atmel-ICE AVR | Cílové kolíky | Mini-chobotnice pin |
Pinout SPI |
Pin 1 (TCK) | SCK | 1 | 3 |
Pin 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | MISO | 3 | 1 |
Pin 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | /RESET | 6 | 5 |
Pin 7 (nepřipojen) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | LELKOVAT | 9 | 4 |
Pin 10 (GND) | 0 |
3.8 Připojení k cíli TPI Target
Doporučený vývod pro 6pinový konektor TPI je znázorněn na obrázku 4-13.
Připojení k 6pinovému 100mil TPI headeru
Použijte 6kolíkový 100-mil konektor na plochém kabelu (součástí některých sad) pro připojení ke standardní 100-mil TPI headeru.
Připojení k 6pinovému 50mil TPI headeru
Použijte desku adaptéru (součástí některých sad) pro připojení ke standardní 50mil TPI sběrnici.
Připojení na vlastní 100 mil adaptér
10kolíkový kabel mini-squid by měl být použit k propojení mezi portem konektoru Atmel-ICE AVR a cílovou deskou. Je vyžadováno šest připojení, jak je popsáno v tabulce níže.
Tabulka 3-7. Mapování pinů Atmel-ICE TPI
Piny portu Atmel-ICE AVR | Cílové kolíky | Mini-chobotnice pin |
Pinout TPI |
Pin 1 (TCK) | HODINY | 1 | 3 |
Pin 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | DATA | 3 | 1 |
Pin 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 |
Pin 6 (nSRST) | /RESET | 6 | 5 |
Pin 7 (nepřipojen) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Pin 10 (GND) | 0 |
3.9 Připojení k cíli SWD Target
Rozhraní ARM SWD je podmnožinou rozhraní JTAG rozhraní využívající piny TCK a TMS, což znamená, že při připojení k zařízení SWD je 10pinový JTAG konektor lze technicky použít. ARM JTAG a AVR JTAG konektory však nejsou kompatibilní s kolíky, takže to závisí na uspořádání použité cílové desky. Při použití STK600 nebo desky využívající AVR JTAG pinout, musí být použit port konektoru AVR na Atmel-ICE. Při připojení k desce, která využívá ARM JTAG pinout, musí být použit port konektoru SAM na Atmel-ICE.
Doporučený vývod pro 10kolíkový konektor Cortex Debug je znázorněn na obrázku 4-4.
Připojení k 10pinovému 50mil Cortex headeru
Použijte plochý kabel (součástí některých sad) pro připojení ke standardní 50mil Cortex headeru.
Připojení k 10pinovému 100mil Cortex-layout headeru
Použijte desku adaptéru (součástí některých sad) pro připojení k 100-mil Cortex-pinout headeru.
Připojení k 20pinovému 100mil SAM headeru
Použijte desku adaptéru (součástí některých sad) pro připojení k 20pinovému 100mil SAM headeru.
Připojení na vlastní 100 mil adaptér
10kolíkový kabel mini-squid by měl být použit pro připojení mezi portem konektoru Atmel-ICE AVR nebo SAM a cílovou deskou. Je vyžadováno šest připojení, jak je popsáno v tabulce níže.
Tabulka 3-8. Mapování pinů Atmel-ICE SWD
Jméno | AVR port pin | SAM port pin | Popis |
SWDC LK | 1 | 4 | Hodiny pro ladění sériového drátu. |
SWDIO | 5 | 2 | Serial Wire Debug Data Input/Output. |
SWO | 3 | 6 | Serial Wire Output (volitelný – není implementován na všech zařízeních). |
nSRST | 6 | 10 | Resetovat. |
VTG | 4 | 1 | Cílová svtage odkaz. |
GND | 2, 10 | 3, 5, 9 | Země. |
3.10 Připojení k rozhraní Data Gateway
Atmel-ICE podporuje omezené rozhraní Data Gateway Interface (DGI), když se nepoužívá ladění a programování. Funkčnost je identická jako u sad Atmel Xplained Pro poháněných zařízením Atmel EDBG.
Data Gateway Interface je rozhraní pro streamování dat z cílového zařízení do počítače. To je myšleno jako pomůcka při ladění aplikací a také pro demonstraci funkcí v aplikaci běžící na cílovém zařízení.
DGI se skládá z několika kanálů pro streamování dat. Atmel-ICE podporuje následující režimy:
- USART
- SPI
Tabulka 3-9. Pinout Atmel-ICE DGI USART
AVR port |
SAM port | Pin DGI USART |
Popis |
3 | 6 | TX | Přeneste pin z Atmel-ICE do cílového zařízení |
4 | 1 | VTG | Cílová svtage (referenční svtage) |
8 | 7 | RX | Přijměte pin z cílového zařízení do Atmel-ICE |
9 | 8 | CLK | USART hodiny |
2, 10 | 3, 5, 9 | GND | Země |
Tabulka 3-10. Pinout Atmel-ICE DGI SPI
AVR port |
SAM port | Pin DGI SPI |
Popis |
1 | 4 | SCK | SPI hodiny |
3 | 6 | MISO | Master In Slave Out |
4 | 1 | VTG | Cílová svtage (referenční svtage) |
5 | 2 | nCS | Volba čipu aktivní nízká |
9 | 8 | LELKOVAT | Master Out Slave In |
2, 10 | 3, 5, 9 | GND | Země |
Důležité: Rozhraní SPI a USART nelze používat současně.
Důležité: DGI a programování nebo ladění nelze používat současně.
Ladění na čipu
4.1 Úvod
Ladění na čipu
Modul ladění na čipu je systém, který umožňuje vývojáři sledovat a řídit provádění na zařízení z externí vývojové platformy, obvykle prostřednictvím zařízení známého jako debugger nebo ladicí adaptér.
Se systémem OCD lze aplikaci provádět při zachování přesných elektrických a časových charakteristik v cílovém systému, přičemž je možné zastavit provádění podmíněně nebo ručně a kontrolovat tok programu a paměť.
Režim běhu
V režimu Run je provádění kódu zcela nezávislé na Atmel-ICE. Atmel-ICE bude nepřetržitě monitorovat cílové zařízení, aby zjistil, zda nedošlo k přerušení. Když k tomu dojde, systém OCD provede dotaz zařízení prostřednictvím svého ladicího rozhraní, což uživateli umožní view vnitřní stav zařízení.
Zastavený režim
Když je dosaženo bodu přerušení, provádění programu se zastaví, ale některé I/O mohou pokračovat v běhu, jako by k žádnému bodu přerušení nedošlo. NapřampPředpokládejme, že přenos USART byl právě zahájen při dosažení bodu přerušení. V tomto případě USART pokračuje v běhu plnou rychlostí a dokončuje přenos, i když je jádro v zastaveném režimu.
Hardwarové zlomové body
Cílový modul OCD obsahuje řadu komparátorů programových čítačů implementovaných v hardwaru. Když se počítadlo programu shoduje s hodnotou uloženou v jednom z porovnávacích registrů, OCD přejde do režimu zastavení. Protože hardwarové body přerušení vyžadují vyhrazený hardware na modulu OCD, počet dostupných bodů přerušení závisí na velikosti modulu OCD implementovaného v cíli. Obvykle je jeden takový hardwarový komparátor „rezervován“ debuggerem pro interní použití.
Softwarové zlomové body
Softwarový bod přerušení je instrukce BREAK umístěná v paměti programu na cílovém zařízení. Po načtení této instrukce se provádění programu přeruší a OCD přejde do režimu zastavení. Chcete-li pokračovat ve vykonávání, musíte z OCD zadat příkaz „start“. Ne všechna zařízení Atmel mají OCD moduly podporující instrukci BREAK.
4.2 Zařízení SAM s JTAG/SWD
Všechna zařízení SAM jsou vybavena rozhraním SWD pro programování a ladění. Některá zařízení SAM mají navíc JTAG rozhraní se stejnou funkčností. V datovém listu zařízení vyhledejte podporovaná rozhraní tohoto zařízení.
4.2.1.Součásti ARM CoreSight
Mikrokontroléry Atmel ARM založené na Cortex-M implementují OCD komponenty kompatibilní s CoreSight. Vlastnosti těchto součástí se mohou lišit zařízení od zařízení. Další informace naleznete v datovém listu zařízení a v dokumentaci CoreSight poskytnuté společností ARM.
4.2.1. JTAG Fyzické rozhraní
JTAG rozhraní se skládá ze 4vodičového řadiče Test Access Port (TAP), který je v souladu s IEEE® standard 1149.1. Norma IEEE byla vyvinuta, aby poskytla průmyslový standardní způsob efektivního testování konektivity obvodové desky (Boundary Scan). Zařízení Atmel AVR a SAM rozšířily tuto funkci o plnou podporu programování a ladění na čipu.
Obrázek 4-1. JTAG Základy rozhraní
4.2.2.1 SAM JTAG Pinout (ladicí konektor Cortex-M)
Při návrhu aplikační desky plošných spojů, která obsahuje Atmel SAM s JTAG rozhraní, doporučuje se použít pinout, jak je znázorněno na obrázku níže. V závislosti na kabeláži a adaptérech dodávaných s konkrétní sadou jsou podporovány varianty 100 mil a 50 mil tohoto pinoutu.
Obrázek 4-2. SAM JTAG Pinout záhlaví
Tabulka 4-1. SAM JTAG Popis pinu
Jméno | Kolík |
Popis |
TCK | 4 | Test Clock (hodinový signál z Atmel-ICE do cílového zařízení). |
TMS | 2 | Test Mode Select (řídící signál z Atmel-ICE do cílového zařízení). |
TDI | 8 | Test Data In (data přenášená z Atmel-ICE do cílového zařízení). |
TDO | 6 | Test Data Out (data přenášená z cílového zařízení do Atmel-ICE). |
nRESET | 10 | Resetovat (volitelné). Používá se k resetování cílového zařízení. Připojení tohoto kolíku se doporučuje, protože umožňuje Atmel-ICE udržet cílové zařízení ve stavu resetování, což může být v určitých scénářích nezbytné pro ladění. |
VTG | 1 | Cílová svtage odkaz. Společnost Atmel-ICE samples the target svtage na tomto kolíku, aby byly převodníky úrovně správně napájeny. Atmel-ICE v tomto režimu odebírá z tohoto pinu méně než 1 mA. |
GND | 3, 5, 9 | Země. Všechny musí být propojeny, aby bylo zajištěno, že Atmel-ICE a cílové zařízení sdílejí stejnou referenční zem. |
KLÍČ | 7 | Připojeno interně ke kolíku TRST na konektoru AVR. Doporučeno jako nepřipojeno. |
Tip: Nezapomeňte zahrnout oddělovací kondenzátor mezi pin 1 a GND.
4.2.2.2 JTAG Sedmikráska Řetězení
JTAG rozhraní umožňuje připojení několika zařízení k jedinému rozhraní v řetězové konfiguraci. Cílová zařízení musí být všechna napájena ze stejného napájecího objtage, sdílejí společný uzemňovací uzel a musí být připojeny tak, jak je znázorněno na obrázku níže.
Obrázek 4-3. JTAG Daisy Chain
Při zapojování zařízení do sériového zapojení je třeba vzít v úvahu následující body:
- Všechna zařízení musí sdílet společnou zem, připojenou ke GND na sondě Atmel-ICE
- Všechna zařízení musí pracovat na stejném cílovém objemutagE. VTG na Atmel-ICE musí být připojen k tomuto svtage.
- TMS a TCK jsou zapojeny paralelně; TDI a TDO jsou zapojeny sériově
- nSRST na sondě Atmel-ICE musí být připojen k RESETu na zařízení, pokud některé ze zařízení v řetězci deaktivuje jeho JTAG přístav
- „Zařízení před“ odkazuje na počet JTAG zařízení, kterými musí signál TDI projít v řetězci, než dosáhne cílového zařízení. Podobně „zařízení po“ je počet zařízení, kterými musí signál projít po cílovém zařízení, než dosáhne Atmel-ICE TDO.
- „Instrukční bity „před“ a „po“ se vztahují k celkovému součtu všech JTAG délky registrů instrukcí zařízení, které jsou zapojeny před a za cílové zařízení v řetězci
- Celková délka IR (bity instrukce před + délka IR cílového zařízení Atmel + bity instrukce za) je omezena na maximálně 256 bitů. Počet zařízení v řetězci je omezen na 15 před a 15 po.
Tip:
Daisy řetězení example: TDI → ATmega1280 → ATxmega128A1 → ATUC3A0512 → TDO.
Pro připojení k Atmel AVR XMEGA® zařízení, nastavení sériového řetězce jsou:
- Zařízení před: 1
- Zařízení po: 1
- Instrukční bity před: 4 (8bitová zařízení AVR mají 4 IR bity)
- Instrukční bity po: 5 (32bitová zařízení AVR mají 5 IR bitů)
Tabulka 4-2. IR délky Atmel MCU
Typ zařízení | IR délka |
AVR 8-bit | 4 bitů |
AVR 32-bit | 5 bitů |
SAM | 4 bitů |
4.2.3. Připojení k JTAG Cíl
Atmel-ICE je vybaven dvěma 50mil 10kolíkovými JTAG konektory. Oba konektory jsou přímo elektricky propojeny, ale odpovídají dvěma různým vývodům; společnost AVR JTAG záhlaví a záhlaví ARM Cortex Debug. Konektor by měl být vybrán na základě pinu cílové desky, nikoli cílového typu MCU – napřampzařízení SAM namontované v zásobníku AVR STK600 by mělo používat hlavičku AVR.
Doporučený vývod pro 10pinový AVR JTAG konektor je znázorněn na obrázku 4-6.
Doporučený vývod pro 10pinový konektor ARM Cortex Debug je znázorněn na obrázku 4-2.
Přímé připojení ke standardnímu 10pinovému 50mil adaptéru
Použijte 50mil 10kolíkový plochý kabel (součástí některých sad) pro přímé připojení k desce podporující tento typ headeru. Použijte port konektoru AVR na Atmel-ICE pro záhlaví s vývodem AVR a port konektoru SAM pro záhlaví vyhovující vývodu záhlaví ARM Cortex Debug.
Pinouty pro oba porty 10pinového konektoru jsou zobrazeny níže.
Připojení ke standardnímu 10pinovému 100mil adaptéru
Použijte standardní adaptér 50 mil až 100 mil pro připojení k 100 mil adaptérům. K tomuto účelu lze použít adaptérovou desku (součástí některých sad) nebo alternativně JTAGAdaptér ICE3 lze použít pro cíle AVR.
Důležité:
JTAGAdaptér ICE3 100-mil nelze použít s portem konektoru SAM, protože kolíky 2 a 10 (AVR GND) na adaptéru jsou propojeny.
Připojení na vlastní 100 mil adaptér
Pokud vaše cílová deska nemá vyhovující 10pinový JTAG header v 50 nebo 100 mil, můžete mapovat na vlastní pinout pomocí 10kolíkového kabelu „mini-squid“ (součástí některých sad), který umožňuje přístup k deseti jednotlivým 100-mil zásuvkám.
Připojení k 20kolíkové 100mil sběrnici
Použijte desku adaptéru (součástí některých sad) pro připojení k terčům s 20kolíkovým 100 mil záhlavím.
Tabulka 4-3. Atmel-ICE JTAG Popis pinu
Jméno | AVR port pin | SAM port pin | Popis |
TCK | 1 | 4 | Test Clock (hodinový signál z Atmel-ICE do cílového zařízení). |
TMS | 5 | 2 | Test Mode Select (řídící signál z Atmel-ICE do cílového zařízení). |
TDI | 9 | 8 | Test Data In (data přenášená z Atmel-ICE do cílového zařízení). |
TDO | 3 | 6 | Test Data Out (data přenášená z cílového zařízení do Atmel-ICE). |
nTRST | 8 | – | Testovací reset (volitelné, pouze na některých zařízeních AVR). Používá se k resetování JTAG TAP ovladač. |
nSRST | 6 | 10 | Resetovat (volitelné). Používá se k resetování cílového zařízení. Připojení tohoto kolíku se doporučuje, protože umožňuje Atmel-ICE udržet cílové zařízení ve stavu resetování, což může být v určitých scénářích nezbytné pro ladění. |
VTG | 4 | 1 | Cílová svtage odkaz. Společnost Atmel-ICE samples the target svtage na tomto kolíku, aby byly převodníky úrovně správně napájeny. Atmel-ICE odebírá z tohoto pinu méně než 3 mA v režimu debugWIRE a méně než 1 mA v ostatních režimech. |
GND | 2, 10 | 3, 5, 9 | Země. Všechny musí být propojeny, aby bylo zajištěno, že Atmel-ICE a cílové zařízení sdílejí stejnou referenční zem. |
4.2.4. Fyzické rozhraní SWD
Rozhraní ARM SWD je podmnožinou rozhraní JTAG rozhraní využívající TCK a TMS piny. ARM JTAG a AVR JTAG konektory však nejsou pinově kompatibilní, takže při návrhu aplikační desky plošných spojů, která využívá zařízení SAM s SWD nebo JTAG rozhraní, doporučuje se použít pinout ARM znázorněný na obrázku níže. Port konektoru SAM na Atmel-ICE lze připojit přímo k tomuto pinu.
Obrázek 4-4. Doporučený ARM SWD/JTAG Pinout záhlaví
Atmel-ICE je schopen streamovat trasování ITM ve formátu UART do hostitelského počítače. Stopa je zachycena na kolíku TRACE/SWO 10kolíkové hlavičky (JTAG TDO kolík). Data jsou interně ukládána do vyrovnávací paměti na Atmel-ICE a jsou odesílána přes HID rozhraní do hostitelského počítače. Maximální spolehlivá rychlost přenosu dat je asi 3 MB/s.
4.2.5. Připojení k cíli SWD Target
Rozhraní ARM SWD je podmnožinou rozhraní JTAG rozhraní využívající piny TCK a TMS, což znamená, že při připojení k zařízení SWD je 10pinový JTAG konektor lze technicky použít. ARM JTAG a AVR JTAG konektory však nejsou kompatibilní s kolíky, takže to závisí na uspořádání použité cílové desky. Při použití STK600 nebo desky využívající AVR JTAG pinout, musí být použit port konektoru AVR na Atmel-ICE. Při připojení k desce, která využívá ARM JTAG pinout, musí být použit port konektoru SAM na Atmel-ICE.
Doporučený vývod pro 10kolíkový konektor Cortex Debug je znázorněn na obrázku 4-4.
Připojení k 10pinovému 50mil Cortex headeru
Použijte plochý kabel (součástí některých sad) pro připojení ke standardní 50mil Cortex headeru.
Připojení k 10pinovému 100mil Cortex-layout headeru
Použijte desku adaptéru (součástí některých sad) pro připojení k 100-mil Cortex-pinout headeru.
Připojení k 20pinovému 100mil SAM headeru
Použijte desku adaptéru (součástí některých sad) pro připojení k 20pinovému 100mil SAM headeru.
Připojení na vlastní 100 mil adaptér
10kolíkový kabel mini-squid by měl být použit pro připojení mezi portem konektoru Atmel-ICE AVR nebo SAM a cílovou deskou. Je vyžadováno šest připojení, jak je popsáno v tabulce níže.
Tabulka 4-4. Mapování pinů Atmel-ICE SWD
Jméno | AVR port pin | SAM port pin | Popis |
SWDC LK | 1 | 4 | Hodiny pro ladění sériového drátu. |
SWDIO | 5 | 2 | Serial Wire Debug Data Input/Output. |
SWO | 3 | 6 | Serial Wire Output (volitelný – není implementován na všech zařízeních). |
nSRST | 6 | 10 | Resetovat. |
VTG | 4 | 1 | Cílová svtage odkaz. |
GND | 2, 10 | 3, 5, 9 | Země. |
4.2.6 Zvláštní úvahy
ERASE pin
Některá zařízení SAM obsahují kolík ERASE, který zajišťuje úplné vymazání čipu a odemknutí zařízení, na kterém je nastaven bezpečnostní bit. Tato funkce je spojena se samotným zařízením i s ovladačem flash a není součástí jádra ARM.
Pin ERASE NENÍ součástí žádné ladicí hlavičky a Atmel-ICE tak není schopen tento signál prosadit k odemčení zařízení. V takových případech by měl uživatel provést vymazání ručně před zahájením relace ladění.
Fyzická rozhraní JTAG rozhraní
Linka RESET by měla být vždy připojena, aby Atmel-ICE mohl aktivovat JTAG rozhraní.
SWD rozhraní
Linka RESET by měla být vždy připojena, aby Atmel-ICE mohl aktivovat rozhraní SWD.
4.3 Zařízení AVR UC3 s JTAG/aWire
Všechna zařízení AVR UC3 jsou vybavena JTAG rozhraní pro programování a ladění. Některá zařízení AVR UC3 jsou navíc vybavena rozhraním aWire se stejnou funkčností pomocí jediného vodiče. V datovém listu zařízení vyhledejte podporovaná rozhraní tohoto zařízení
4.3.1 On-chip Debug System Atmel AVR UC3
Systém Atmel AVR UC3 OCD je navržen v souladu se standardem Nexus 2.0 (IEEE-ISTO 5001™-2003), což je vysoce flexibilní a výkonný otevřený standard pro ladění na čipu pro 32bitové mikrokontroléry. Podporuje následující funkce:
- Řešení pro ladění kompatibilní se zařízením Nexus
- OCD podporuje jakoukoli rychlost CPU
- Šest programových počítadel hardwarových bodů přerušení
- Dva datové zlomy
- Body přerušení lze nakonfigurovat jako body sledování
- Hardwarové body přerušení lze kombinovat, aby se dosáhlo přerušení rozsahů
- Neomezený počet bodů přerušení uživatelského programu (pomocí BREAK)
- Trasování větví čítače programů v reálném čase, trasování dat, trasování procesů (podporováno pouze debuggery s portem pro zachycení paralelního trasování)
Další informace týkající se systému AVR UC3 OCD naleznete v technických referenčních příručkách AVR32UC na www.atmel.com/uc3.
4.3.2. JTAG Fyzické rozhraní
JTAG rozhraní se skládá ze 4vodičového řadiče Test Access Port (TAP), který je v souladu s IEEE® standard 1149.1. Norma IEEE byla vyvinuta, aby poskytla průmyslový standardní způsob efektivního testování konektivity obvodové desky (Boundary Scan). Zařízení Atmel AVR a SAM rozšířily tuto funkci o plnou podporu programování a ladění na čipu.
Obrázek 4-5. JTAG Základy rozhraní
4.3.2.1 AVR JTAG Pinout
Při návrhu aplikační PCB, která obsahuje Atmel AVR s JTAG rozhraní, doporučuje se použít pinout, jak je znázorněno na obrázku níže. V závislosti na kabeláži a adaptérech dodávaných s konkrétní sadou jsou podporovány varianty 100 mil a 50 mil tohoto pinoutu.
Obrázek 4-6. AVR JTAG Pinout záhlaví
Tabulka 4-5. AVR JTAG Popis pinu
Jméno | Kolík |
Popis |
TCK | 1 | Test Clock (hodinový signál z Atmel-ICE do cílového zařízení). |
TMS | 5 | Test Mode Select (řídící signál z Atmel-ICE do cílového zařízení). |
TDI | 9 | Test Data In (data přenášená z Atmel-ICE do cílového zařízení). |
TDO | 3 | Test Data Out (data přenášená z cílového zařízení do Atmel-ICE). |
nTRST | 8 | Testovací reset (volitelné, pouze na některých zařízeních AVR). Používá se k resetování JTAG TAP ovladač. |
nSRST | 6 | Resetovat (volitelné). Používá se k resetování cílového zařízení. Připojení tohoto kolíku se doporučuje, protože umožňuje Atmel-ICE udržet cílové zařízení ve stavu resetování, což může být v určitých scénářích nezbytné pro ladění. |
VTG | 4 | Cílová svtage odkaz. Společnost Atmel-ICE samples the target svtage na tomto kolíku, aby byly převodníky úrovně správně napájeny. Atmel-ICE odebírá z tohoto pinu méně než 3 mA v režimu debugWIRE a méně než 1 mA v ostatních režimech. |
GND | 2, 10 | Země. Oba musí být propojeny, aby bylo zajištěno, že Atmel-ICE a cílové zařízení sdílejí stejnou referenční zem. |
Tip: Nezapomeňte zahrnout oddělovací kondenzátor mezi pin 4 a GND.
4.3.2.2 JTAG Sedmikráska Řetězení
JTAG rozhraní umožňuje připojení několika zařízení k jedinému rozhraní v řetězové konfiguraci. Cílová zařízení musí být všechna napájena ze stejného napájecího objtage, sdílejí společný uzemňovací uzel a musí být připojeny tak, jak je znázorněno na obrázku níže.
Obrázek 4-7. JTAG Daisy Chain
Při zapojování zařízení do sériového zapojení je třeba vzít v úvahu následující body:
- Všechna zařízení musí sdílet společnou zem, připojenou ke GND na sondě Atmel-ICE
- Všechna zařízení musí pracovat na stejném cílovém objemutagE. VTG na Atmel-ICE musí být připojen k tomuto svtage.
- TMS a TCK jsou zapojeny paralelně; TDI a TDO jsou spojeny v sériovém řetězci.
- nSRST na sondě Atmel-ICE musí být připojen k RESETu na zařízení, pokud některé ze zařízení v řetězci deaktivuje jeho JTAG přístav
- „Zařízení před“ odkazuje na počet JTAG zařízení, kterými musí signál TDI projít v řetězci, než dosáhne cílového zařízení. Podobně „zařízení po“ je počet zařízení, kterými musí signál projít po cílovém zařízení, než dosáhne Atmel-ICE TDO.
- „Instrukční bity „před“ a „po“ se vztahují k celkovému součtu všech JTAG délky registrů instrukcí zařízení, které jsou zapojeny před a za cílové zařízení v řetězci
- Celková délka IR (bity instrukce před + délka IR cílového zařízení Atmel + bity instrukce za) je omezena na maximálně 256 bitů. Počet zařízení v řetězci je omezen na 15 před a 15 po.
Tip:
Daisy řetězení example: TDI → ATmega1280 → ATxmega128A1 → ATUC3A0512 → TDO.
Pro připojení k Atmel AVR XMEGA® zařízení, nastavení sériového řetězce jsou:
- Zařízení před: 1
- Zařízení po: 1
- Instrukční bity před: 4 (8bitová zařízení AVR mají 4 IR bity)
- Instrukční bity po: 5 (32bitová zařízení AVR mají 5 IR bitů)
Tabulka 4-6. IR délky Atmel MCUS
Typ zařízení | IR délka |
AVR 8-bit | 4 bitů |
AVR 32-bit | 5 bitů |
SAM | 4 bitů |
4.3.3. Připojení k JTAG Cíl
Atmel-ICE je vybaven dvěma 50mil 10kolíkovými JTAG konektory. Oba konektory jsou přímo elektricky propojeny, ale odpovídají dvěma různým vývodům; společnost AVR JTAG záhlaví a záhlaví ARM Cortex Debug. Konektor by měl být vybrán na základě pinu cílové desky, nikoli cílového typu MCU – napřampzařízení SAM namontované v zásobníku AVR STK600 by mělo používat hlavičku AVR.
Doporučený vývod pro 10pinový AVR JTAG konektor je znázorněn na obrázku 4-6.
Doporučený vývod pro 10pinový konektor ARM Cortex Debug je znázorněn na obrázku 4-2.
Přímé připojení ke standardnímu 10pinovému 50mil adaptéru
Použijte 50mil 10kolíkový plochý kabel (součástí některých sad) pro přímé připojení k desce podporující tento typ headeru. Použijte port konektoru AVR na Atmel-ICE pro záhlaví s vývodem AVR a port konektoru SAM pro záhlaví vyhovující vývodu záhlaví ARM Cortex Debug.
Pinouty pro oba porty 10pinového konektoru jsou zobrazeny níže.
Připojení ke standardnímu 10pinovému 100mil adaptéru
Použijte standardní adaptér 50 mil až 100 mil pro připojení k 100 mil adaptérům. K tomuto účelu lze použít adaptérovou desku (součástí některých sad) nebo alternativně JTAGAdaptér ICE3 lze použít pro cíle AVR.
Důležité:
JTAGAdaptér ICE3 100-mil nelze použít s portem konektoru SAM, protože kolíky 2 a 10 (AVR GND) na adaptéru jsou propojeny.
Připojení na vlastní 100 mil adaptér
Pokud vaše cílová deska nemá vyhovující 10pinový JTAG header v 50 nebo 100 mil, můžete mapovat na vlastní pinout pomocí 10kolíkového kabelu „mini-squid“ (součástí některých sad), který umožňuje přístup k deseti jednotlivým 100-mil zásuvkám.
Připojení k 20kolíkové 100mil sběrnici
Použijte desku adaptéru (součástí některých sad) pro připojení k terčům s 20kolíkovým 100 mil záhlavím.
Tabulka 4-7. Atmel-ICE JTAG Popis pinu
Jméno |
Pin portu AVR | Pin portu SAM |
Popis |
TCK | 1 | 4 | Test Clock (hodinový signál z Atmel-ICE do cílového zařízení). |
TMS | 5 | 2 | Test Mode Select (řídící signál z Atmel-ICE do cílového zařízení). |
TDI | 9 | 8 | Test Data In (data přenášená z Atmel-ICE do cílového zařízení). |
TDO | 3 | 6 | Test Data Out (data přenášená z cílového zařízení do Atmel-ICE). |
nTRST | 8 | – | Testovací reset (volitelné, pouze na některých zařízeních AVR). Používá se k resetování JTAG TAP ovladač. |
nSRST | 6 | 10 | Resetovat (volitelné). Používá se k resetování cílového zařízení. Připojení tohoto kolíku se doporučuje, protože umožňuje Atmel-ICE udržet cílové zařízení ve stavu resetování, což může být v určitých scénářích nezbytné pro ladění. |
VTG | 4 | 1 | Cílová svtage odkaz. Společnost Atmel-ICE samples the target svtage na tomto kolíku, aby byly převodníky úrovně správně napájeny. Atmel-ICE odebírá z tohoto pinu méně než 3 mA v režimu debugWIRE a méně než 1 mA v ostatních režimech. |
GND | 2, 10 | 3, 5, 9 | Země. Všechny musí být propojeny, aby bylo zajištěno, že Atmel-ICE a cílové zařízení sdílejí stejnou referenční zem. |
4.3.4 Fyzické rozhraní aWire
Rozhraní aWire využívá kabel RESET zařízení AVR k umožnění programování a ladění funkcí. Atmel-ICE vysílá speciální sekvenci povolení, která deaktivuje výchozí funkci RESET pinu. Při navrhování aplikační desky plošných spojů, která obsahuje Atmel AVR s rozhraním aWire, se doporučuje použít pin, jak je znázorněno na obrázku 4 -8. V závislosti na kabeláži a adaptérech dodávaných s konkrétní sadou jsou podporovány varianty 100 mil a 50 mil tohoto pinoutu.
Obrázek 4-8. aWire Pinout záhlaví
Tip:
Protože aWire je poloduplexní rozhraní, doporučuje se pull-up rezistor na lince RESET v řádu 47 kΩ, aby se zabránilo falešné detekci startovacího bitu při změně směru.
Rozhraní aWire lze použít jako programovací i ladicí rozhraní. Všechny funkce systému OCD dostupné prostřednictvím 10pinového JTAG rozhraní je také přístupné pomocí aWire.
4.3.5 Připojení k cíli aWire Target
Rozhraní aWire vyžaduje kromě V pouze jednu datovou linkuCC a GND. Na cíli je tento řádek řádek nRESET, ačkoli debugger používá JTAG Linka TDO jako datová linka.
Doporučený vývod pro 6pinový konektor aWire je znázorněn na obrázku 4-8.
Připojení k 6pinovému 100mil aWire headeru
Použijte 6kolíkový 100-mil konektor na plochém kabelu (součástí některých sad) pro připojení ke standardní 100-mil aWire sběrnici.
Připojení k 6pinovému 50mil aWire headeru
Použijte desku adaptéru (součástí některých sad) pro připojení ke standardní 50-mil aWire sběrnici.
Připojení na vlastní 100 mil adaptér
10kolíkový kabel mini-squid by měl být použit k propojení mezi portem konektoru Atmel-ICE AVR a cílovou deskou. Jsou vyžadována tři připojení, jak je popsáno v tabulce níže.
Tabulka 4-8. Atmel-ICE aWire Pin Mapping
Piny portu Atmel-ICE AVR | Cílové kolíky | Mini-chobotnice pin |
aWire pinout |
Pin 1 (TCK) | 1 | ||
Pin 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | DATA | 3 | 1 |
Pin 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | 6 | ||
Pin 7 (Nepřipojeno) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Pin 10 (GND) | 0 |
4.3.6. Zvláštní ohledy
JTAG rozhraní
Na některých zařízeních Atmel AVR UC3 je JTAG port není ve výchozím nastavení povolen. Při použití těchto zařízení je nezbytné připojit linku RESET, aby Atmel-ICE mohl aktivovat JTAG rozhraní.
aWire rozhraní
Přenosová rychlost komunikace aWire závisí na frekvenci systémových hodin, protože data musí být mezi těmito dvěma doménami synchronizována. Atmel-ICE automaticky detekuje, že systémové hodiny byly sníženy, a podle toho znovu zkalibruje svou přenosovou rychlost. Automatická kalibrace funguje pouze do frekvence systémových hodin 8 kHz. Přepnutí na nižší systémové hodiny během relace ladění může způsobit ztrátu kontaktu s cílem.
V případě potřeby lze přenosovou rychlost aWire omezit nastavením parametru hodin aWire. Automatická detekce bude stále fungovat, ale výsledkům bude přiřazena maximální hodnota.
Jakýkoli stabilizační kondenzátor připojený k pinu RESET musí být při použití aWire odpojen, protože to bude narušovat správnou funkci rozhraní. Na tomto vedení se doporučuje slabý externí pullup (10 kΩ nebo vyšší).
Vypnutí režimu spánku
Některá zařízení AVR UC3 mají vnitřní regulátor, který lze použít v režimu napájení 3.3V s 1.8V regulovanými I/O linkami. To znamená, že interní regulátor napájí jádro i většinu I/O. Pouze Atmel AVR ONE! debugger podporuje ladění při použití režimů spánku, kde je tento regulátor vypnutý.
4.3.7. Použití EVTI / EVTO
Piny EVTI a EVTO nejsou na Atmel-ICE přístupné. Stále je však lze používat ve spojení s jiným externím zařízením.
EVTI lze použít pro následující účely:
- Cíl může být nucen zastavit provádění v reakci na vnější událost. Pokud jsou bity EIC (Event In Control) v registru DC zapsány do 0b01, přechod z vysoké na nízkou hodnotu na kolíku EVTI vygeneruje podmínku bodu přerušení. Hodnota EVTI musí zůstat nízká po dobu jednoho cyklu hodin CPU, aby bylo zaručeno, že je bod přerušení. Když k tomu dojde, je v DS nastaven bit externího bodu přerušení (EXB).
- Generování zpráv o synchronizaci trasování. Atmel-ICE nepoužívá.
EVTO lze použít pro následující účely:
- Indikace, že CPU vstoupilo do ladění Nastavení bitů EOS v DC na 0b01 způsobí, že se pin EVTO sníží na jeden takt CPU, když cílové zařízení vstoupí do režimu ladění. Tento signál lze použít jako spouštěcí zdroj pro externí osciloskop.
- Indikuje, že CPU dosáhl bodu přerušení nebo bodu sledování. Nastavením bitu EOC v odpovídajícím kontrolním registru bodu zlomu/bodu sledování je stav bodu přerušení nebo bodu sledování indikován na kolíku EVTO. Aby bylo možné tuto funkci aktivovat, musí být bity EOS v DC nastaveny na 0xb10. Pin EVTO pak může být připojen k externímu osciloskopu, aby bylo možné zkoumat watchpoint
- Generování trasovacích časovacích signálů. Atmel-ICE nepoužívá.
4.4 zařízení tinyAVR, megaAVR a XMEGA
Zařízení AVR mají různá programovací a ladicí rozhraní. V datovém listu zařízení vyhledejte podporovaná rozhraní tohoto zařízení.
- Nějaký malý AVR® zařízení mají TPI TPI lze použít pouze pro programování zařízení a tato zařízení vůbec nemají schopnost ladění na čipu.
- Některá zařízení tinyAVR a některá zařízení megaAVR mají rozhraní debugWIRE, které se připojuje k systému ladění na čipu známému jako tinyOCD. Všechna zařízení s debugWIRE mají také rozhraní SPI pro in-systém
- Některá zařízení megaAVR mají JTAG rozhraní pro programování a ladění, se systémem ladění na čipu také známým jako Všechna zařízení s JTAG mají také rozhraní SPI jako alternativní rozhraní pro programování v systému.
- Všechna zařízení AVR XMEGA mají rozhraní PDI pro programování a některá zařízení AVR XMEGA mají také rozhraní JTAG rozhraní se stejnou funkčností.
- Nová zařízení tinyAVR mají rozhraní UPDI, které se používá pro programování a ladění
Tabulka 4-9. Shrnutí programovacích a ladicích rozhraní
|
UPDI | TPI | SPI | debugWIR E | JTAG | PDI | aWire |
SWD |
tinyAVR | Nová zařízení | Některá zařízení | Některá zařízení | Některá zařízení | ||||
megaAV R | Všechna zařízení | Některá zařízení | Některá zařízení | |||||
AVR XMEGA | Některá zařízení | Všechna zařízení | ||||||
AVR UC | Všechna zařízení | Některá zařízení | ||||||
SAM | Některá zařízení | Všechna zařízení |
4.4.1. JTAG Fyzické rozhraní
JTAG rozhraní se skládá ze 4vodičového řadiče Test Access Port (TAP), který je v souladu s IEEE® standard 1149.1. Norma IEEE byla vyvinuta, aby poskytla průmyslový standardní způsob efektivního testování konektivity obvodové desky (Boundary Scan). Zařízení Atmel AVR a SAM rozšířily tuto funkci o plnou podporu programování a ladění na čipu.
Obrázek 4-9. JTAG Základy rozhraní4.4.2. Připojení k JTAG Cíl
Atmel-ICE je vybaven dvěma 50mil 10kolíkovými JTAG konektory. Oba konektory jsou přímo elektricky propojeny, ale odpovídají dvěma různým vývodům; společnost AVR JTAG záhlaví a záhlaví ARM Cortex Debug. Konektor by měl být vybrán na základě pinu cílové desky, nikoli cílového typu MCU – napřampzařízení SAM namontované v zásobníku AVR STK600 by mělo používat hlavičku AVR.
Doporučený vývod pro 10pinový AVR JTAG konektor je znázorněn na obrázku 4-6.
Doporučený vývod pro 10pinový konektor ARM Cortex Debug je znázorněn na obrázku 4-2.
Přímé připojení ke standardnímu 10pinovému 50mil adaptéru
Použijte 50mil 10kolíkový plochý kabel (součástí některých sad) pro přímé připojení k desce podporující tento typ headeru. Použijte port konektoru AVR na Atmel-ICE pro záhlaví s vývodem AVR a port konektoru SAM pro záhlaví vyhovující vývodu záhlaví ARM Cortex Debug.
Pinouty pro oba porty 10pinového konektoru jsou zobrazeny níže.
Připojení ke standardnímu 10pinovému 100mil adaptéru
Použijte standardní adaptér 50 mil až 100 mil pro připojení k 100 mil adaptérům. K tomuto účelu lze použít adaptérovou desku (součástí některých sad) nebo alternativně JTAGAdaptér ICE3 lze použít pro cíle AVR.
Důležité:
JTAGAdaptér ICE3 100-mil nelze použít s portem konektoru SAM, protože kolíky 2 a 10 (AVR GND) na adaptéru jsou propojeny.
Připojení na vlastní 100 mil adaptér
Pokud vaše cílová deska nemá vyhovující 10pinový JTAG header v 50 nebo 100 mil, můžete mapovat na vlastní pinout pomocí 10kolíkového kabelu „mini-squid“ (součástí některých sad), který umožňuje přístup k deseti jednotlivým 100-mil zásuvkám.
Připojení k 20kolíkové 100mil sběrnici
Použijte desku adaptéru (součástí některých sad) pro připojení k terčům s 20kolíkovým 100 mil záhlavím.
Tabulka 4-10. Atmel-ICE JTAG Popis pinu
Jméno | AVR port pin | SAM port pin | Popis |
TCK | 1 | 4 | Test Clock (hodinový signál z Atmel-ICE do cílového zařízení). |
TMS | 5 | 2 | Test Mode Select (řídící signál z Atmel-ICE do cílového zařízení). |
TDI | 9 | 8 | Test Data In (data přenášená z Atmel-ICE do cílového zařízení). |
TDO | 3 | 6 | Test Data Out (data přenášená z cílového zařízení do Atmel-ICE). |
nTRST | 8 | – | Testovací reset (volitelné, pouze na některých zařízeních AVR). Používá se k resetování JTAG TAP ovladač. |
nSRST | 6 | 10 | Resetovat (volitelné). Používá se k resetování cílového zařízení. Připojení tohoto kolíku se doporučuje, protože umožňuje Atmel-ICE udržet cílové zařízení ve stavu resetování, což může být v určitých scénářích nezbytné pro ladění. |
VTG | 4 | 1 | Cílová svtage odkaz. Společnost Atmel-ICE samples the target svtage na tomto kolíku, aby byly převodníky úrovně správně napájeny. Atmel-ICE odebírá z tohoto pinu méně než 3 mA v režimu debugWIRE a méně než 1 mA v ostatních režimech. |
GND | 2, 10 | 3, 5, 9 | Země. Všechny musí být propojeny, aby bylo zajištěno, že Atmel-ICE a cílové zařízení sdílejí stejnou referenční zem. |
4.4.3.Fyzické rozhraní SPI
In-System Programming využívá interní SPI (Serial Peripheral Interface) cílového Atmel AVR ke stažení kódu do paměti flash a EEPROM. Nejedná se o ladicí rozhraní. Při návrhu aplikační desky plošných spojů, která obsahuje AVR s rozhraním SPI, by se mělo použít pinout, jak je znázorněno na obrázku níže.
Obrázek 4-10. Pinout hlavičky SPI4.4.4. Připojení k cíli SPI Target
Doporučený vývod pro 6pinový konektor SPI je znázorněn na obrázku 4-10.
Připojení k 6pinovému 100mil SPI headeru
Použijte 6kolíkový 100-mil konektor na plochém kabelu (součástí některých sad) pro připojení ke standardní 100-mil SPI sběrnici.
Připojení k 6pinovému 50mil SPI headeru
Použijte desku adaptéru (součástí některých sad) pro připojení ke standardní 50-mil SPI sběrnici.
Připojení na vlastní 100 mil adaptér
10kolíkový kabel mini-squid by měl být použit k propojení mezi portem konektoru Atmel-ICE AVR a cílovou deskou. Je vyžadováno šest připojení, jak je popsáno v tabulce níže.
Důležité:
Rozhraní SPI je efektivně deaktivováno, když je naprogramována pojistka povolení debugWIRE (DWEN), i když je naprogramována také pojistka SPIEN. Chcete-li znovu povolit rozhraní SPI, musí být během relace ladění debugWIRE vydán příkaz „disable debugWIRE“. Zakázání debugWIRE tímto způsobem vyžaduje, aby byla pojistka SPIEN již naprogramována. Pokud se Atmel Studio nepodaří zakázat debugWIRE, je to pravděpodobné, protože pojistka SPIEN NENÍ naprogramována. Pokud tomu tak je, je nutné použít vysokoobjemovýtagProgramovací rozhraní pro programování pojistky SPIEN.
Info:
Rozhraní SPI je často označováno jako „ISP“, protože to bylo první rozhraní pro programování v systému na produktech Atmel AVR. Pro programování v systému jsou nyní k dispozici další rozhraní.
Tabulka 4-11. Atmel-ICE SPI Pin Mapping
Piny portu Atmel-ICE AVR | Cílové kolíky | Mini-chobotnice pin |
Pinout SPI |
Pin 1 (TCK) | SCK | 1 | 3 |
Pin 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | MISO | 3 | 1 |
Pin 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | /RESET | 6 | 5 |
Pin 7 (nepřipojen) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | LELKOVAT | 9 | 4 |
Pin 10 (GND) | 0 |
4.4.5. PDI
Program and Debug Interface (PDI) je proprietární rozhraní Atmel pro externí programování a ladění zařízení na čipu. PDI Physical je 2pinové rozhraní poskytující obousměrnou poloduplexní synchronní komunikaci s cílovým zařízením.
Při návrhu aplikační desky plošných spojů, která obsahuje Atmel AVR s rozhraním PDI, by se mělo použít pinout znázorněný na obrázku níže. K připojení sondy Atmel-ICE k aplikační desce plošných spojů pak lze použít jeden z 6pinových adaptérů dodávaných se sadou Atmel-ICE.
Obrázek 4-11. Pinout hlavičky PDI4.4.6 Připojení k cíli PDI
Doporučený vývod pro 6pinový konektor PDI je znázorněn na obrázku 4-11.
Připojení k 6pinovému 100mil PDI headeru
Použijte 6kolíkový 100-mil konektor na plochém kabelu (součástí některých sad) pro připojení ke standardní 100-mil PDI sběrnici.
Připojení k 6pinovému 50mil PDI headeru
Pro připojení ke standardní 50mil PDI sběrnici použijte adaptérovou desku (součástí některých sad).
Připojení na vlastní 100 mil adaptér
10kolíkový kabel mini-squid by měl být použit k propojení mezi portem konektoru Atmel-ICE AVR a cílovou deskou. Jsou vyžadována čtyři připojení, jak je popsáno v tabulce níže.
Důležité:
Požadované pinout se liší od JTAGICE mkII JTAG sonda, kde PDI_DATA je připojeno k pinu 9. Atmel-ICE je kompatibilní s pinem používaným Atmel-ICE, JTAGICE3, AVR ONE! a AVR Dragon™ produkty.
Tabulka 4-12. Atmel-ICE PDI Pin Mapping
Pin portu Atmel-ICE AVR |
Cílové kolíky | Mini-chobotnice pin |
Pinout Atmel STK600 PDI |
Pin 1 (TCK) | 1 | ||
Pin 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | PDI_DATA | 3 | 1 |
Pin 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | PDI_CLK | 6 | 5 |
Pin 7 (nepřipojen) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Pin 10 (GND) | 0 |
4.4.7. Fyzické rozhraní UPDI
Unified Program and Debug Interface (UPDI) je proprietární rozhraní Atmel pro externí programování a ladění zařízení na čipu. Jedná se o nástupce PDI 2-wire fyzického rozhraní, které se nachází na všech zařízeních AVR XMEGA. UPDI je jednodrátové rozhraní poskytující obousměrnou poloduplexní asynchronní komunikaci s cílovým zařízením pro účely programování a ladění.
Při návrhu aplikační desky plošných spojů, která obsahuje Atmel AVR s rozhraním UPDI, by se měl použít vývod uvedený níže. Jeden z 6pinových adaptérů dodávaných se sadou Atmel-ICE pak lze použít k připojení sondy Atmel-ICE k aplikační desce plošných spojů.
Obrázek 4-12. Pinout hlavičky UPDI4.4.7.1 UPDI a /RESET
Jednovodičové rozhraní UPDI může být vyhrazený pin nebo sdílený pin, v závislosti na cílovém zařízení AVR. Další informace naleznete v technickém listu zařízení.
Když je rozhraní UPDI na sdíleném kolíku, lze kolík nakonfigurovat jako UPDI, /RESET nebo GPIO nastavením pojistek RSTPINCFG[1:0].
Pojistky RSTPINCFG[1:0] mají následující konfigurace, jak je popsáno v datovém listu. Zde jsou uvedeny praktické důsledky každé volby.
Tabulka 4-13. RSTPINCFG[1:0] Konfigurace pojistky
RSTPINCFG[1:0] | Konfigurace |
Používání |
00 | GPIO | I/O pin pro všeobecné použití. Pro přístup k UPDI musí být na tento pin přiveden 12V impuls. Není k dispozici žádný externí zdroj resetování. |
01 | UPDI | Vyhrazený programovací a ladicí pin. Není k dispozici žádný externí zdroj resetování. |
10 | Resetovat | Resetujte vstup signálu. Pro přístup k UPDI musí být na tento pin přiveden 12V impuls. |
11 | Rezervováno | NA |
Poznámka: Starší zařízení AVR mají programovací rozhraní známé jako „High-Voltage Programming” (existují sériové i paralelní varianty.) Obecně toto rozhraní vyžaduje, aby bylo na pin /RESET přivedeno 12V po dobu trvání programovací relace. Rozhraní UPDI je zcela odlišné rozhraní. Pin UPDI je primárně programovací a ladicí pin, který lze sloučit tak, aby měl alternativní funkci (/RESET nebo GPIO). Je-li zvolena alternativní funkce, je na tomto kolíku vyžadován 12V pulz, aby se znovu aktivovala funkce UPDI.
Poznámka: Pokud návrh vyžaduje sdílení signálu UPDI kvůli omezením pinů, musí být podniknuty kroky, aby bylo zajištěno, že zařízení bude možné naprogramovat. Aby bylo zajištěno, že signál UPDI může správně fungovat, a také aby nedošlo k poškození externích součástek 12V impulsem, doporučuje se při pokusu o ladění nebo programování zařízení odpojit všechny součásti na tomto pinu. To lze provést pomocí odporu 0Ω, který je standardně namontován a během ladění odstraněn nebo nahrazen kolíkovou hlavičkou. Tato konfigurace v podstatě znamená, že programování by mělo být provedeno před montáží zařízení.
Důležité: Atmel-ICE nepodporuje 12V na lince UPDI. Jinými slovy, pokud byl UPDI pin nakonfigurován jako GPIO nebo RESET, Atmel-ICE nebude moci povolit rozhraní UPDI.
4.4.8.Připojení k cíli UPDI Target
Doporučený vývod pro 6pinový konektor UPDI je znázorněn na obrázku 4-12.
Připojení k 6pinovému 100mil UPDI headeru
Použijte 6kolíkový 100-mil konektor na plochém kabelu (součástí některých sad) pro připojení ke standardní 100-mil UPDI sběrnici.
Připojení k 6pinovému 50mil UPDI headeru
Použijte desku adaptéru (součástí některých sad) pro připojení ke standardní 50mil UPDI sběrnici.
Připojení na vlastní 100 mil adaptér
10kolíkový kabel mini-squid by měl být použit k propojení mezi portem konektoru Atmel-ICE AVR a cílovou deskou. Jsou vyžadována tři připojení, jak je popsáno v tabulce níže.
Tabulka 4-14. Mapování pinů Atmel-ICE UPDI
Pin portu Atmel-ICE AVR | Cílové kolíky | Mini-chobotnice pin |
Pinout Atmel STK600 UPDI |
Pin 1 (TCK) | 1 | ||
Pin 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) | [/RESETOVAT smysl] | 6 | 5 |
Pin 7 (Nepřipojeno) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Pin 10 (GND) | 0 |
4.4.9 Fyzické rozhraní TPI
TPI je pouze programovací rozhraní pro některá zařízení AVR ATtiny. Nejedná se o ladicí rozhraní a tato zařízení nemají schopnost OCD. Při navrhování aplikační desky plošných spojů, která obsahuje AVR s rozhraním TPI, by se mělo použít pinout znázorněný na obrázku níže.
Obrázek 4-13. Pinout hlavičky TPI4.4.10.Připojení k cíli TPI
Doporučený vývod pro 6pinový konektor TPI je znázorněn na obrázku 4-13.
Připojení k 6pinovému 100mil TPI headeru
Použijte 6kolíkový 100-mil konektor na plochém kabelu (součástí některých sad) pro připojení ke standardní 100-mil TPI headeru.
Připojení k 6pinovému 50mil TPI headeru
Použijte desku adaptéru (součástí některých sad) pro připojení ke standardní 50mil TPI sběrnici.
Připojení na vlastní 100 mil adaptér
10kolíkový kabel mini-squid by měl být použit k propojení mezi portem konektoru Atmel-ICE AVR a cílovou deskou. Je vyžadováno šest připojení, jak je popsáno v tabulce níže.
Tabulka 4-15. Mapování pinů Atmel-ICE TPI
Piny portu Atmel-ICE AVR | Cílové kolíky | Mini-chobotnice pin |
Pinout TPI |
Pin 1 (TCK) | HODINY | 1 | 3 |
Pin 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | DATA | 3 | 1 |
Pin 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | /RESET | 6 | 5 |
Pin 7 (nepřipojen) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Pin 10 (GND) | 0 |
4.4.11. Pokročilé ladění (AVR JTAG /debugWIRE zařízení)
I/O periferie
Většina periferních zařízení I/O bude nadále běžet, i když je provádění programu zastaveno bodem přerušení. Přample: Pokud je během přenosu UART dosaženo bodu přerušení, přenos se dokončí a nastaví se odpovídající bity. Příznak TXC (přenos dokončen) bude nastaven a bude dostupný v dalším jednotlivém kroku kódu, i když by k tomu normálně došlo později ve skutečném zařízení.
Všechny I/O moduly budou nadále běžet v zastaveném režimu s následujícími dvěma výjimkami:
- Časovač/počítadla (konfigurovatelné pomocí rozhraní softwaru)
- Watchdog Timer (vždy zastaven, aby se zabránilo resetování během ladění)
Single Steping I/O přístup
Vzhledem k tomu, že I/O nadále běží v zastaveném režimu, je třeba dbát na to, aby se předešlo určitým problémům s časováním. Napřample, kód:
Při normálním spuštění tohoto kódu by registr TEMP nepřečetl zpět 0xAA, protože data by ještě nebyla fyzicky přichycena na pin v době, kdy je sampvedená operací IN. Instrukce NOP musí být umístěna mezi instrukci OUT a IN, aby bylo zajištěno, že v registru PIN je přítomna správná hodnota.
Avšak při jednoduchém krokování této funkce přes OCD tento kód vždy uvede 0xAA v registru PIN, protože I/O běží plnou rychlostí, i když je jádro během jediného krokování zastaveno.
Jediný krok a časování
Určité registry je třeba číst nebo zapisovat během daného počtu cyklů po povolení řídicího signálu. Vzhledem k tomu, že I/O hodiny a periferie i nadále běží plnou rychlostí v zastaveném režimu, jedno procházení takového kódu nesplňuje požadavky na časování. Mezi dvěma jednotlivými kroky mohly I/O hodiny běžet miliony cyklů. Aby bylo možné úspěšně číst nebo zapisovat registry s takovými požadavky na časování, měla by být celá sekvence čtení nebo zápisu provedena jako atomická operace běžící na zařízení plnou rychlostí. To lze provést pomocí makra nebo volání funkce ke spuštění kódu nebo pomocí funkce run-to-cursor v prostředí ladění
Přístup k 16bitovým registrům
Periferie Atmel AVR typicky obsahují několik 16bitových registrů, ke kterým lze přistupovat přes 8bitovou datovou sběrnici (např.: TCNTn 16bitového časovače). K 16bitovému registru se musí přistupovat pomocí dvou operací čtení nebo zápisu. Prolomení uprostřed 16bitového přístupu nebo jediné krokování v této situaci může vést k chybným hodnotám.
Omezený přístup k I/O registru
Některé registry nelze číst bez ovlivnění jejich obsahu. Takové registry zahrnují ty, které obsahují příznaky, které jsou vymazány čtením, nebo datové registry s vyrovnávací pamětí (např.: UDR). Softwarové rozhraní zabrání čtení těchto registrů v režimu zastavení, aby se zachovala zamýšlená nerušivá povaha ladění OCD. Některé registry navíc nelze bezpečně zapisovat bez vedlejších účinků – tyto registry jsou pouze pro čtení. Napřampten:
- Registry příznaků, kde se příznak vymaže zápisem '1' do libovolného Tyto registry jsou pouze pro čtení.
- Registry UDR a SPDR nelze číst bez ovlivnění stavu modulu. Tyto registry nejsou
4.4.12. Zvláštní úvahy megaAVR
Softwarové body přerušení
Protože obsahuje ranou verzi modulu OCD, ATmega128[A] nepodporuje použití instrukce BREAK pro softwarové body přerušení.
JTAG hodiny
Cílová frekvence hodin musí být přesně specifikována v rozhraní softwaru před zahájením relace ladění. Z důvodů synchronizace, JTAG Signál TCK musí být pro spolehlivé ladění menší než jedna čtvrtina cílové frekvence hodin. Při programování přes JTAG rozhraní, frekvence TCK je omezena maximálním jmenovitým kmitočtem cílového zařízení, nikoli skutečnou používanou taktovací frekvencí.
Při použití interního RC oscilátoru mějte na paměti, že frekvence se může lišit zařízení od zařízení a je ovlivněna teplotou a VCC změny. Při zadávání cílové frekvence hodin buďte konzervativní.
JTAGpojistky EN a OCDEN
JTAG rozhraní je povoleno pomocí JTAGEN pojistka, která je standardně naprogramována. To umožňuje přístup k JTAG programovací rozhraní. Prostřednictvím tohoto mechanismu lze naprogramovat pojistku OCDEN (ve výchozím nastavení není OCDEN naprogramován). To umožňuje přístup k OCD za účelem usnadnění ladění zařízení. Softwarové rozhraní vždy zajistí, že pojistka OCDEN zůstane při ukončení relace nenaprogramovaná, čímž se omezí zbytečná spotřeba energie modulem OCD. Pokud JTAGEN pojistka je neúmyslně deaktivována, lze ji znovu aktivovat pouze pomocí SPI nebo High Voltage metody programování.
Pokud JTAGEN pojistka je naprogramována, JTAG rozhraní lze stále deaktivovat ve firmwaru nastavením bitu JTD. Tím se kód stane neladitelným a nemělo by se to provádět při pokusu o relaci ladění. Pokud se takový kód již na zařízení Atmel AVR spouští při zahájení relace ladění, Atmel-ICE při připojování potvrdí RESET linku. Pokud je tato linka zapojena správně, vynutí to cílové AVR zařízení resetovat, čímž umožní JTAG spojení.
Pokud JTAG je povoleno rozhraní JTAG piny nelze použít pro alternativní funkce pinů. Zůstanou oddaní JTAG špendlíky, dokud buď JTAG rozhraní se deaktivuje nastavením bitu JTD z programového kódu nebo vymazáním JTAGEN pojistka přes programovací rozhraní.
Tip:
Nezapomeňte zaškrtnout políčko „použít externí reset“ v dialogovém okně programování i v dialogovém okně možností ladění, abyste umožnili Atmel-ICE aktivovat řádek RESET a znovu povolit JTAG rozhraní na zařízeních, na kterých běží kód, který deaktivuje JTAG rozhraní nastavením bitu JTD.
Události IDR/OCDR
IDR (In-out Data Register) je také známý jako OCDR (On Chip Debug Register) a je široce používán debuggerem ke čtení a zápisu informací do MCU, když je v zastaveném režimu během relace ladění. Když aplikační program v provozním režimu zapíše bajt dat do registru OCDR laděného zařízení AVR, Atmel-ICE tuto hodnotu přečte a zobrazí ji v okně zpráv softwarového front-endu. Registr OCDR je dotazován každých 50 ms, takže zápis do něj vyšší frekvencí NEBUDE poskytovat spolehlivé výsledky. Když zařízení AVR ztratí napájení během ladění, mohou být hlášeny falešné události OCDR. K tomu dochází, protože Atmel-ICE může stále dotazovat zařízení jako cílový objemtage klesne pod minimální provozní objem AVRtage.
4.4.13. Zvláštní požadavky na AVR XMEGA
OCD a taktování
Když MCU přejde do režimu zastavení, hodiny OCD se použijí jako hodiny MCU. Hodiny OCD jsou buď JTAG TCK, pokud JTAG se používá rozhraní nebo PDI_CLK, pokud se používá rozhraní PDI.
I/O moduly v zastaveném režimu
Na rozdíl od dřívějších zařízení Atmel megaAVR jsou v XMEGA I/O moduly zastaveny v režimu zastavení. To znamená, že přenosy USART budou přerušeny, časovače (a PWM) budou zastaveny.
Hardwarové body přerušení
Existují čtyři hardwarové komparátory bodů přerušení – dva komparátory adres a dva komparátory hodnot. Mají určitá omezení:
- Všechny body přerušení musí být stejného typu (program nebo data)
- Všechny body přerušení musí být ve stejné oblasti paměti (I/O, SRAM nebo XRAM)
- Pokud je použit rozsah adres, může existovat pouze jeden bod přerušení
Zde jsou různé kombinace, které lze nastavit:
- Dva jednotlivé zarážky dat nebo programových adres
- Jeden bod přerušení datového nebo programového rozsahu adres
- Dva jednotlivé zarážky datových adres s porovnáním jedné hodnoty
- Jeden bod přerušení dat s rozsahem adres, rozsahem hodnot nebo obojí
Atmel Studio vám řekne, zda bod přerušení nelze nastavit a proč. Data přerušení mají přednost před body přerušení programu, pokud jsou dostupné softwarové body přerušení.
Externí reset a fyzické PDI
Fyzické rozhraní PDI používá resetovací linku jako hodiny. Během ladění by měl být resetovací pullup 10k nebo více nebo by měl být odstraněn. Všechny resetovací kondenzátory by měly být odstraněny. Ostatní externí zdroje resetování by měly být odpojeny.
Ladění pomocí spánku pro ATxmegaA1 rev H a starší
Na dřívějších verzích zařízení ATxmegaA1 existovala chyba, která bránila aktivaci OCD, když bylo zařízení v určitých režimech spánku. Existují dvě řešení, jak znovu povolit OCD:
- Jděte do Atmel-ICE. Možnosti v nabídce Nástroje a povolte „Při přeprogramování zařízení vždy aktivovat externí reset“.
- Proveďte vymazání čipu
Režimy spánku, které spouštějí tuto chybu, jsou:
- Vypnout
- Úspora energie
- Pohotovostní
- Prodloužený pohotovostní režim
4.4.1.debugWIRE Zvláštní úvahy
Komunikační pin debugWIRE (dW) je fyzicky umístěn na stejném pinu jako externí reset (RESET). Pokud je povoleno rozhraní debugWIRE, externí zdroj resetování proto není podporován.
Aby rozhraní debugWIRE fungovalo, musí být na cílovém zařízení nastavena pojistka debugWIRE Enable (DWEN). Tato pojistka je standardně nenaprogramovaná, když je zařízení Atmel AVR expedováno z továrny. Samotné rozhraní debugWIRE nelze k nastavení této pojistky použít. Pro nastavení pojistky DWEN je nutné použít režim SPI. Softwarový front-end to řeší automaticky za předpokladu, že jsou připojeny potřebné piny SPI. Lze jej také nastavit pomocí programování SPI z programovacího dialogu Atmel Studio.
Buď: Pokuste se zahájit relaci ladění v části debugWIRE. Pokud rozhraní debugWIRE není povoleno, Atmel Studio nabídne opakování pokusu nebo se pokusí povolit debugWIRE pomocí programování SPI. Pokud máte připojenou plnou hlavičku SPI, bude povoleno debugWIRE a budete požádáni o přepnutí napájení cíle. To je nutné pro účinnost výměny pojistek.
Nebo: Otevřete programovací dialog v režimu SPI a ověřte, že podpis odpovídá správnému zařízení. Zkontrolujte pojistku DWEN, abyste povolili debugWIRE.
Důležité:
Je důležité ponechat pojistku SPIEN naprogramovanou, pojistku RSTDISBL nenaprogramovanou! Pokud to neuděláte, zařízení uvízne v režimu debugWIRE a High VoltagPro vrácení nastavení DWEN bude vyžadováno programování.
Chcete-li zakázat rozhraní debugWIRE, použijte High Voltage programování pro odprogramování pojistky DWEN. Alternativně použijte k dočasné deaktivaci samotné rozhraní debugWIRE, což umožní programování SPI za předpokladu, že je nastavena pojistka SPIEN.
Důležité:
Pokud NEBUDE ponechána naprogramovaná pojistka SPIEN, Atmel Studio nebude moci dokončit tuto operaci a High Voltagmusí být použito programování.
Během relace ladění vyberte z nabídky 'Debug' možnost nabídky 'Disable debugWIRE and Close'. DebugWIRE bude dočasně zakázáno a Atmel Studio použije programování SPI k odprogramování pojistky DWEN.
Naprogramování pojistky DWEN umožňuje, aby některé části systému hodin běžely ve všech režimech spánku. Tím se zvýší spotřeba energie AVR v režimu spánku. Pojistka DWEN by proto měla být vždy deaktivována, když se nepoužívá debugWIRE.
Při navrhování PCB cílové aplikace, kde bude použito debugWIRE, je třeba pro správnou funkci vzít v úvahu následující:
- Pull-up rezistory na vedení dW/(RESET) nesmí být menší (silnější) než 10kΩ. Pull-up rezistor není vyžadován pro funkčnost debugWIRE, protože to poskytuje debugger
- Jakýkoli stabilizační kondenzátor připojený k pinu RESET musí být při použití debugWIRE odpojen, protože naruší správnou funkci rozhraní
- Všechny externí zdroje resetování nebo jiné aktivní ovladače na lince RESET musí být odpojeny, protože mohou narušovat správnou činnost rozhraní
Nikdy neprogramujte zajišťovací bity na cílovém zařízení. Rozhraní debugWIRE vyžaduje, aby byly blokovací bity vymazány, aby fungovalo správně.
4.4.15. DebugWIRE Software Breakpoints
DebugWIRE OCD je drasticky zmenšeno ve srovnání s Atmel megaAVR (JTAG) OCD. To znamená, že nemá k dispozici žádné komparátory bodů přerušení programového čítače pro účely ladění. Jeden takový komparátor existuje pro účely operací běhu na kurzor a jednokrokových operací, ale další uživatelské body přerušení nejsou v hardwaru podporovány.
Místo toho musí debugger použít instrukci AVR BREAK. Tato instrukce může být umístěna ve FLASH, a když je načtena pro provedení, způsobí, že CPU AVR přejde do režimu zastavení. Pro podporu bodů přerušení během ladění musí ladicí program vložit instrukci BREAK do FLASH v bodě, ve kterém uživatelé vyžadují bod přerušení. Původní instrukce musí být uložena do mezipaměti pro pozdější výměnu.
Při jednoduchém překročení instrukce BREAK musí ladicí program provést původní instrukci uloženou v mezipaměti, aby se zachovalo chování programu. V extrémních případech musí být BREAK z FLASH odstraněn a nahrazen později. Všechny tyto scénáře mohou způsobit zjevná zpoždění při jednotlivých krokování z bodů přerušení, které se ještě zhorší, když je cílová frekvence hodin velmi nízká.
Proto se doporučuje, pokud je to možné, dodržovat následující pokyny:
- Během ladění vždy spouštějte cíl na co nejvyšší frekvenci. Fyzické rozhraní debugWIRE je taktováno z cílových hodin.
- Pokuste se minimalizovat počet přidání a odebrání bodů přerušení, protože každý z nich vyžaduje nahrazení stránky FLASH v cíli
- Zkuste přidat nebo odebrat malý počet bodů přerušení najednou, abyste minimalizovali počet operací zápisu stránky FLASH
- Pokud je to možné, vyvarujte se umístění zarážek do dvouslovných instrukcí
4.4.16. Porozumění debugWIRE a DWEN Fuse
Je-li povoleno, rozhraní debugWIRE převezme kontrolu nad kolíkem /RESET zařízení, čímž se vzájemně vylučuje s rozhraním SPI, které tento kolík také potřebuje. Při aktivaci a deaktivaci modulu debugWIRE postupujte jedním z těchto dvou přístupů:
- Nechte Atmel Studio, aby se o věci postaralo (doporučeno)
- Nastavte a vymažte DWEN ručně (buďte opatrní, pouze pokročilí uživatelé!)
Důležité: Při ruční manipulaci s DWEN je důležité, aby pojistka SPIEN zůstala nastavena, abyste nemuseli používat High-Voltage programování
Obrázek 4-14. Porozumění debugWIRE a DWEN Fuse4.4.17.TinyX-OCD (UPDI) Zvláštní ohledy
Datový kolík UPDI (UPDI_DATA) může být vyhrazený nebo sdílený v závislosti na cílovém zařízení AVR. Sdílený pin UPDI je tolerantní k 12V a lze jej nakonfigurovat tak, aby byl použit jako /RESET nebo GPIO. Další podrobnosti o použití kolíku v těchto konfiguracích naleznete v tématu fyzické rozhraní UPDI.
Na zařízeních, která obsahují modul CRCSCAN (Cyclic Redundancy Check Memory Scan), by tento modul neměl být používán v nepřetržitém režimu na pozadí během ladění. Modul OCD má omezené zdroje hardwarového komparátoru bodů přerušení, takže instrukce BREAK mohou být vloženy do flash (softwarové body přerušení), když je potřeba více bodů přerušení, nebo dokonce během krokování kódu na úrovni zdroje. Modul CRC mohl nesprávně detekovat tento bod přerušení jako poškození obsahu paměti flash.
Modul CRCSCAN lze také nakonfigurovat tak, aby prováděl skenování CRC před spuštěním. V případě neshody CRC se zařízení nespustí a zdá se, že je v uzamčeném stavu. Jediným způsobem, jak obnovit zařízení z tohoto stavu, je provést úplné vymazání čipu a buď naprogramovat platný flash obraz nebo deaktivovat CRCSCAN před spuštěním. (Jednoduché vymazání čipu bude mít za následek prázdný flash s neplatným CRC a součást tak stále nenaběhne.) Atmel Studio automaticky deaktivuje pojistky CRCSCAN, když čip vymaže zařízení v tomto stavu.
Při návrhu cílové aplikační PCB, kde bude použito rozhraní UPDI, je třeba pro správnou funkci vzít v úvahu následující:
- Pull-up rezistory na lince UPDI nesmí být menší (silnější) než 10kΩ. Stahovací rezistor by se neměl používat nebo by měl být při použití UPDI odstraněn. Fyzický UPDI je schopen push-pull, takže je vyžadován pouze slabý pull-up rezistor, aby se zabránilo spuštění chybného startovacího bitu, když je linka
- Pokud má být UPDI pin použit jako RESET pin, musí být při použití UPDI odpojen jakýkoli stabilizační kondenzátor, protože narušuje správnou funkci rozhraní.
- Pokud je UPDI pin použit jako RESET nebo GPIO pin, musí být během programování nebo ladění odpojeny všechny externí ovladače na lince, protože mohou narušovat správnou činnost rozhraní.
Popis hardwaru
5.1. LED diody
Vrchní panel Atmel-ICE má tři LED diody, které indikují stav aktuálního ladění nebo programování.
Tabulka 5-1. LED diody
LED | Funkce |
Popis |
Vlevo | Cílová síla | ZELENÁ, když je cílový výkon v pořádku. Blikání indikuje chybu cílového napájení. Nesvítí, dokud není spuštěno připojení relace programování/ladění. |
Střední | Hlavní síla | ČERVENÁ, když je napájení základní desky v pořádku. |
Právo | Postavení | Bliká ZELENĚ, když cíl běží/krokuje. OFF, když je cíl zastaven. |
5.2. Zadní panel
Na zadním panelu Atmel-ICE je umístěn Micro-B USB konektor.5.3. Spodní panel
Na spodním panelu Atmel-ICE je nálepka, která zobrazuje sériové číslo a datum výroby. Při hledání technické podpory uveďte tyto podrobnosti.5.4 Popis architektury
Architektura Atmel-ICE je znázorněna v blokovém schématu na obrázku 5-1.
Obrázek 5-1. Blokové schéma Atmel-ICE5.4.1. Základní deska Atmel-ICE
Napájení je do Atmel-ICE přiváděno z USB sběrnice, regulované na 3.3V pomocí step-down switch-mode regulátoru. Pin VTG se používá pouze jako referenční vstup a samostatný napájecí zdroj napájí proměnný objemtage straně palubních měničů úrovně. Srdcem základní desky Atmel-ICE je mikrokontrolér Atmel AVR UC3 AT32UC3A4256, který běží na frekvenci mezi 1MHz a 60MHz v závislosti na zpracovávaných úlohách. Mikrokontrolér obsahuje vysokorychlostní modul USB 2.0 na čipu, který umožňuje vysokou datovou propustnost do az debuggeru.
Komunikace mezi Atmel-ICE a cílovým zařízením se provádí přes banku převodníků úrovní, které posouvají signály mezi provozními vol.tage a vnitřní svtage úrovni na Atmel-ICE. Také v cestě signálu jsou zenerovy přepětítage ochranné diody, sériové zakončovací odpory, indukční filtry a ESD ochranné diody. Všechny signálové kanály lze provozovat v rozsahu 1.62 V až 5.5 V, ačkoli hardware Atmel-ICE nedokáže vytlačit vyšší objemtage než 5.0 V. Maximální provozní frekvence se liší podle používaného cílového rozhraní.
5.4.2. Cílové konektory Atmel-ICE
Atmel-ICE nemají aktivní sondu. K připojení k cílové aplikaci se používá 50mil kabel IDC, a to buď přímo, nebo prostřednictvím adaptérů obsažených v některých sadách. Více informací o kabeláži a adaptérech naleznete v části Sestavení Atmel-ICE
5.4.3. Atmel-ICE Target Connectors Objednací čísla
Aby bylo možné připojit 50mil IDC kabel Atmel-ICE přímo k cílové desce, měl by stačit jakýkoli standardní 50mil 10pinový konektor. Pro zajištění správné orientace při připojování k cíli se doporučuje používat hlavičky s klíčem, jako jsou ty, které se používají na desce adaptéru dodané se sadou.
Číslo dílu pro tuto hlavičku je: FTSH-105-01-L-DV-KAP od SAMTEC
Softwarová integrace
6.1. Studio Atmel
6.1.1.Integrace softwaru do Atmel Studia
Atmel Studio je integrované vývojové prostředí (IDE) pro psaní a ladění aplikací Atmel AVR a Atmel SAM v prostředí Windows. Atmel Studio poskytuje nástroj pro řízení projektů, zdroj file editor, simulátor, assembler a front-end pro C/C++, programování, emulace a ladění na čipu.
Atmel Studio verze 6.2 nebo novější se musí používat ve spojení s Atmel-ICE.
6.1.2. Možnosti programování
Atmel Studio podporuje programování zařízení Atmel AVR a Atmel SAM ARM pomocí Atmel-ICE. Programovací dialog lze nakonfigurovat tak, aby používal JTAG, aWire, SPI, PDI, TPI, SWD režimy, podle zvoleného cílového zařízení.
Při konfiguraci frekvence hodin platí různá pravidla pro různá rozhraní a cílové rodiny:
- Programování SPI využívá cílové hodiny. Nakonfigurujte frekvenci hodin tak, aby byla nižší než jedna čtvrtina frekvence, na které aktuálně běží cílové zařízení.
- JTAG programování na zařízeních Atmel megaAVR je taktováno to znamená, že taktovací frekvence programování je omezena na maximální pracovní frekvenci samotného zařízení. (Obvykle 16 MHz.)
- Programování AVR XMEGA na obou JTAG a PDI rozhraní je taktováno programátorem. To znamená, že frekvence programování je omezena na maximální provozní frekvenci zařízení (obvykle 32 MHz).
- Programování AVR UC3 na JTAG rozhraní je taktováno programátorem. To znamená, že frekvence programování je omezena na maximální provozní frekvenci samotného zařízení. (Omezeno na 33 MHz.)
- Programování AVR UC3 na rozhraní aWire je taktováno podle optimální frekvence je dána rychlostí sběrnice SAB v cílovém zařízení. Ladicí program Atmel-ICE automaticky vyladí přenosovou rychlost aWire, aby tato kritéria splnila. Ačkoli to obvykle není nutné, uživatel může v případě potřeby omezit maximální přenosovou rychlost (např. v hlučném prostředí).
- Programování zařízení SAM na rozhraní SWD je taktováno programátorem. Maximální frekvence podporovaná Atmel-ICE je 2 MHz. Frekvence by neměla překročit cílovou frekvenci CPU krát 10, fSWD ≤ 10fSYSCLK .
6.1.3. Možnosti ladění
Při ladění zařízení Atmel AVR pomocí Atmel Studio, karta 'Nástroj' ve vlastnostech projektu view obsahuje některé důležité možnosti konfigurace. Možnosti, které vyžadují další vysvětlení, jsou podrobně popsány zde.
Cílová frekvence hodin
Přesné nastavení cílové frekvence hodin je zásadní pro dosažení spolehlivého ladění zařízení Atmel megaAVR přes JTAG rozhraní. Toto nastavení by mělo být menší než jedna čtvrtina nejnižší provozní frekvence vašeho cílového zařízení AVR v laděné aplikaci. Další informace naleznete v části Zvláštní úvahy megaAVR.
Relace ladění na cílových zařízeních debugWIRE jsou taktovány samotným cílovým zařízením, a proto není potřeba žádné nastavení frekvence. Atmel-ICE automaticky vybere správnou přenosovou rychlost pro komunikaci na začátku relace ladění. Pokud však máte problémy se spolehlivostí související s hlučným prostředím ladění, některé nástroje nabízejí možnost vynutit rychlost debugWIRE na zlomek „doporučeného“ nastavení.
Relace ladění na cílových zařízeních AVR XMEGA lze nataktovat až na maximální rychlost samotného zařízení (obvykle 32 MHz).
Ladění relací na cílových zařízeních AVR UC3 přes JTAG rozhraní lze taktovat až na maximální rychlost samotného zařízení (omezeno na 33MHz). Optimální frekvence však bude mírně pod aktuálními hodinami SAB na cílovém zařízení.
Relace ladění na cílových zařízeních UC3 přes rozhraní aWire budou automaticky vyladěny na optimální přenosovou rychlost samotným Atmel-ICE. Pokud však máte problémy se spolehlivostí související s hlučným prostředím ladění, některé nástroje nabízejí možnost vynutit rychlost aWire pod konfigurovatelný limit.
Relace ladění na cílových zařízeních SAM přes rozhraní SWD mohou být taktovány až na desetinásobek taktu CPU (ale omezeno na max. 2 MHz)
Zachovejte EEPROM
Tuto možnost vyberte, chcete-li se vyhnout vymazání EEPROM během přeprogramování cíle před relací ladění.
Použijte externí reset
Pokud vaše cílová aplikace zakáže JTAG rozhraní, musí být externí reset během programování snížen. Výběrem této možnosti se vyhnete opakovaným dotazům, zda použít externí reset.
6.2 Nástroj příkazového řádku
Atmel Studio přichází s nástrojem příkazového řádku nazvaným atprogram, který lze použít k programování cílů pomocí Atmel-ICE. Během instalace Atmel Studio se zobrazí zástupce s názvem „Atmel Studio 7.0. Příkazový řádek“ byly vytvořeny ve složce Atmel v nabídce Start. Dvojitým kliknutím na tuto zkratku se otevře příkazový řádek a lze zadávat programovací příkazy. Nástroj příkazového řádku je nainstalován v instalační cestě Atmel Studio ve složce Atmel/Atmel Studio 7.0/atbackend/.
Chcete-li získat další nápovědu k nástroji příkazového řádku, zadejte příkaz:
atprogram – nápověda
Pokročilé techniky ladění
7.1. Cíle Atmel AVR UC3
7.1.1. Použití EVTI / EVTO
Piny EVTI a EVTO nejsou na Atmel-ICE přístupné. Stále je však lze používat ve spojení s jiným externím zařízením.
EVTI lze použít pro následující účely:
- Cíl může být nucen zastavit provádění v reakci na vnější událost. Pokud jsou bity EIC (Event In Control) v registru DC zapsány do 0b01, přechod z vysoké na nízkou hodnotu na kolíku EVTI vygeneruje podmínku bodu přerušení. Hodnota EVTI musí zůstat nízká po dobu jednoho cyklu hodin CPU, aby bylo zaručeno, že je bod přerušení. Když k tomu dojde, je v DS nastaven bit externího bodu přerušení (EXB).
- Generování zpráv o synchronizaci trasování. Atmel-ICE nepoužívá. EVTO lze použít pro následující účely:
- Indikace, že CPU vstoupilo do ladění Nastavení bitů EOS v DC na 0b01 způsobí, že se pin EVTO sníží na jeden takt CPU, když cílové zařízení vstoupí do režimu ladění. Tento signál lze použít jako spouštěcí zdroj pro externí osciloskop.
- Indikuje, že CPU dosáhl bodu přerušení nebo bodu sledování. Nastavením bitu EOC v odpovídajícím kontrolním registru bodu zlomu/bodu sledování je stav bodu přerušení nebo bodu sledování indikován na kolíku EVTO. Aby bylo možné tuto funkci aktivovat, musí být bity EOS v DC nastaveny na 0xb10. Pin EVTO pak může být připojen k externímu osciloskopu, aby bylo možné zkoumat watchpoint
- Generování trasovacích časovacích signálů. Atmel-ICE nepoužívá.
7.2 DebugWIRE Targets
7.2.1.debugWIRE Software Breakpoints
DebugWIRE OCD je drasticky zmenšeno ve srovnání s Atmel megaAVR (JTAG) OCD. To znamená, že nemá k dispozici žádné komparátory bodů přerušení programového čítače pro účely ladění. Jeden takový komparátor existuje pro účely operací běhu na kurzor a jednokrokových operací, ale další uživatelské body přerušení nejsou v hardwaru podporovány.
Místo toho musí debugger použít instrukci AVR BREAK. Tato instrukce může být umístěna ve FLASH, a když je načtena pro provedení, způsobí, že CPU AVR přejde do režimu zastavení. Pro podporu bodů přerušení během ladění musí ladicí program vložit instrukci BREAK do FLASH v bodě, ve kterém uživatelé vyžadují bod přerušení. Původní instrukce musí být uložena do mezipaměti pro pozdější výměnu.
Při jednoduchém překročení instrukce BREAK musí ladicí program provést původní instrukci uloženou v mezipaměti, aby se zachovalo chování programu. V extrémních případech musí být BREAK z FLASH odstraněn a nahrazen později. Všechny tyto scénáře mohou způsobit zjevná zpoždění při jednotlivých krokování z bodů přerušení, které se ještě zhorší, když je cílová frekvence hodin velmi nízká.
Proto se doporučuje, pokud je to možné, dodržovat následující pokyny:
- Během ladění vždy spouštějte cíl na co nejvyšší frekvenci. Fyzické rozhraní debugWIRE je taktováno z cílových hodin.
- Pokuste se minimalizovat počet přidání a odebrání bodů přerušení, protože každý z nich vyžaduje nahrazení stránky FLASH v cíli
- Zkuste přidat nebo odebrat malý počet bodů přerušení najednou, abyste minimalizovali počet operací zápisu stránky FLASH
- Pokud je to možné, vyvarujte se umístění zarážek do dvouslovných instrukcí
Historie vydání a známé problémy
8.1 .Historie vydání firmwaru
Tabulka 8-1. Veřejné revize firmwaru
Verze firmwaru (desítková) | Datum |
Relevantní změny |
1.36 | 29.09.2016 | Přidána podpora rozhraní UPDI (zařízení tinyX) Velikost koncového bodu USB je konfigurovatelná |
1.28 | 27.05.2015 | Přidána podpora rozhraní SPI a USART DGI. Vylepšená rychlost SWD. Opravy drobných chyb. |
1.22 | 03.10.2014 | Přidáno profilování kódu. Opraven problém související s JTAG zapojené řetězce s více než 64 instrukčními bity. Oprava rozšíření ARM reset. Opraven problém cílového napájení LED. |
1.13 | 08.04.2014 | JTAG oprava hodinové frekvence. Oprava pro debugWIRE s dlouhým SUT. Opravený příkaz pro kalibraci oscilátoru. |
1.09 | 12.02.2014 | První vydání Atmel-ICE. |
8.2 Známé problémy týkající se Atmel-ICE
8.2.1.Obecné
- Počáteční šarže Atmel-ICE měly slabé USB Byla provedena nová revize s novým a robustnějším USB konektorem. Jako provizorní řešení bylo na již vyrobené jednotky první verze aplikováno epoxidové lepidlo pro zlepšení mechanické stability.
8.2.2. Specifické problémy Atmel AVR XMEGA OCD
- Pro rodinu ATxmegaA1 je podporována pouze revize G nebo novější
8.2.1. Atmel AVR – Problémy specifické pro zařízení
- Cyklování napájení ATmega32U6 během relace ladění může způsobit ztrátu kontaktu se zařízením
Soulad produktu
9.1. RoHS a OEEZ
Atmel-ICE a veškeré příslušenství jsou vyrobeny v souladu se směrnicí RoHS (2002/95/ES) a směrnicí WEEE (2002/96/ES).
9.2. CE a FCC
Jednotka Atmel-ICE byla testována v souladu se základními požadavky a dalšími příslušnými ustanoveními směrnic:
- Směrnice 2004/108/ES (třída B)
- FCC část 15 podčást B
- 2002/95/ES (RoHS, WEEE)
Pro hodnocení se používají následující standardy:
- EN 61000-6-1 (2007)
- EN 61000-6-3 (2007) + A1 (2011)
- FCC CFR 47 část 15 (2013)
Technická konstrukce File se nachází na adrese:
Bylo vynaloženo veškeré úsilí k minimalizaci elektromagnetických emisí z tohoto produktu. Za určitých podmínek však může systém (tento produkt připojený k cílovému aplikačnímu obvodu) vyzařovat jednotlivé frekvence elektromagnetických komponent, které překračují maximální hodnoty povolené výše uvedenými normami. Frekvence a velikost emisí bude určena několika faktory, včetně uspořádání a směrování cílové aplikace, se kterou se produkt používá.
Historie revizí
Doc. Rev. |
Datum |
Komentáře |
42330C | 10/2016 | Přidáno rozhraní UPDI a aktualizovaná historie vydání firmwaru |
42330B | 03/2016 | • Revidovaná kapitola Ladění na čipu • Nové formátování historie vydání firmwaru v kapitole Historie vydání a Známé problémy • Přidán ladicí vývod kabelu |
42330A | 06/2014 | Počáteční vydání dokumentu |
Atmel®, Logo Atmel a jejich kombinace, Povolení neomezených možností®, AVR®, megaAVR®, STK®, tinyAVR®, XMEGA®a další jsou registrované ochranné známky nebo ochranné známky společnosti Atmel Corporation v USA a dalších zemích. PAŽE®, ARM připojeno® logo, Cortex®a další jsou registrované ochranné známky nebo ochranné známky společnosti ARM Ltd. Windows® je registrovaná ochranná známka společnosti Microsoft Corporation v USA a dalších zemích. Jiné termíny a názvy produktů mohou být ochrannými známkami jiných společností.
ODMÍTNUTÍ ODPOVĚDNOSTI: Informace v tomto dokumentu jsou poskytovány v souvislosti s produkty Atmel. Tímto dokumentem ani v souvislosti s prodejem produktů Atmel není udělena žádná licence, výslovná nebo předpokládaná, estoppel nebo jinak, k právům duševního vlastnictví. S VÝJIMKOU UVEDENÝCH V PODMÍNKÁCH A PODMÍNEK PRODEJE ATMEL UVEDENÝCH V ATMEL WEBSTRÁNKA, ATMEL NEPŘEBÍRÁ ŽÁDNOU ODPOVĚDNOST A ODMÍTÁ JAKÉKOLI VÝSLOVNÉ, PŘEDPOKLÁDANÉ NEBO ZÁKONNÉ ZÁRUKY VZTAHUJÍCÍ SE NA SVÉ PRODUKTY, VČETNĚ PŘEDPOKLÁDANÉ ZÁRUKY OBCHODOVATELNOSTI, VHODNOSTI SPOLEČNOSTI N. V ŽÁDNÉM PŘÍPADĚ NEBUDE ATMEL ODPOVĚDNÁ ZA JAKÉKOLI PŘÍMÉ, NEPŘÍMÉ, NÁSLEDNÉ, TRESTUJÍCÍ, ZVLÁŠTNÍ NEBO NÁHODNÉ ŠKODY (VČETNĚ, BEZ OMEZENÍ, ŠKOD ZA ZTRÁTU A ZISKY, PŘERUŠENÍ OBCHODNÍ ČINNOSTI NEBO ZTRÁTU INFORMACÍ) TENTO DOKUMENT, I KDYŽ BYL ATMEL DOPORUČEN
MOŽNOSTI TAKOVÝCH ŠKOD. Společnost Atmel neposkytuje žádná prohlášení ani záruky s ohledem na přesnost nebo úplnost obsahu tohoto dokumentu a vyhrazuje si právo kdykoli bez upozornění provádět změny specifikací a popisů produktů. Společnost Atmel se nezavazuje aktualizovat zde uvedené informace. Pokud není výslovně uvedeno jinak, produkty Atmel nejsou vhodné pro automobilové aplikace a nesmí se v nich používat. Produkty Atmel nejsou zamýšleny, autorizovány nebo zaručeny pro použití jako součásti v aplikacích určených k podpoře nebo udržení životnosti.
PROHLÁŠENÍ O BEZPEČNOSTNÍCH, VOJENSKÝCH A AUTOMOBILOVÝCH APLIKACÍCH PROHLÁŠENÍ: Produkty Atmel nejsou navrženy a nebudou používány ve spojení s žádnými aplikacemi, kde by se při selhání takových produktů dalo důvodně očekávat, že by mohlo dojít k vážnému zranění nebo smrti („kritické z hlediska bezpečnosti“ Žádosti”) bez zvláštního písemného souhlasu pracovníka Atmel. Aplikace kritické pro bezpečnost zahrnují, bez omezení, zařízení a systémy na podporu života, vybavení nebo systémy pro provoz jaderných zařízení a zbraňových systémů. Produkty Atmel nejsou navrženy ani určeny pro použití ve vojenských nebo leteckých aplikacích nebo prostředích, pokud nejsou společností Atmel výslovně označeny jako vojenské. Produkty Atmel nejsou navrženy ani určeny pro použití v automobilových aplikacích, pokud nejsou společností Atmel výslovně označeny jako automobilové.
Společnost Atmel
1600 Technology Drive, San Jose, CA 95110 USA
T: (+1) (408) 441.0311
F: (+1) (408) 436.4200
www.atmel.com
© 2016 Atmel Corporation.
Rev.: Atmel-42330C-Atmel-ICE_User Guide-10/2016
Dokumenty / zdroje
![]() |
Atmel Programátoři Atmel-ICE Debugger [pdfUživatelská příručka Programátoři Atmel-ICE Debugger, Atmel-ICE, Programátoři Debugger, Programátoři |