Atmel logotypICE Debugger-programmerare
AnvändarhandbokAtmel-ICE Debugger-programmerare Programmerare och felsökare
Atmel-ICE
ANVÄNDARGUIDE

Atmel-ICE Debugger

Atmel-ICE är ett kraftfullt utvecklingsverktyg för felsökning och programmering av ARM® Cortex®-M-baserade Atmel ®SAM och Atmel AVR-mikrokontroller med ® On-Chip Debug-kapacitet.
Den stöder:

  • Programmering och on-chip felsökning av alla Atmel AVR 32-bitars mikrokontroller på båda JTAG och aWire-gränssnitt
  • Programmering och on-chip-felsökning av alla enheter i Atmel AVR XMEGA®-familjen på både JTAG och PDI 2-trådsgränssnitt
  • Programmering (JTAG, SPI, UPDI) och felsökning av alla Atmel AVR 8-bitars mikrokontroller med OCD-stöd på antingen JTAG, debugWIRE eller UPDI-gränssnitt
  • Programmering och felsökning av alla Atmel SAM ARM Cortex-M-baserade mikrokontroller på både SWD och JTAG gränssnitt
  • Programmering (TPI) av alla Atmel tinyAVR® 8-bitars mikrokontroller med stöd för detta gränssnitt

Se listan över enheter som stöds i Atmel Studio User Guide för en fullständig lista över enheter och gränssnitt som stöds av den här firmwareversionen.

Introduktion

1.1. Introduktion till Atmel-ICE
Atmel-ICE är ett kraftfullt utvecklingsverktyg för felsökning och programmering av ARM Cortex-M-baserade Atmel SAM- och Atmel AVR-mikrokontroller med On-Chip Debug-kapacitet.
Den stöder:

  • Programmering och on-chip felsökning av alla Atmel AVR UC3 mikrokontroller på båda JTAG och aWire-gränssnitt
  • Programmering och on-chip-felsökning av alla enheter i AVR XMEGA-familjen på både JTAG och PDI 2wire-gränssnitt
  • Programmering (JTAG och SPI) och felsökning av alla AVR 8-bitars mikrokontroller med OCD-stöd på både JTAG eller debugWIRE-gränssnitt
  • Programmering och felsökning av alla Atmel SAM ARM Cortex-M-baserade mikrokontroller på både SWD och JTAG gränssnitt
  • Programmering (TPI) av alla Atmel tinyAVR 8-bitars mikrokontroller med stöd för detta gränssnitt

1.2. Atmel-ICE funktioner

  • Fullt kompatibel med Atmel Studio
  • Stöder programmering och felsökning av alla Atmel AVR UC3 32-bitars mikrokontroller
  • Stöder programmering och felsökning av alla 8-bitars AVR XMEGA-enheter
  • Stöder programmering och felsökning av alla 8-bitars Atmel megaAVR® och tinyAVR-enheter med OCD
  • Stöder programmering och felsökning av alla SAM ARM Cortex-M-baserade mikrokontroller
  • Target operation voltage intervall från 1.62V till 5.5V
  • Drar mindre än 3mA från mål-VTref när debugWIRE-gränssnittet används och mindre än 1mA för alla andra gränssnitt
  • Stödjer JTAG klockfrekvenser från 32kHz till 7.5MHz
  • Stöder PDI-klockfrekvenser från 32kHz till 7.5MHz
  • Stöder debugWIRE-överföringshastigheter från 4kbit/s till 0.5Mbit/s
  • Stöder aWire-överföringshastigheter från 7.5 kbit/s till 7 Mbit/s
  • Stöder SPI-klockfrekvenser från 8kHz till 5MHz
  • Stöder UPDI-överföringshastigheter från upp till 750kbit/s
  • Stöder SWD-klockfrekvenser från 32kHz till 10MHz
  • USB 2.0 höghastighetsvärdgränssnitt
  • ITM seriell spårfångst med upp till 3MB/s
  • Stöder DGI SPI och USART gränssnitt när de inte felsöker eller programmerar
  • Stöder 10-stift 50-mil JTAG kontakt med både AVR och Cortex stift. Standardprobkabeln stöder AVR 6-stifts ISP/PDI/TPI 100-mil headers samt 10-pin 50-mil. En adapter är tillgänglig för att stödja 6-pin 50-mil, 10-pin 100-mil och 20-pin 100-mil headers. Flera kitalternativ finns tillgängliga med olika kablar och adaptrar.

1.3. Systemkrav
Atmel-ICE-enheten kräver att en front-end-felsökningsmiljö Atmel Studio version 6.2 eller senare är installerad på din dator.
Atmel-ICE ska anslutas till värddatorn med den medföljande USB-kabeln eller en certifierad Micro-USB-kabel.

Komma igång med Atmel-ICE

2.1. Fullt innehåll i satsen
Atmel-ICE kompletta kit innehåller dessa artiklar:

  • Atmel-ICE enhet
  • USB-kabel (1.8 m, höghastighet, Micro-B)
  • Adapterkort som innehåller 50-mil AVR, 100-mil AVR/SAM och 100-mil 20-stifts SAM-adaptrar
  • IDC-plattkabel med 10-stifts 50-mil-kontakt och 6-stifts 100-mil-kontakt
  • 50-mil 10-stifts mini squid-kabel med 10 x 100-mil-uttag

Bild 2-1. Atmel-ICE Full Kit InnehållAtmel-ICE Debugger Programmerare - Figur 12.2. Basic Kit Innehåll
Atmel-ICE baskitet innehåller dessa artiklar:

  • Atmel-ICE enhet
  • USB-kabel (1.8 m, höghastighet, Micro-B)
  • IDC-plattkabel med 10-stifts 50-mil-kontakt och 6-stifts 100-mil-kontakt

Bild 2-2. Atmel-ICE Basic Kit InnehållAtmel-ICE Debugger Programmerare - Figur 22.3. PCBA Kit Innehåll
Atmel-ICE PCBA-satsen innehåller dessa artiklar:

  • Atmel-ICE enhet utan plastinkapsling

Bild 2-3. Atmel-ICE PCBA Kit InnehållAtmel-ICE Debugger Programmerare - Figur 32.4. Reservdelssatser
Följande reservdelssatser finns tillgängliga:

  • Adaptersats
  • Kabelsats

Bild 2-4. Atmel-ICE Adapter Kit InnehållAtmel-ICE Debugger Programmerare - Figur 42.5. Kit överview
Atmel-ICE-kitalternativen visas schematiskt här:
Bild 2-6. Atmel-ICE Kit överviewAtmel-ICE Debugger Programmerare - Figur 52.6. Montering av Atmel-ICE
Atmel-ICE-enheten levereras utan kablar anslutna. Två kabelalternativ finns i hela satsen:

  • 50-mil 10-stifts IDC platt kabel med 6-stifts ISP och 10-stifts kontakter
  • 50-mil 10-stifts mini-squid-kabel med 10 x 100-mil-uttag

Bild 2-7. Atmel-ICE-kablarAtmel-ICE Debugger Programmerare - Figur 6För de flesta ändamål kan den 50-mil 10-stifts IDC-platta kabeln användas, antingen inbyggd i dess 10-stifts eller 6-stifts kontakter eller via adapterkortet. Tre adaptrar finns på en liten PCBA. Följande adaptrar ingår:

  • 100-mil 10-stift JTAG/SWD-adapter
  • 100-mil 20-stift SAM JTAG/SWD-adapter
  • 50-mil 6-stifts SPI/debugWIRE/PDI/aWire-adapter

Bild 2-8. Atmel-ICE AdaptrarAtmel-ICE Debugger Programmerare - Figur 7Notera: 
En 50-mil JTAG adapter har inte medföljt – detta beror på att 50-mil 10-pin IDC-kabeln kan användas för att ansluta direkt till en 50-mil JTAG rubrik. För artikelnumret på den komponent som används för 50-mil 10-stiftskontakten, se Atmel-ICE Target Connectors Part Numbers.
6-stifts ISP/PDI-huvudet ingår som en del av 10-stifts IDC-kabeln. Denna uppsägning kan avbrytas om den inte krävs.
För att montera din Atmel-ICE till dess standardkonfiguration, anslut den 10-stifts 50-mil IDC-kabeln till enheten enligt bilden nedan. Se till att orientera kabeln så att den röda ledningen (stift 1) på kabeln är i linje med den triangulära indikatorn på höljets blå bälte. Kabeln ska anslutas uppåt från enheten. Var noga med att ansluta till porten som motsvarar pinouten på ditt mål – AVR eller SAM.
Bild 2-9. Atmel-ICE kabelanslutningAtmel-ICE Debugger Programmerare - Figur 8Bild 2-10. Atmel-ICE AVR-probanslutning
Atmel-ICE Debugger Programmerare - Figur 9Bild 2-11. Atmel-ICE SAM-probanslutningAtmel-ICE Debugger Programmerare - Figur 102.7. Öppnar Atmel-ICE
Notera: 
För normal drift får Atmel-ICE-enheten inte öppnas. Att öppna enheten sker på egen risk.
Antistatiska försiktighetsåtgärder bör vidtas.
Atmel-ICE-höljet består av tre separata plastkomponenter – topplock, bottenkåpa och blått bälte – som knäpps ihop under monteringen. För att öppna enheten, sätt helt enkelt in en stor platt skruvmejsel i öppningarna i det blå bältet, tryck inåt och vrid försiktigt. Upprepa processen på de andra snapperhålen, och topplocket kommer att lossna.
Bild 2-12. Öppna Atmel-ICE (1)
Atmel-ICE Debugger Programmerare - Figur 11Bild 2-13. Öppna Atmel-ICE (2)
Atmel-ICE Debugger Programmerare - Figur 12Bild 2-14. Öppna Atmel-ICE(3)Atmel-ICE Debugger Programmerare - Figur 13För att stänga enheten igen, justera helt enkelt de övre och nedre luckorna på rätt sätt och tryck ihop dem ordentligt.
2.8. Drivs av Atmel-ICE
Atmel-ICE drivs av USB-bussen voltage. Den kräver mindre än 100mA för att fungera och kan därför drivas via en USB-hubb. Strömlampan tänds när enheten är ansluten. När den inte är ansluten i en aktiv programmerings- eller felsökningssession går enheten in i lågströmsförbrukningsläge för att bevara datorns batteri. Atmel-ICE kan inte stängas av – den bör kopplas ur när den inte används.
2.9. Ansluter till värddatorn
Atmel-ICE kommunicerar huvudsakligen med ett standard HID-gränssnitt och kräver ingen speciell drivrutin på värddatorn. För att använda den avancerade Data Gateway-funktionaliteten i Atmel-ICE, se till att installera USB-drivrutinen på värddatorn. Detta görs automatiskt när du installerar front-end-mjukvaran som tillhandahålls gratis av Atmel. Ser www.atmel.com för ytterligare information eller för att ladda ner den senaste front-end-mjukvaran.
Atmel-ICE måste anslutas till en ledig USB-port på värddatorn med den medföljande USB-kabeln eller lämplig USB-certifierad mikrokabel. Atmel-ICE innehåller en USB 2.0-kompatibel styrenhet och kan fungera i både fullhastighets- och höghastighetslägen. För bästa resultat ansluter du Atmel-ICE direkt till en USB 2.0-kompatibel höghastighetshubb på värddatorn med den medföljande kabeln.
2.10. Installation av USB-drivrutin
2.10.1. Windows
När du installerar Atmel-ICE på en dator som kör Microsoft® Windows® , laddas USB-drivrutinen när Atmel-ICE först ansluts.
Notera: 
Se till att installera front-end-programvarupaketen innan du ansluter enheten för första gången.
När den väl har installerats kommer Atmel-ICE att visas i enhetshanteraren som en "Human Interface Device".

Ansluter Atmel-ICE

3.1. Anslutning till AVR- och SAM-målenheter
Atmel-ICE är utrustad med två 50-mil 10-stifts JTAG kontakter. Båda kontakterna är direkt elektriskt anslutna, men överensstämmer med två olika stift; AVR JTAG header och ARM Cortex Debug header. Anslutningen ska väljas baserat på målkortets pinout, och inte mål-MCU-typen - till exempelampen SAM-enhet monterad i en AVR STK® 600-stack ska använda AVR-huvudet.
Olika kablar och adaptrar finns tillgängliga i de olika Atmel-ICE-satserna. Ett överview anslutningsalternativ visas.
Bild 3-1. Atmel-ICE anslutningsalternativAtmel-ICE Debugger Programmerare - Figur 14Den röda ledningen markerar stift 1 på 10-stifts 50-mil-kontakten. Stift 1 på den 6-poliga 100-mil-kontakten är placerad till höger om nyckeln när kontakten ses från kabeln. Stift 1 på varje kontakt på adaptern är märkt med en vit prick. Bilden nedan visar pinouten för felsökningskabeln. Kontakten märkt A ansluts till debuggern medan B-sidan ansluts till målkortet.
Bild 3-2. Felsök kabel pinout
Atmel-ICE Debugger Programmerare - Figur 153.2. Ansluter till en JTAG Mål
Atmel-ICE är utrustad med två 50-mil 10-stifts JTAG kontakter. Båda kontakterna är direkt elektriskt anslutna, men överensstämmer med två olika stift; AVR JTAG header och ARM Cortex Debug header. Anslutningen ska väljas baserat på målkortets pinout, och inte mål-MCU-typen - till exempelampen SAM-enhet monterad i en AVR STK600-stack ska använda AVR-huvudet.
Rekommenderad pinout för 10-stifts AVR JTAG kontakten visas i figur 4-6. Det rekommenderade stiftet för 10-stifts ARM Cortex Debug-kontakten visas i figur 4-2.
Direkt anslutning till en standard 10-stifts 50-mil header
Använd den 50 mil långa 10-stifts plattkabeln (ingår i vissa kit) för att ansluta direkt till ett kort som stöder denna typ av header. Använd AVR-kontaktporten på Atmel-ICE för headers med AVR-pinout och SAM-kontaktporten för headers som överensstämmer med ARM Cortex Debug-header-pinout.
Uttagen för båda 10-stifts kontaktportarna visas nedan.
Anslutning till en standard 10-stifts 100-mil header 
Använd en standard 50-mil till 100-mil-adapter för att ansluta till 100-mil headers. Ett adapterkort (ingår i vissa kit) kan användas för detta ändamål, alternativt JTAGICE3-adapter kan användas för AVR-mål.
Atmel-ICE Debugger Programmerare - Figur 16 Viktig: 
JTAGICE3 100-mil-adapter kan inte användas med SAM-kontaktporten, eftersom stift 2 och 10 (AVR GND) på adaptern är anslutna.
Anslutning till en anpassad 100-mil header
Om ditt målkort inte har en kompatibel 10-stifts JTAG header i 50- eller 100-mil, kan du mappa till en anpassad pinout med hjälp av 10-stifts "mini-squid"-kabeln (ingår i vissa kit), som ger tillgång till tio individuella 100-mil-uttag.
Anslutning till en 20-stifts 100-mil header
Använd adapterkortet (ingår i vissa kit) för att ansluta till mål med en 20-stifts 100-mil header.
Tabell 3-1. Atmel-ICE JTAG Pin Beskrivning

Namn AVR portstift SAM portstift Beskrivning
TCK 1 4 Testklocka (klocksignal från Atmel-ICE till målenheten).
TMS 5 2 Välj testläge (kontrollsignal från Atmel-ICE till målenheten).
TDI 9 8 Test Data In (data överförs från Atmel-ICE till målenheten).
TDO 3 6 Testa data ut (data överförs från målenheten till Atmel-ICE).
nTRST 8 Teståterställning (valfritt, endast på vissa AVR-enheter). Används för att återställa JTAG TAP-kontroller.
nSRST 6 10 Återställ (valfritt). Används för att återställa målenheten. Att ansluta detta stift rekommenderas eftersom det tillåter Atmel-ICE att hålla målenheten i ett återställningstillstånd, vilket kan vara viktigt för felsökning i vissa scenarier.
VTG 4 1 Target voltage referens. Atmel-ICE samples målet voltage på detta stift för att driva nivåomvandlarna korrekt. Atmel-ICE drar mindre än 3mA från detta stift i debugWIRE-läge och mindre än 1mA i andra lägen.
GND 2, 10 3, 5, 9 Jord. Alla måste vara anslutna för att säkerställa att Atmel-ICE och målenheten delar samma jordreferens.

3.3. Ansluta till ett aWire-mål
aWire-gränssnittet kräver endast en datalinje utöver VCC och GND. På målet är denna linje nRESET-linjen, även om felsökaren använder JTAG TDO-linje som datalinje.
Det rekommenderade stiftet för den 6-poliga aWire-kontakten visas i figur 4-8.
Anslutning till en 6-stifts 100-mil aWire header
Använd 6-stifts 100-mil-kranen på den platta kabeln (ingår i vissa kit) för att ansluta till en standard 100-mil aWire-huvud.
Anslutning till en 6-stifts 50-mil aWire header
Använd adapterkortet (ingår i vissa kit) för att ansluta till en standard 50-mil aWire-header.
Anslutning till en anpassad 100-mil header
Den 10-stifts mini-squid-kabeln ska användas för att ansluta mellan Atmel-ICE AVR-porten och målkortet. Tre anslutningar krävs, enligt beskrivningen i tabellen nedan.
Tabell 3-2. Atmel-ICE aWire Pin Mapping

Atmel-ICE AVR portstift

Målstift Mini-bläckfisk stift

aWire pinout

Pin 1 (TCK) 1
Stift 2 (GND) GND 2 6
Pin 3 (TDO) DATA 3 1
Stift 4 (VTG) VTG 4 2
Pin 5 (TMS) 5
Pin 6 (nSRST) 6
Pin 7 (ej ansluten) 7
Pin 8 (nTRST) 8
Stift 9 (TDI) 9
Stift 10 (GND) 0

3.4. Ansluter till ett PDI-mål
Det rekommenderade stiftet för den 6-poliga PDI-kontakten visas i figur 4-11.
Anslutning till en 6-stifts 100-mil PDI-header
Använd 6-stifts 100-mil-kranen på den platta kabeln (ingår i vissa kit) för att ansluta till en standard 100-mil PDI-huvud.
Anslutning till en 6-stifts 50-mil PDI-header
Använd adapterkortet (ingår i vissa kit) för att ansluta till ett standard 50-mil PDI-huvud.
Anslutning till en anpassad 100-mil header
Den 10-stifts mini-squid-kabeln ska användas för att ansluta mellan Atmel-ICE AVR-porten och målkortet. Fyra anslutningar krävs, enligt beskrivningen i tabellen nedan.
Atmel-ICE Debugger Programmerare - Figur 16 Viktig: 
Den pinout som krävs skiljer sig från JTAGICE mkII JTAG sond, där PDI_DATA är ansluten till stift 9. Atmel-ICE är kompatibel med pinout som används av Atmel-ICE, JTAGICE3, AVR ONE! och AVR Dragon™ produkter.
Tabell 3-3. Atmel-ICE PDI Pin Mapping

Atmel-ICE AVR portstift Målstift Mini-bläckfisk stift

aWire pinout

Pin 1 (TCK) 1
Stift 2 (GND) GND 2 6
Pin 3 (TDO) DATA 3 1
Stift 4 (VTG) VTG 4 2
Pin 5 (TMS) 5
Pin 6 (nSRST) 6
Pin 7 (ej ansluten) 7
Pin 8 (nTRST) 8
Stift 9 (TDI) 9
Stift 10 (GND) 0

3.4 Ansluta till ett PDI-mål
Det rekommenderade stiftet för den 6-poliga PDI-kontakten visas i figur 4-11.
Anslutning till en 6-stifts 100-mil PDI-header
Använd 6-stifts 100-mil-kranen på den platta kabeln (ingår i vissa kit) för att ansluta till en standard 100-mil PDI-huvud.
Anslutning till en 6-stifts 50-mil PDI-header
Använd adapterkortet (ingår i vissa kit) för att ansluta till ett standard 50-mil PDI-huvud.
Anslutning till en anpassad 100-mil header
Den 10-stifts mini-squid-kabeln ska användas för att ansluta mellan Atmel-ICE AVR-porten och målkortet. Fyra anslutningar krävs, enligt beskrivningen i tabellen nedan.
Atmel-ICE Debugger Programmerare - Figur 16 Viktig:
Den pinout som krävs skiljer sig från JTAGICE mkII JTAG sond, där PDI_DATA är ansluten till stift 9. Atmel-ICE är kompatibel med pinout som används av Atmel-ICE, JTAGICE3, AVR ONE! och AVR Dragon produkter.
Tabell 3-3. Atmel-ICE PDI Pin Mapping

Atmel-ICE AVR portstift Målstift Mini-bläckfisk stift Atmel STK600 PDI pinout
Pin 1 (TCK) 1
Stift 2 (GND) GND 2 6
Pin 3 (TDO) PDI_DATA 3 1
Stift 4 (VTG) VTG 4 2
Pin 5 (TMS) 5
Pin 6 (nSRST) PDI_CLK 6 5
Pin 7 (ej ansluten) 7
Pin 8 (nTRST) 8
Stift 9 (TDI) 9
Stift 10 (GND) 0

3.5 Ansluta till ett UPDI-mål
Det rekommenderade stiftet för den 6-poliga UPDI-kontakten visas i figur 4-12.
Anslutning till en 6-stifts 100-mil UPDI header
Använd 6-stifts 100-mil-kranen på den platta kabeln (ingår i vissa kit) för att ansluta till en standard 100-mil UPDI-huvud.
Anslutning till en 6-stifts 50-mil UPDI header
Använd adapterkortet (ingår i vissa kit) för att ansluta till ett standard 50-mil UPDI-huvud.
Anslutning till en anpassad 100-mil header
Den 10-stifts mini-squid-kabeln ska användas för att ansluta mellan Atmel-ICE AVR-porten och målkortet. Tre anslutningar krävs, enligt beskrivningen i tabellen nedan.
Tabell 3-4. Atmel-ICE UPDI Pin Mapping

Atmel-ICE AVR portstift Målstift Mini-bläckfisk stift

Atmel STK600 UPDI pinout

Pin 1 (TCK) 1
Stift 2 (GND) GND 2 6
Pin 3 (TDO) UPDI_DATA 3 1
Stift 4 (VTG) VTG 4 2
Pin 5 (TMS) 5
Pin 6 (nSRST) [/ÅTERSTÄLL känsla] 6 5
Pin 7 (ej ansluten) 7
Pin 8 (nTRST) 8
Stift 9 (TDI) 9
Stift 10 (GND) 0

3.6 Ansluta till ett debugWIRE-mål
Det rekommenderade stiftet för 6-stifts debugWIRE (SPI)-kontakten visas i Tabell 3-6.
Anslutning till en 6-stifts 100-mil SPI-header
Använd 6-stifts 100-mil-kranen på den platta kabeln (ingår i vissa kit) för att ansluta till en standard 100-mil SPI-huvud.
Anslutning till en 6-stifts 50-mil SPI-header
Använd adapterkortet (ingår i vissa kit) för att ansluta till ett standard 50-mil SPI-huvud.
Anslutning till en anpassad 100-mil header
Den 10-stifts mini-squid-kabeln ska användas för att ansluta mellan Atmel-ICE AVR-porten och målkortet. Tre anslutningar krävs, enligt beskrivning i Tabell 3-5.
Även om debugWIRE-gränssnittet bara kräver en signallinje (RESET), VCC och GND för att fungera korrekt, rekommenderas det att ha tillgång till den fullständiga SPI-kontakten så att debugWIRE-gränssnittet kan aktiveras och inaktiveras med SPI-programmering.
När DWEN-säkringen är aktiverad åsidosätts SPI-gränssnittet internt för att OCD-modulen ska ha kontroll över RESET-stiftet. DebugWIRE OCD kan inaktivera sig själv tillfälligt (med knappen på felsökningsfliken i egenskapsdialogrutan i Atmel Studio), och därmed släpper kontrollen över RESET-raden. SPI-gränssnittet är då tillgängligt igen (endast om SPIEN-säkringen är programmerad), vilket gör att DWEN-säkringen kan avprogrammeras med SPI-gränssnittet. Om strömmen växlas innan DWEN-säkringen är oprogrammerad, kommer debugWIRE-modulen igen att ta kontroll över RESET-stiftet.
Notera:
Det rekommenderas starkt att helt enkelt låta Atmel Studio sköta inställning och rensning av DWEN-säkringen.
Det är inte möjligt att använda debugWIRE-gränssnittet om låsbitarna på mål-AVR-enheten är programmerade. Se alltid till att låsbitarna är rensade innan du programmerar DWEN-säkringen och ställ aldrig in låsbitarna medan DWEN-säkringen är programmerad. Om både debugWIRE-aktiveringssäkringen (DWEN) och låsbitar är inställda kan man använda High Voltage Programmering för att göra en chipradering och därmed rensa låsbitarna.
När låsbitarna är rensade kommer debugWIRE-gränssnittet att återaktiveras. SPI-gränssnittet kan endast läsa av säkringar, läsa signaturer och utföra en chipradering när DWEN-säkringen är oprogrammerad.
Tabell 3-5. Atmel-ICE debugWIRE Pin Mapping

Atmel-ICE AVR portstift Målstift

Mini-bläckfisk stift

Pin 1 (TCK) 1
Stift 2 (GND) GND 2
Pin 3 (TDO) 3
Stift 4 (VTG) VTG 4
Pin 5 (TMS) 5
Pin 6 (nSRST) ÅTERSTÄLLA 6
Pin 7 (ej ansluten) 7
Pin 8 (nTRST) 8
Stift 9 (TDI) 9
Stift 10 (GND) 0

3.7 Ansluta till ett SPI-mål
Det rekommenderade stiftet för den 6-poliga SPI-kontakten visas i figur 4-10.
Anslutning till en 6-stifts 100-mil SPI-header
Använd 6-stifts 100-mil-kranen på den platta kabeln (ingår i vissa kit) för att ansluta till en standard 100-mil SPI-huvud.
Anslutning till en 6-stifts 50-mil SPI-header
Använd adapterkortet (ingår i vissa kit) för att ansluta till ett standard 50-mil SPI-huvud.
Anslutning till en anpassad 100-mil header
Den 10-stifts mini-squid-kabeln ska användas för att ansluta mellan Atmel-ICE AVR-porten och målkortet. Sex anslutningar krävs, enligt beskrivningen i tabellen nedan.
Atmel-ICE Debugger Programmerare - Figur 16 Viktig:
SPI-gränssnittet är effektivt inaktiverat när debugWIRE-aktiveringssäkringen (DWEN) är programmerad, även om SPIEN-säkringen också är programmerad. För att återaktivera SPI-gränssnittet måste kommandot 'disable debugWIRE' utfärdas under en debugWIRE-felsökningssession. Att inaktivera debugWIRE på detta sätt kräver att SPIEN-säkringen redan är programmerad. Om Atmel Studio misslyckas med att inaktivera debugWIRE, är det troligt att SPIEN-säkringen INTE är programmerad. Om så är fallet är det nödvändigt att använda en högvolymtage programmeringsgränssnitt för att programmera SPIEN-säkringen.
Atmel-ICE Debugger Programmers - ikon Info:
SPI-gränssnittet kallas ofta för "ISP", eftersom det var det första In System Programming-gränssnittet på Atmel AVR-produkter. Andra gränssnitt är nu tillgängliga för In System Programmering.
Tabell 3-6. Atmel-ICE SPI Pin Mapping

Atmel-ICE AVR portstift Målstift Mini-bläckfisk stift

SPI pinout

Pin 1 (TCK) SCK 1 3
Stift 2 (GND) GND 2 6
Pin 3 (TDO) MISO 3 1
Stift 4 (VTG) VTG 4 2
Pin 5 (TMS) 5
Pin 6 (nSRST) / ÅTERSTÄLL 6 5
Pin 7 (ej ansluten) 7
Pin 8 (nTRST) 8
Stift 9 (TDI) SLÅ DANK 9 4
Stift 10 (GND) 0

3.8 Ansluta till ett TPI-mål
Det rekommenderade stiftet för 6-stifts TPI-kontakten visas i figur 4-13.
Anslutning till ett 6-stifts 100-mil TPI-huvud
Använd 6-stifts 100-mil-kranen på den platta kabeln (ingår i vissa kit) för att ansluta till en standard 100-mil TPI-huvud.
Anslutning till ett 6-stifts 50-mil TPI-huvud
Använd adapterkortet (ingår i vissa kit) för att ansluta till ett standard 50-mil TPI-huvud.
Anslutning till en anpassad 100-mil header
Den 10-stifts mini-squid-kabeln ska användas för att ansluta mellan Atmel-ICE AVR-porten och målkortet. Sex anslutningar krävs, enligt beskrivningen i tabellen nedan.
Tabell 3-7. Atmel-ICE TPI Pin Mapping

Atmel-ICE AVR portstift Målstift Mini-bläckfisk stift

TPI pinout

Pin 1 (TCK) KLOCKA 1 3
Stift 2 (GND) GND 2 6
Pin 3 (TDO) DATA 3 1
Stift 4 (VTG) VTG 4 2
Pin 5 (TMS) 5
Pin 6 (nSRST) / ÅTERSTÄLL 6 5
Pin 7 (ej ansluten) 7
Pin 8 (nTRST) 8
Stift 9 (TDI) 9
Stift 10 (GND) 0

3.9 Ansluta till ett SWD-mål
ARM SWD-gränssnittet är en delmängd av JTAG gränssnitt, med hjälp av TCK- och TMS-stiften, vilket innebär att vid anslutning till en SWD-enhet, 10-stifts JTAG kontakt kan tekniskt användas. ARM JTAG och AVR JTAG kontakter är dock inte stiftkompatibla, så detta beror på layouten på målkortet som används. När du använder en STK600 eller ett kort som använder AVR JTAG pinout måste AVR-kontaktporten på Atmel-ICE användas. När du ansluter till ett kort, som använder ARM JTAG pinout måste SAM-kontaktporten på Atmel-ICE användas.
Det rekommenderade stiftet för 10-stifts Cortex Debug-kontakten visas i figur 4-4.
Anslutning till en 10-stifts 50-mil Cortex header
Använd den platta kabeln (ingår i vissa kit) för att ansluta till en standard 50-mil Cortex-huvud.
Anslutning till en 10-stifts 100-mil Cortex-layout header
Använd adapterkortet (ingår i vissa kit) för att ansluta till ett 100-mil Cortex-pinout-huvud.
Anslutning till ett 20-stifts 100-mil SAM-huvud
Använd adapterkortet (ingår i vissa kit) för att ansluta till en 20-stifts 100-mil SAM-header.
Anslutning till en anpassad 100-mil header
10-stifts mini-squid-kabeln ska användas för att ansluta mellan Atmel-ICE AVR eller SAM-porten och målkortet. Sex anslutningar krävs, enligt beskrivningen i tabellen nedan.
Tabell 3-8. Atmel-ICE SWD Pin Mapping

Namn AVR  portstift SAM portstift Beskrivning
SWDC LK 1 4 Serial Wire Debug Clock.
SWDIO 5 2 Serial Wire Debug Data In/Output.
SWO 3 6 Serial Wire Output (tillval - inte implementerat på alla enheter).
nSRST 6 10 Återställa.
VTG 4 1 Target voltage referens.
GND 2, 10 3, 5, 9 Jord.

3.10 Ansluta till Data Gateway Interface
Atmel-ICE stöder ett begränsat Data Gateway Interface (DGI) när felsökning och programmering inte används. Funktionaliteten är identisk med den som finns på Atmel Xplained Pro-kit som drivs av Atmel EDBG-enheten.
Data Gateway Interface är ett gränssnitt för att streama data från målenheten till en dator. Detta är avsett som ett hjälpmedel vid applikationsfelsökning samt för att demonstrera funktioner i applikationen som körs på målenheten.
DGI består av flera kanaler för dataströmning. Atmel-ICE stöder följande lägen:

  • USART
  • SPI

Tabell 3-9. Atmel-ICE DGI USART Pinout

AVR-port

SAM-port DGI USART stift

Beskrivning

3 6 TX Överför stift från Atmel-ICE till målenheten
4 1 VTG Target voltage (referens voltage)
8 7 RX Ta emot pin från målenheten till Atmel-ICE
9 8 CLK USART klocka
2, 10 3, 5, 9 GND Jord

Tabell 3-10. Atmel-ICE DGI SPI Pinout

AVR-port

SAM-port DGI SPI-stift

Beskrivning

1 4 SCK SPI-klocka
3 6 MISO Master In Slave Out
4 1 VTG Target voltage (referens voltage)
5 2 nCS Chip select aktiv låg
9 8 SLÅ DANK Master Out Slave In
2, 10 3, 5, 9 GND Jord

Atmel-ICE Debugger Programmerare - Figur 16 Viktig:  SPI- och USART-gränssnitt kan inte användas samtidigt.
Atmel-ICE Debugger Programmerare - Figur 16 Viktig:  DGI och programmering eller felsökning kan inte användas samtidigt.

On-chip felsökning

4.1 Introduktion
On-chip felsökning
En on-chip debug-modul är ett system som tillåter en utvecklare att övervaka och kontrollera exekvering på en enhet från en extern utvecklingsplattform, vanligtvis genom en enhet som kallas en debugger eller debug-adapter.
Med ett OCD-system kan applikationen exekveras med bibehållen exakta elektriska egenskaper och tidsegenskaper i målsystemet, samtidigt som man kan stoppa exekveringen villkorligt eller manuellt och inspektera programflödet och minnet.
Körläge
I körläge är exekveringen av koden helt oberoende av Atmel-ICE. Atmel-ICE kommer kontinuerligt att övervaka målenheten för att se om ett avbrottstillstånd har inträffat. När detta händer kommer OCD-systemet att förhöra enheten genom dess felsökningsgränssnitt, vilket gör att användaren kan view enhetens interna tillstånd.
Stoppat läge
När en brytpunkt nås stoppas programexekveringen, men vissa I/O kan fortsätta att köras som om ingen brytpunkt hade inträffat. Till exempelample, anta att en USART-sändning just har initierats när en brytpunkt nås. I det här fallet fortsätter USART att köra i full hastighet och slutför överföringen, även om kärnan är i stoppat läge.
Hårdvarubrytpunkter
Mål-OCD-modulen innehåller ett antal programräknare-komparatorer implementerade i hårdvaran. När programräknaren matchar värdet som är lagrat i ett av komparatorregistren går OCD:n in i stoppat läge. Eftersom hårdvarubrytpunkter kräver dedikerad hårdvara på OCD-modulen, beror antalet tillgängliga brytpunkter på storleken på OCD-modulen implementerad på målet. Vanligtvis är en sådan hårdvarukomparator "reserverad" av felsökaren för intern användning.
Programvarubrytpunkter
En mjukvarubrytpunkt är en BREAK-instruktion placerad i programminnet på målenheten. När denna instruktion har laddats kommer programexekveringen att avbrytas och OCD:n går in i stoppat läge. För att fortsätta exekveringen måste ett "start"-kommando ges från OCD. Inte alla Atmel-enheter har OCD-moduler som stöder BREAK-instruktionen.
4.2 SAM-enheter med JTAG/SWD
Alla SAM-enheter har SWD-gränssnittet för programmering och felsökning. Dessutom har vissa SAM-enheter en JTAG gränssnitt med identisk funktionalitet. Kontrollera enhetens datablad för gränssnitt som stöds för den enheten.
4.2.1.ARM CoreSight-komponenter
Atmel ARM Cortex-M-baserade mikrokontroller implementerar CoreSight-kompatibla OCD-komponenter. Funktionerna hos dessa komponenter kan variera från enhet till enhet. För ytterligare information se enhetens datablad samt CoreSight-dokumentation från ARM.
4.2.1. JTAG Fysiskt gränssnitt
JTAG gränssnittet består av en 4-tråds TAP-kontroller (Test Access Port) som är kompatibel med IEEE® 1149.1 standard. IEEE-standarden utvecklades för att tillhandahålla ett branschstandard sätt att effektivt testa kretskortanslutningen (Boundary Scan). Atmel AVR- och SAM-enheter har utökat denna funktionalitet till att omfatta fullständigt stöd för programmering och felsökning på chip.
Bild 4-1. JTAG Gränssnitt för gränssnittAtmel-ICE Debugger Programmerare - Figur 25

4.2.2.1 SAM JTAG Pinout (Cortex-M felsökningskontakt)
När du designar ett applikationskretskort som inkluderar en Atmel SAM med JTAG gränssnittet, rekommenderas det att använda pinouten som visas i figuren nedan. Både 100-mil och 50-mil-varianter av denna pinout stöds, beroende på kablage och adaptrar som medföljer den specifika satsen.
Bild 4-2. SAM JTAG Header Pinout
Atmel-ICE Debugger Programmerare - Figur 20

Tabell 4-1. SAM JTAG Pin Beskrivning

Namn Stift

Beskrivning

TCK 4 Testklocka (klocksignal från Atmel-ICE till målenheten).
TMS 2 Välj testläge (kontrollsignal från Atmel-ICE till målenheten).
TDI 8 Test Data In (data överförs från Atmel-ICE till målenheten).
TDO 6 Testa data ut (data överförs från målenheten till Atmel-ICE).
n ÅTERSTÄLL 10 Återställ (valfritt). Används för att återställa målenheten. Att ansluta detta stift rekommenderas eftersom det tillåter Atmel-ICE att hålla målenheten i ett återställningstillstånd, vilket kan vara viktigt för felsökning i vissa scenarier.
VTG 1 Target voltage referens. Atmel-ICE samples målet voltage på detta stift för att driva nivåomvandlarna korrekt. Atmel-ICE drar mindre än 1mA från detta stift i detta läge.
GND 3, 5, 9 Jord. Alla måste vara anslutna för att säkerställa att Atmel-ICE och målenheten delar samma jordreferens.
NYCKEL 7 Ansluts internt till TRST-stiftet på AVR-kontakten. Rekommenderas som ej ansluten.

Atmel-ICE Debugger Programmers - ikon 1 Dricks: Kom ihåg att inkludera en frånkopplingskondensator mellan stift 1 och GND.
4.2.2.2 JTAG Daisy Kedja
JTAG gränssnitt gör att flera enheter kan anslutas till ett enda gränssnitt i en seriekopplingskonfiguration. Målenheterna måste alla drivas av samma matningsvolymtage, delar en gemensam jordnod och måste anslutas som visas i figuren nedan.
Bild 4-3. JTAG Daisy ChainAtmel-ICE Debugger Programmerare - Figur 23

När du ansluter enheter i en seriekedja måste följande punkter beaktas:

  • Alla enheter måste dela en gemensam jord, ansluten till GND på Atmel-ICE-sonden
  • Alla enheter måste arbeta på samma målvolymtage. VTG på Atmel-ICE måste anslutas till denna voltage.
  • TMS och TCK är parallellkopplade; TDI och TDO är seriekopplade
  • nSRST på Atmel-ICE-sonden måste anslutas till RESET på enheterna om någon av enheterna i kedjan inaktiverar dess JTAG hamn
  • "Enheter före" hänvisar till antalet JTAG enheter som TDI-signalen måste passera genom i seriekedjan innan de når målenheten. På liknande sätt är "enheter efter" antalet enheter som signalen måste passera efter målenheten innan den når Atmel-ICE TDO
  • "Instruktionsbitar "före" och "efter" hänvisar till den totala summan av alla JTAG enheters instruktionsregisterlängder, som är kopplade före och efter målenheten i daisy chain
  • Den totala IR-längden (instruktionsbitar före + Atmel-målenhets IR-längd + instruktionsbitar efter) är begränsad till maximalt 256 bitar. Antalet enheter i kedjan är begränsat till 15 före och 15 efter.

Atmel-ICE Debugger Programmers - ikon 1 Dricks:
Daisy chaining example: TDI → ATmega1280 → ATxmega128A1 → ATUC3A0512 → TDO.
För att ansluta till Atmel AVR XMEGA® enhet, är kedjans inställningar:

  • Enheter före: 1
  • Enheter efter: 1
  • Instruktionsbitar före: 4 (8-bitars AVR-enheter har 4 IR-bitar)
  • Instruktionsbitar efter: 5 (32-bitars AVR-enheter har 5 IR-bitar)

Tabell 4-2. IR-längder för Atmel MCU:er

Enhetstyp IR-längd
AVR 8-bitars 4 bitar
AVR 32-bitars 5 bitar
SAM 4 bitar

4.2.3. Ansluter till en JTAG Mål
Atmel-ICE är utrustad med två 50-mil 10-stifts JTAG kontakter. Båda kontakterna är direkt elektriskt anslutna, men överensstämmer med två olika stift; AVR JTAG header och ARM Cortex Debug header. Anslutningen ska väljas baserat på målkortets pinout, och inte mål-MCU-typen - till exempelampen SAM-enhet monterad i en AVR STK600-stack ska använda AVR-huvudet.
Rekommenderad pinout för 10-stifts AVR JTAG kontakten visas i figur 4-6.
Det rekommenderade stiftet för 10-stifts ARM Cortex Debug-kontakten visas i figur 4-2.
Direkt anslutning till en standard 10-stifts 50-mil header
Använd den 50 mil långa 10-stifts plattkabeln (ingår i vissa kit) för att ansluta direkt till ett kort som stöder denna typ av header. Använd AVR-kontaktporten på Atmel-ICE för headers med AVR-pinout och SAM-kontaktporten för headers som överensstämmer med ARM Cortex Debug-header-pinout.
Uttagen för båda 10-stifts kontaktportarna visas nedan.
Anslutning till en standard 10-stifts 100-mil header
Använd en standard 50-mil till 100-mil-adapter för att ansluta till 100-mil headers. Ett adapterkort (ingår i vissa kit) kan användas för detta ändamål, alternativt JTAGICE3-adapter kan användas för AVR-mål.
Atmel-ICE Debugger Programmerare - Figur 16 Viktig:
JTAGICE3 100-mil-adapter kan inte användas med SAM-kontaktporten, eftersom stift 2 och 10 (AVR GND) på adaptern är anslutna.
Anslutning till en anpassad 100-mil header
Om ditt målkort inte har en kompatibel 10-stifts JTAG header i 50- eller 100-mil, kan du mappa till en anpassad pinout med hjälp av 10-stifts "mini-squid"-kabeln (ingår i vissa kit), som ger tillgång till tio individuella 100-mil-uttag.
Anslutning till en 20-pin 100-mil header
Använd adapterkortet (ingår i vissa kit) för att ansluta till mål med en 20-stifts 100-mil header.
Tabell 4-3. Atmel-ICE JTAG Pin Beskrivning

Namn AVR portstift SAM portstift Beskrivning
TCK 1 4 Testklocka (klocksignal från Atmel-ICE till målenheten).
TMS 5 2 Välj testläge (kontrollsignal från Atmel-ICE till målenheten).
TDI 9 8 Test Data In (data överförs från Atmel-ICE till målenheten).
TDO 3 6 Testa data ut (data överförs från målenheten till Atmel-ICE).
nTRST 8 Teståterställning (valfritt, endast på vissa AVR-enheter). Används för att återställa JTAG TAP-kontroller.
nSRST 6 10 Återställ (valfritt). Används för att återställa målenheten. Att ansluta detta stift rekommenderas eftersom det tillåter Atmel-ICE att hålla målenheten i ett återställningstillstånd, vilket kan vara viktigt för felsökning i vissa scenarier.
VTG 4 1 Target voltage referens. Atmel-ICE samples målet voltage på detta stift för att driva nivåomvandlarna korrekt. Atmel-ICE drar mindre än 3mA från detta stift i debugWIRE-läge och mindre än 1mA i andra lägen.
GND 2, 10 3, 5, 9 Jord. Alla måste vara anslutna för att säkerställa att Atmel-ICE och målenheten delar samma jordreferens.

4.2.4. SWD fysiska gränssnitt
ARM SWD-gränssnittet är en delmängd av JTAG gränssnitt, med hjälp av TCK- och TMS-stift. ARM JTAG och AVR JTAG kontakter är dock inte stiftkompatibla, så när man designar ett applikationskretskort som använder en SAM-enhet med SWD eller JTAG gränssnitt, rekommenderas det att använda ARM pinout som visas i figuren nedan. SAM-kontaktporten på Atmel-ICE kan anslutas direkt till denna pinout.
Bild 4-4. Rekommenderad ARM SWD/JTAG Header PinoutAtmel-ICE Debugger Programmerare - Figur 18

Atmel-ICE kan strömma ITM-spår i UART-format till värddatorn. Spår fångas på TRACE/SWO-stiftet på 10-stiftshuvudet (JTAG TDO-stift). Data buffras internt på Atmel-ICE och skickas över HID-gränssnittet till värddatorn. Den maximala tillförlitliga datahastigheten är cirka 3 MB/s.
4.2.5. Ansluter till ett SWD-mål
ARM SWD-gränssnittet är en delmängd av JTAG gränssnitt, med hjälp av TCK- och TMS-stiften, vilket innebär att vid anslutning till en SWD-enhet, 10-stifts JTAG kontakt kan tekniskt användas. ARM JTAG och AVR JTAG kontakter är dock inte stiftkompatibla, så detta beror på layouten på målkortet som används. När du använder en STK600 eller ett kort som använder AVR JTAG pinout måste AVR-kontaktporten på Atmel-ICE användas. När du ansluter till ett kort, som använder ARM JTAG pinout måste SAM-kontaktporten på Atmel-ICE användas.
Det rekommenderade stiftet för 10-stifts Cortex Debug-kontakten visas i figur 4-4.
Anslutning till en 10-stifts 50-mil Cortex header
Använd den platta kabeln (ingår i vissa kit) för att ansluta till en standard 50-mil Cortex-huvud.
Anslutning till en 10-stifts 100-mil Cortex-layout header
Använd adapterkortet (ingår i vissa kit) för att ansluta till ett 100-mil Cortex-pinout-huvud.
Anslutning till ett 20-stifts 100-mil SAM-huvud
Använd adapterkortet (ingår i vissa kit) för att ansluta till en 20-stifts 100-mil SAM-header.
Anslutning till en anpassad 100-mil header
10-stifts mini-squid-kabeln ska användas för att ansluta mellan Atmel-ICE AVR eller SAM-porten och målkortet. Sex anslutningar krävs, enligt beskrivningen i tabellen nedan.
Tabell 4-4. Atmel-ICE SWD Pin Mapping

Namn AVR portstift SAM portstift Beskrivning
SWDC LK 1 4 Serial Wire Debug Clock.
SWDIO 5 2 Serial Wire Debug Data In/Output.
SWO 3 6 Serial Wire Output (tillval - inte implementerat på alla enheter).
nSRST 6 10 Återställa.
VTG 4 1 Target voltage referens.
GND 2, 10 3, 5, 9 Jord.

4.2.6 Särskilda överväganden
RADERA stift
Vissa SAM-enheter inkluderar ett ERASE-stift som påstås utföra en fullständig chipradering och låsa upp enheter på vilka säkerhetsbiten är inställd. Den här funktionen är kopplad till själva enheten samt blixtkontrollern och är inte en del av ARM-kärnan.
ERASE-stiftet är INTE en del av någon felsökningshuvud, och Atmel-ICE kan därför inte hävda denna signal för att låsa upp en enhet. I sådana fall bör användaren utföra raderingen manuellt innan en felsökningssession påbörjas.
Fysiska gränssnitt JTAG gränssnitt
RESET-linjen ska alltid vara ansluten så att Atmel-ICE kan aktivera JTAG gränssnitt.
SWD-gränssnitt
RESET-linjen ska alltid vara ansluten så att Atmel-ICE kan aktivera SWD-gränssnittet.
4.3 AVR UC3-enheter med JTAG/en kabel
Alla AVR UC3-enheter har JTAG gränssnitt för programmering och felsökning. Dessutom har vissa AVR UC3-enheter aWire-gränssnittet med identisk funktionalitet med en enda tråd. Kontrollera enhetens datablad för gränssnitt som stöds för den enheten
4.3.1 Atmel AVR UC3 On-chip Debug System
Atmel AVR UC3 OCD-systemet är designat i enlighet med Nexus 2.0-standarden (IEEE-ISTO 5001™-2003), som är en mycket flexibel och kraftfull öppen felsökningsstandard för 32-bitars mikrokontroller. Den stöder följande funktioner:

  • Nexus-kompatibel felsökningslösning
  • OCD stöder alla CPU-hastigheter
  • Sex brytpunkter för hårdvara för programräknare
  • Två databrytpunkter
  • Brytpunkter kan konfigureras som vaktpunkter
  • Hårdvarubrytpunkter kan kombineras för att ge break på intervall
  • Obegränsat antal brytpunkter för användarprogram (med BREAK)
  • Räknarspårning för programräknare i realtid, dataspårning, processspårning (stöds endast av debuggers med parallell spårfångstport)

För mer information om AVR UC3 OCD-systemet, se AVR32UC Technical Reference Manuals, som finns på www.atmel.com/uc3.
4.3.2. JTAG Fysiskt gränssnitt
JTAG gränssnittet består av en 4-tråds TAP-kontroller (Test Access Port) som är kompatibel med IEEE® 1149.1 standard. IEEE-standarden utvecklades för att tillhandahålla ett branschstandard sätt att effektivt testa kretskortanslutningen (Boundary Scan). Atmel AVR- och SAM-enheter har utökat denna funktionalitet till att omfatta fullständigt stöd för programmering och felsökning på chip.
Bild 4-5. JTAG Gränssnitt för gränssnittAtmel-ICE Debugger Programmerare - Figur 17

4.3.2.1 AVR JTAG Pinout
När du designar ett applikationskretskort, som inkluderar en Atmel AVR med JTAG gränssnittet, rekommenderas det att använda pinouten som visas i figuren nedan. Både 100-mil och 50-mil-varianter av denna pinout stöds, beroende på kablage och adaptrar som medföljer den specifika satsen.
Bild 4-6. AVR JTAG Header Pinout
Atmel-ICE Debugger Programmerare - Figur 22

Tabell 4-5. AVR JTAG Pin Beskrivning

Namn Stift

Beskrivning

TCK 1 Testklocka (klocksignal från Atmel-ICE till målenheten).
TMS 5 Välj testläge (kontrollsignal från Atmel-ICE till målenheten).
TDI 9 Test Data In (data överförs från Atmel-ICE till målenheten).
TDO 3 Testa data ut (data överförs från målenheten till Atmel-ICE).
nTRST 8 Teståterställning (valfritt, endast på vissa AVR-enheter). Används för att återställa JTAG TAP-kontroller.
nSRST 6 Återställ (valfritt). Används för att återställa målenheten. Att ansluta detta stift rekommenderas eftersom det tillåter Atmel-ICE att hålla målenheten i ett återställningstillstånd, vilket kan vara viktigt för felsökning i vissa scenarier.
VTG 4 Target voltage referens. Atmel-ICE samples målet voltage på detta stift för att driva nivåomvandlarna korrekt. Atmel-ICE drar mindre än 3mA från detta stift i debugWIRE-läge och mindre än 1mA i andra lägen.
GND 2, 10 Jord. Båda måste vara anslutna för att säkerställa att Atmel-ICE och målenheten delar samma jordreferens.

Atmel-ICE Debugger Programmers - ikon 1 Dricks: Kom ihåg att inkludera en frånkopplingskondensator mellan stift 4 och GND.
4.3.2.2 JTAG Daisy Kedja
JTAG gränssnitt gör att flera enheter kan anslutas till ett enda gränssnitt i en seriekopplingskonfiguration. Målenheterna måste alla drivas av samma matningsvolymtage, delar en gemensam jordnod och måste anslutas som visas i figuren nedan.
Bild 4-7. JTAG Daisy ChainAtmel-ICE Debugger Programmerare - Figur 19

När du ansluter enheter i en seriekedja måste följande punkter beaktas:

  • Alla enheter måste dela en gemensam jord, ansluten till GND på Atmel-ICE-sonden
  • Alla enheter måste arbeta på samma målvolymtage. VTG på Atmel-ICE måste anslutas till denna voltage.
  • TMS och TCK är parallellkopplade; TDI och TDO är sammankopplade i en seriell kedja.
  • nSRST på Atmel-ICE-sonden måste anslutas till RESET på enheterna om någon av enheterna i kedjan inaktiverar dess JTAG hamn
  • "Enheter före" hänvisar till antalet JTAG enheter som TDI-signalen måste passera genom i seriekedjan innan de når målenheten. På liknande sätt är "enheter efter" antalet enheter som signalen måste passera efter målenheten innan den når Atmel-ICE TDO
  • "Instruktionsbitar "före" och "efter" hänvisar till den totala summan av alla JTAG enheters instruktionsregisterlängder, som är kopplade före och efter målenheten i daisy chain
  • Den totala IR-längden (instruktionsbitar före + Atmel-målenhets IR-längd + instruktionsbitar efter) är begränsad till maximalt 256 bitar. Antalet enheter i kedjan är begränsat till 15 före och 15 efter.

Dricks: 

Daisy chaining example: TDI → ATmega1280 → ATxmega128A1 → ATUC3A0512 → TDO.
För att ansluta till Atmel AVR XMEGA® enhet, är kedjans inställningar:

  • Enheter före: 1
  • Enheter efter: 1
  • Instruktionsbitar före: 4 (8-bitars AVR-enheter har 4 IR-bitar)
  • Instruktionsbitar efter: 5 (32-bitars AVR-enheter har 5 IR-bitar)

Tabell 4-6. IR-längder för Atmel MCUS

Enhetstyp IR-längd
AVR 8-bitars 4 bitar
AVR 32-bitars 5 bitar
SAM 4 bitar

4.3.3.Ansluta till en JTAG Mål
Atmel-ICE är utrustad med två 50-mil 10-stifts JTAG kontakter. Båda kontakterna är direkt elektriskt anslutna, men överensstämmer med två olika stift; AVR JTAG header och ARM Cortex Debug header. Anslutningen ska väljas baserat på målkortets pinout, och inte mål-MCU-typen - till exempelampen SAM-enhet monterad i en AVR STK600-stack ska använda AVR-huvudet.
Rekommenderad pinout för 10-stifts AVR JTAG kontakten visas i figur 4-6.
Det rekommenderade stiftet för 10-stifts ARM Cortex Debug-kontakten visas i figur 4-2.
Direkt anslutning till en standard 10-stifts 50-mil header
Använd den 50 mil långa 10-stifts plattkabeln (ingår i vissa kit) för att ansluta direkt till ett kort som stöder denna typ av header. Använd AVR-kontaktporten på Atmel-ICE för headers med AVR-pinout och SAM-kontaktporten för headers som överensstämmer med ARM Cortex Debug-header-pinout.
Uttagen för båda 10-stifts kontaktportarna visas nedan.
Anslutning till en standard 10-stifts 100-mil header

Använd en standard 50-mil till 100-mil-adapter för att ansluta till 100-mil headers. Ett adapterkort (ingår i vissa kit) kan användas för detta ändamål, alternativt JTAGICE3-adapter kan användas för AVR-mål.
Atmel-ICE Debugger Programmerare - Figur 16 Viktig:
JTAGICE3 100-mil-adapter kan inte användas med SAM-kontaktporten, eftersom stift 2 och 10 (AVR GND) på adaptern är anslutna.
Anslutning till en anpassad 100-mil header
Om ditt målkort inte har en kompatibel 10-stifts JTAG header i 50- eller 100-mil, kan du mappa till en anpassad pinout med hjälp av 10-stifts "mini-squid"-kabeln (ingår i vissa kit), som ger tillgång till tio individuella 100-mil-uttag.
Anslutning till en 20-pin 100-mil header
Använd adapterkortet (ingår i vissa kit) för att ansluta till mål med en 20-stifts 100-mil header.
Tabell 4-7. Atmel-ICE JTAG Pin Beskrivning

Namn

AVR-portstift SAM-portstift

Beskrivning

TCK 1 4 Testklocka (klocksignal från Atmel-ICE till målenheten).
TMS 5 2 Välj testläge (kontrollsignal från Atmel-ICE till målenheten).
TDI 9 8 Test Data In (data överförs från Atmel-ICE till målenheten).
TDO 3 6 Testa data ut (data överförs från målenheten till Atmel-ICE).
nTRST 8 Teståterställning (valfritt, endast på vissa AVR-enheter). Används för att återställa JTAG TAP-kontroller.
nSRST 6 10 Återställ (valfritt). Används för att återställa målenheten. Att ansluta detta stift rekommenderas eftersom det tillåter Atmel-ICE att hålla målenheten i ett återställningstillstånd, vilket kan vara viktigt för felsökning i vissa scenarier.
VTG 4 1 Target voltage referens. Atmel-ICE samples målet voltage på detta stift för att driva nivåomvandlarna korrekt. Atmel-ICE drar mindre än 3mA från detta stift i debugWIRE-läge och mindre än 1mA i andra lägen.
GND 2, 10 3, 5, 9 Jord. Alla måste vara anslutna för att säkerställa att Atmel-ICE och målenheten delar samma jordreferens.

 4.3.4 aWire fysiskt gränssnitt
aWire-gränssnittet använder sig av RESET-kabeln på AVR-enheten för att tillåta programmering och felsökningsfunktioner. En speciell aktiveringssekvens sänds av Atmel-ICE, som inaktiverar standard RESET-funktionaliteten för stiftet. När du designar ett applikationskretskort, som inkluderar en Atmel AVR med aWire-gränssnittet, rekommenderas att använda stiftet som visas i figur 4 -8. Både 100-mil och 50-mil-varianter av denna pinout stöds, beroende på kablage och adaptrar som medföljer den specifika satsen.
Bild 4-8. aWire Header PinoutAtmel-ICE Debugger Programmerare - Figur 24

Atmel-ICE Debugger Programmers - ikon 1 Dricks:
Eftersom aWire är ett halvduplex-gränssnitt rekommenderas ett pull-up-motstånd på RESET-linjen i storleksordningen 47kΩ för att undvika falsk startbitsdetektering vid byte av riktning.
aWire-gränssnittet kan användas som både programmerings- och felsökningsgränssnitt. Alla funktioner i OCD-systemet är tillgängliga via 10-stifts JTAG gränssnittet kan också nås med aWire.
4.3.5 Ansluta till ett aWire-mål
aWire-gränssnittet kräver endast en datalinje utöver VCC och GND. På målet är denna linje nRESET-linjen, även om felsökaren använder JTAG TDO-linje som datalinje.
Det rekommenderade stiftet för den 6-poliga aWire-kontakten visas i figur 4-8.
Anslutning till en 6-stifts 100-mil aWire header
Använd 6-stifts 100-mil-kranen på den platta kabeln (ingår i vissa kit) för att ansluta till en standard 100-mil aWire-huvud.
Anslutning till en 6-stifts 50-mil aWire header
Använd adapterkortet (ingår i vissa kit) för att ansluta till en standard 50-mil aWire-header.
Anslutning till en anpassad 100-mil header
Den 10-stifts mini-squid-kabeln ska användas för att ansluta mellan Atmel-ICE AVR-porten och målkortet. Tre anslutningar krävs, enligt beskrivningen i tabellen nedan.
Tabell 4-8. Atmel-ICE aWire Pin Mapping

Atmel-ICE AVR portstift Målstift Mini-bläckfisk stift

aWire pinout

Pin 1 (TCK) 1
Stift 2 (GND) GND 2 6
Pin 3 (TDO) DATA 3 1
Stift 4 (VTG) VTG 4 2
Pin 5 (TMS) 5
Pin 6 (nSRST) 6
Pin 7 (ej ansluten) 7
Pin 8 (nTRST) 8
Stift 9 (TDI) 9
Stift 10 (GND) 0

4.3.6. Särskilda hänsyn
JTAG gränssnitt
På vissa Atmel AVR UC3-enheter har JTAG porten är inte aktiverad som standard. När du använder dessa enheter är det viktigt att ansluta RESET-linjen så att Atmel-ICE kan aktivera JTAG gränssnitt.
aWire-gränssnitt
Baudraten för aWire-kommunikation beror på systemklockans frekvens, eftersom data måste synkroniseras mellan dessa två domäner. Atmel-ICE kommer automatiskt att upptäcka att systemklockan har sänkts och kalibrerar om sin baudhastighet därefter. Den automatiska kalibreringen fungerar bara ner till en systemklockfrekvens på 8kHz. Om du byter till en lägre systemklocka under en felsökningssession kan kontakten med målet förloras.
Vid behov kan aWire-överföringshastigheten begränsas genom att ställa in aWire-klockparametern. Automatisk detektering kommer fortfarande att fungera, men ett takvärde kommer att läggas på resultaten.
Alla stabiliseringskondensatorer som är anslutna till RESET-stiftet måste kopplas bort när du använder aWire eftersom det kommer att störa korrekt drift av gränssnittet. En svag extern pullup (10kΩ eller högre) på denna linje rekommenderas.

Stäng av viloläge
Vissa AVR UC3-enheter har en intern regulator som kan användas i 3.3V matningsläge med 1.8V reglerade I/O-linjer. Detta innebär att den interna regulatorn driver både kärnan och det mesta av I/O. Endast Atmel AVR ONE! debugger stöder felsökning när du använder vilolägen där denna regulator är avstängd.
4.3.7. EVTI / EVTO Användning
EVTI- och EVTO-stiften är inte tillgängliga på Atmel-ICE. De kan dock fortfarande användas tillsammans med annan extern utrustning.
EVTI kan användas för följande ändamål:

  • Målet kan tvingas att stoppa exekveringen som svar på en extern händelse. Om Event In Control (EIC)-bitarna i DC-registret skrivs till 0b01, kommer hög-till-låg-övergång på EVTI-stiftet att generera ett brytpunktstillstånd. EVTI måste förbli låg under en CPU-klockcykel för att garantera att en brytpunkt är. Den externa brytpunktsbiten (EXB) i DS ställs in när detta inträffar.
  • Genererar spårsynkroniseringsmeddelanden. Används inte av Atmel-ICE.

EVTO kan användas för följande ändamål:

  • Indikerar att CPU:n har gått in i felsökning Om EOS-bitarna i DC ställs in på 0b01 får EVTO-stiftet att dras lågt under en CPU-klockcykel när målenheten går in i felsökningsläge. Denna signal kan användas som en triggerkälla för ett externt oscilloskop.
  • Indikerar att processorn har nått en brytpunkt eller vaktpunkt. Genom att ställa in EOC-biten i ett motsvarande Breakpoint/Watchpoint Control Register, indikeras brytpunkten eller watchpointstatusen på EVTO-stiftet. EOS-bitarna i DC måste ställas in på 0xb10 för att aktivera den här funktionen. EVTO-stiftet kan sedan anslutas till ett externt oscilloskop för att undersöka vaktpunkten
  • Genererar spårningstidssignaler. Används inte av Atmel-ICE.

4.4 tinyAVR-, megaAVR- och XMEGA-enheter
AVR-enheter har olika programmerings- och felsökningsgränssnitt. Kontrollera enhetens datablad för gränssnitt som stöds för den enheten.

  • Någon liten AVR® enheter som har en TPI. TPI kan endast användas för att programmera enheten, och dessa enheter har inte chipfelsökning alls.
  • Vissa tinyAVR-enheter och vissa megaAVR-enheter har debugWIRE-gränssnittet, som ansluts till ett on-chip-felsökningssystem som kallas tinyOCD. Alla enheter med debugWIRE har även SPI-gränssnittet för in-system
  • Vissa megaAVR-enheter har en JTAG gränssnitt för programmering och felsökning, med ett felsökningssystem på chip även känt som Alla enheter med JTAG har även SPI-gränssnittet som ett alternativt gränssnitt för programmering i systemet.
  • Alla AVR XMEGA-enheter har PDI-gränssnittet för programmering och vissa AVR XMEGA-enheter har även en JTAG gränssnitt med identisk funktionalitet.
  • Nya tinyAVR-enheter har ett UPDI-gränssnitt, som används för programmering och felsökning

Tabell 4-9. Sammanfattning av programmerings- och felsökningsgränssnitt

UPDI TPI SPI debugWIR E JTAG PDI en kabel

SWD

liten AVR Nya enheter Vissa enheter Vissa enheter Vissa enheter
megaAV R Alla enheter Vissa enheter Vissa enheter
AVR XMEGA Vissa enheter Alla enheter
AVR UC Alla enheter Vissa enheter
SAM Vissa enheter Alla enheter

4.4.1. JTAG Fysiskt gränssnitt
JTAG gränssnittet består av en 4-tråds TAP-kontroller (Test Access Port) som är kompatibel med IEEE® 1149.1 standard. IEEE-standarden utvecklades för att tillhandahålla ett branschstandard sätt att effektivt testa kretskortanslutningen (Boundary Scan). Atmel AVR- och SAM-enheter har utökat denna funktionalitet till att omfatta fullständigt stöd för programmering och felsökning på chip.
Bild 4-9. JTAG Gränssnitt för gränssnittAtmel-ICE Debugger Programmerare - Figur 214.4.2. Ansluter till en JTAG Mål
Atmel-ICE är utrustad med två 50-mil 10-stifts JTAG kontakter. Båda kontakterna är direkt elektriskt anslutna, men överensstämmer med två olika stift; AVR JTAG header och ARM Cortex Debug header. Anslutningen ska väljas baserat på målkortets pinout, och inte mål-MCU-typen - till exempelampen SAM-enhet monterad i en AVR STK600-stack ska använda AVR-huvudet.
Rekommenderad pinout för 10-stifts AVR JTAG kontakten visas i figur 4-6.
Det rekommenderade stiftet för 10-stifts ARM Cortex Debug-kontakten visas i figur 4-2.
Direkt anslutning till en standard 10-stifts 50-mil header
Använd den 50 mil långa 10-stifts plattkabeln (ingår i vissa kit) för att ansluta direkt till ett kort som stöder denna typ av header. Använd AVR-kontaktporten på Atmel-ICE för headers med AVR-pinout och SAM-kontaktporten för headers som överensstämmer med ARM Cortex Debug-header-pinout.
Uttagen för båda 10-stifts kontaktportarna visas nedan.
Anslutning till en standard 10-stifts 100-mil header
Använd en standard 50-mil till 100-mil-adapter för att ansluta till 100-mil headers. Ett adapterkort (ingår i vissa kit) kan användas för detta ändamål, alternativt JTAGICE3-adapter kan användas för AVR-mål.
Atmel-ICE Debugger Programmerare - Figur 16 Viktig:
JTAGICE3 100-mil-adapter kan inte användas med SAM-kontaktporten, eftersom stift 2 och 10 (AVR GND) på adaptern är anslutna.
Anslutning till en anpassad 100-mil header
Om ditt målkort inte har en kompatibel 10-stifts JTAG header i 50- eller 100-mil, kan du mappa till en anpassad pinout med hjälp av 10-stifts "mini-squid"-kabeln (ingår i vissa kit), som ger tillgång till tio individuella 100-mil-uttag.
Anslutning till en 20-pin 100-mil header
Använd adapterkortet (ingår i vissa kit) för att ansluta till mål med en 20-stifts 100-mil header.
Tabell 4-10. Atmel-ICE JTAG Pin Beskrivning

Namn AVR portstift SAM portstift Beskrivning
TCK 1 4 Testklocka (klocksignal från Atmel-ICE till målenheten).
TMS 5 2 Välj testläge (kontrollsignal från Atmel-ICE till målenheten).
TDI 9 8 Test Data In (data överförs från Atmel-ICE till målenheten).
TDO 3 6 Testa data ut (data överförs från målenheten till Atmel-ICE).
nTRST 8 Teståterställning (valfritt, endast på vissa AVR-enheter). Används för att återställa JTAG TAP-kontroller.
nSRST 6 10 Återställ (valfritt). Används för att återställa målenheten. Att ansluta detta stift rekommenderas eftersom det tillåter Atmel-ICE att hålla målenheten i ett återställningstillstånd, vilket kan vara viktigt för felsökning i vissa scenarier.
VTG 4 1 Target voltage referens. Atmel-ICE samples målet voltage på detta stift för att driva nivåomvandlarna korrekt. Atmel-ICE drar mindre än 3mA från detta stift i debugWIRE-läge och mindre än 1mA i andra lägen.
GND 2, 10 3, 5, 9 Jord. Alla måste vara anslutna för att säkerställa att Atmel-ICE och målenheten delar samma jordreferens.

4.4.3.SPI fysiskt gränssnitt
In-System Programmering använder mål Atmel AVR:s interna SPI (Serial Peripheral Interface) för att ladda ner kod till flash- och EEPROM-minnen. Det är inte ett felsökningsgränssnitt. Vid design av ett applikationskretskort, som inkluderar en AVR med SPI-gränssnitt, bör pinouten som visas i figuren nedan användas.
Bild 4-10. SPI Header PinoutAtmel-ICE Debugger Programmerare - Figur 264.4.4. Ansluta till ett SPI-mål
Det rekommenderade stiftet för den 6-poliga SPI-kontakten visas i figur 4-10.
Anslutning till en 6-stifts 100-mil SPI-header
Använd 6-stifts 100-mil-kranen på den platta kabeln (ingår i vissa kit) för att ansluta till en standard 100-mil SPI-huvud.
Anslutning till en 6-stifts 50-mil SPI-header
Använd adapterkortet (ingår i vissa kit) för att ansluta till ett standard 50-mil SPI-huvud.
Anslutning till en anpassad 100-mil header
Den 10-stifts mini-squid-kabeln ska användas för att ansluta mellan Atmel-ICE AVR-porten och målkortet. Sex anslutningar krävs, enligt beskrivningen i tabellen nedan.
Atmel-ICE Debugger Programmerare - Figur 16 Viktig:
SPI-gränssnittet är effektivt inaktiverat när debugWIRE-aktiveringssäkringen (DWEN) är programmerad, även om SPIEN-säkringen också är programmerad. För att återaktivera SPI-gränssnittet måste kommandot 'disable debugWIRE' utfärdas under en debugWIRE-felsökningssession. Att inaktivera debugWIRE på detta sätt kräver att SPIEN-säkringen redan är programmerad. Om Atmel Studio misslyckas med att inaktivera debugWIRE, är det troligt att SPIEN-säkringen INTE är programmerad. Om så är fallet är det nödvändigt att använda en högvolymtage programmeringsgränssnitt för att programmera SPIEN-säkringen.
Atmel-ICE Debugger Programmers - ikon Info:
SPI-gränssnittet kallas ofta för "ISP", eftersom det var det första In System Programming-gränssnittet på Atmel AVR-produkter. Andra gränssnitt är nu tillgängliga för In System Programmering.
Tabell 4-11. Atmel-ICE SPI Pin Mapping

Atmel-ICE AVR portstift Målstift Mini-bläckfisk stift

SPI pinout

Pin 1 (TCK) SCK 1 3
Stift 2 (GND) GND 2 6
Pin 3 (TDO) MISO 3 1
Stift 4 (VTG) VTG 4 2
Pin 5 (TMS) 5
Pin 6 (nSRST) / ÅTERSTÄLL 6 5
Pin 7 (ej ansluten) 7
Pin 8 (nTRST) 8
Stift 9 (TDI) SLÅ DANK 9 4
Stift 10 (GND) 0

4.4.5. PDI
Program and Debug Interface (PDI) är ett Atmels egenutvecklade gränssnitt för extern programmering och felsökning på chipet av en enhet. PDI Physical är ett 2-stifts gränssnitt som tillhandahåller en dubbelriktad halvduplex synkron kommunikation med målenheten.
När du designar ett applikationskretskort, som inkluderar en Atmel AVR med PDI-gränssnittet, ska pinouten som visas i figuren nedan användas. En av de 6-stiftsadaptrar som medföljer Atmel-ICE-satsen kan sedan användas för att ansluta Atmel-ICE-sonden till applikationens PCB.
Bild 4-11. PDI Header PinoutAtmel-ICE Debugger Programmerare - Figur 274.4.6.Ansluta till ett PDI-mål
Det rekommenderade stiftet för den 6-poliga PDI-kontakten visas i figur 4-11.
Anslutning till en 6-stifts 100-mil PDI-header
Använd 6-stifts 100-mil-kranen på den platta kabeln (ingår i vissa kit) för att ansluta till en standard 100-mil PDI-huvud.
Anslutning till en 6-stifts 50-mil PDI-header
Använd adapterkortet (ingår i vissa kit) för att ansluta till ett standard 50-mil PDI-huvud.
Anslutning till en anpassad 100-mil header
Den 10-stifts mini-squid-kabeln ska användas för att ansluta mellan Atmel-ICE AVR-porten och målkortet. Fyra anslutningar krävs, enligt beskrivningen i tabellen nedan.
Atmel-ICE Debugger Programmerare - Figur 16 Viktig:
Den pinout som krävs skiljer sig från JTAGICE mkII JTAG sond, där PDI_DATA är ansluten till stift 9. Atmel-ICE är kompatibel med pinout som används av Atmel-ICE, JTAGICE3, AVR ONE! och AVR Dragon produkter.
Tabell 4-12. Atmel-ICE PDI Pin Mapping

Atmel-ICE AVR portstift

Målstift Mini-bläckfisk stift

Atmel STK600 PDI pinout

Pin 1 (TCK) 1
Stift 2 (GND) GND 2 6
Pin 3 (TDO) PDI_DATA 3 1
Stift 4 (VTG) VTG 4 2
Pin 5 (TMS) 5
Pin 6 (nSRST) PDI_CLK 6 5
Pin 7 (ej ansluten) 7
Pin 8 (nTRST) 8
Stift 9 (TDI) 9
Stift 10 (GND) 0

4.4.7. UPDI fysiska gränssnitt
Unified Program and Debug Interface (UPDI) är ett Atmels egenutvecklade gränssnitt för extern programmering och on-chip-felsökning av en enhet. Det är en efterföljare till PDI 2-tråds fysiska gränssnitt, som finns på alla AVR XMEGA-enheter. UPDI är ett entrådsgränssnitt som tillhandahåller en dubbelriktad halvduplex asynkron kommunikation med målenheten i syfte att programmera och felsöka.
När du designar ett applikationskretskort, som inkluderar en Atmel AVR med UPDI-gränssnittet, ska pinouten som visas nedan användas. En av de 6-stiftsadaptrar som medföljer Atmel-ICE-satsen kan sedan användas för att ansluta Atmel-ICE-sonden till applikationens PCB.
Bild 4-12. UPDI Header PinoutAtmel-ICE Debugger Programmerare - Figur 284.4.7.1 UPDI och /RESET
UPDI-entrådsgränssnittet kan vara ett dedikerat stift eller ett delat stift, beroende på mål-AVR-enheten. Se enhetens datablad för ytterligare information.
När UPDI-gränssnittet är på ett delat stift kan stiftet konfigureras att vara antingen UPDI, /RESET eller GPIO genom att ställa in RSTPINCFG[1:0]-säkringarna.
RSTPINCFG[1:0]-säkringarna har följande konfigurationer, som beskrivs i databladet. De praktiska konsekvenserna av varje val ges här.
Tabell 4-13. RSTPINCFG[1:0] Säkringskonfiguration

RSTPINCFG[1:0] Konfiguration

Användande

00 GPIO I/O-stift för allmänt bruk. För att komma åt UPDI måste en 12V-puls appliceras på detta stift. Ingen extern återställningskälla är tillgänglig.
01 UPDI Dedikerad programmerings- och felsökningsstift. Ingen extern återställningskälla är tillgänglig.
10 Återställa Återställ signalingång. För att komma åt UPDI måste en 12V-puls appliceras på detta stift.
11 Reserverad NA

Notera:  Äldre AVR-enheter har ett programmeringsgränssnitt, känt som "High-Voltage Programmering” (både seriella och parallella varianter finns.) I allmänhet kräver detta gränssnitt att 12V appliceras på /RESET-stiftet under programmeringssessionen. UPDI-gränssnittet är ett helt annat gränssnitt. UPDI-stiftet är i första hand ett programmerings- och felsökningsstift, som kan fuseras för att ha en alternativ funktion (/RESET eller GPIO). Om den alternativa funktionen väljs krävs en 12V-puls på det stiftet för att återaktivera UPDI-funktionen.
Notera:  Om en design kräver delning av UPDI-signalen på grund av stiftbegränsningar, måste åtgärder vidtas för att säkerställa att enheten kan programmeras. För att säkerställa att UPDI-signalen kan fungera korrekt, samt för att undvika skador på externa komponenter från 12V-pulsen, rekommenderas att koppla bort alla komponenter på detta stift när du försöker felsöka eller programmera enheten. Detta kan göras med ett 0Ω-motstånd, som monteras som standard och tas bort eller ersätts av ett stifthuvud under felsökning. Denna konfiguration innebär i praktiken att programmering bör göras innan enheten monteras.
Atmel-ICE Debugger Programmerare - Figur 16 Viktig:  Atmel-ICE stöder inte 12V på UPDI-linjen. Med andra ord, om UPDI-stiftet har konfigurerats som GPIO eller RESET kommer Atmel-ICE inte att kunna aktivera UPDI-gränssnittet.
4.4.8.Ansluta till ett UPDI-mål
Det rekommenderade stiftet för den 6-poliga UPDI-kontakten visas i figur 4-12.
Anslutning till en 6-stifts 100-mil UPDI header
Använd 6-stifts 100-mil-kranen på den platta kabeln (ingår i vissa kit) för att ansluta till en standard 100-mil UPDI-huvud.
Anslutning till en 6-stifts 50-mil UPDI header
Använd adapterkortet (ingår i vissa kit) för att ansluta till ett standard 50-mil UPDI-huvud.
Anslutning till en anpassad 100-mil header

Den 10-stifts mini-squid-kabeln ska användas för att ansluta mellan Atmel-ICE AVR-porten och målkortet. Tre anslutningar krävs, enligt beskrivningen i tabellen nedan.
Tabell 4-14. Atmel-ICE UPDI Pin Mapping

Atmel-ICE AVR portstift Målstift Mini-bläckfisk stift

Atmel STK600 UPDI pinout

Pin 1 (TCK) 1
Stift 2 (GND) GND 2 6
Pin 3 (TDO) UPDI_DATA 3 1
Stift 4 (VTG) VTG 4 2
Pin 5 (TMS) 5
Pin 6 (nSRST) [/ÅTERSTÄLL känsla] 6 5
Pin 7 (ej ansluten) 7
Pin 8 (nTRST) 8
Stift 9 (TDI) 9
Stift 10 (GND) 0

4.4.9 TPI ​​fysiskt gränssnitt
TPI är ett endast programmeringsgränssnitt för vissa AVR ATtiny-enheter. Det är inte ett felsökningsgränssnitt, och dessa enheter har inte OCD-kapacitet. Vid design av ett applikationskretskort som inkluderar en AVR med TPI-gränssnitt, ska pinouten som visas i figuren nedan användas.

Bild 4-13. TPI Header PinoutAtmel-ICE Debugger Programmerare - Figur 294.4.10.Ansluta till ett TPI-mål
Det rekommenderade stiftet för 6-stifts TPI-kontakten visas i figur 4-13.
Anslutning till ett 6-stifts 100-mil TPI-huvud
Använd 6-stifts 100-mil-kranen på den platta kabeln (ingår i vissa kit) för att ansluta till en standard 100-mil TPI-huvud.
Anslutning till ett 6-stifts 50-mil TPI-huvud
Använd adapterkortet (ingår i vissa kit) för att ansluta till ett standard 50-mil TPI-huvud.
Anslutning till en anpassad 100-mil header
Den 10-stifts mini-squid-kabeln ska användas för att ansluta mellan Atmel-ICE AVR-porten och målkortet. Sex anslutningar krävs, enligt beskrivningen i tabellen nedan.
Tabell 4-15. Atmel-ICE TPI Pin Mapping

Atmel-ICE AVR portstift Målstift Mini-bläckfisk stift

TPI pinout

Pin 1 (TCK) KLOCKA 1 3
Stift 2 (GND) GND 2 6
Pin 3 (TDO) DATA 3 1
Stift 4 (VTG) VTG 4 2
Pin 5 (TMS) 5
Pin 6 (nSRST) / ÅTERSTÄLL 6 5
Pin 7 (ej ansluten) 7
Pin 8 (nTRST) 8
Stift 9 (TDI) 9
Stift 10 (GND) 0

4.4.11. Avancerad felsökning (AVR JTAG /debugWIRE-enheter)
I/O kringutrustning
De flesta kringutrustning för I/O kommer att fortsätta att köras även om programkörningen stoppas av en brytpunkt. Example: Om en brytpunkt nås under en UART-sändning kommer överföringen att slutföras och motsvarande bitar ställas in. TXC-flaggan (transmit complete) kommer att ställas in och vara tillgänglig i nästa steg i koden även om det normalt skulle hända senare i en verklig enhet.
Alla I/O-moduler fortsätter att köras i stoppat läge med följande två undantag:

  • Timer/räknare (kan konfigureras med programvarans frontend)
  • Watchdog Timer (alltid stoppad för att förhindra återställningar under felsökning)

Enkelstegs I/O-åtkomst
Eftersom I/O fortsätter att köras i stoppat läge, bör försiktighet iakttas för att undvika vissa tidsproblem. Till exempelample, koden:
När den här koden körs normalt, skulle TEMP-registret inte läsa tillbaka 0xAA eftersom data ännu inte skulle ha låsts fysiskt till stiftet när det är sampleds av IN-operationen. En NOP-instruktion måste placeras mellan OUT- och IN-instruktionen för att säkerställa att rätt värde finns i PIN-registret.
Men vid enkelstegning av denna funktion genom OCD, kommer denna kod alltid att ge 0xAA i PIN-registret eftersom I/O körs med full hastighet även när kärnan stoppas under enkelstegningen.
Enkel stegning och timing
Vissa register måste läsas eller skrivas inom ett givet antal cykler efter att en styrsignal har aktiverats. Eftersom I/O-klockan och kringutrustningen fortsätter att köra med full hastighet i stoppat läge, kommer en enkel stegning genom sådan kod inte att uppfylla tidskraven. Mellan två enkla steg kan I/O-klockan ha kört miljontals cykler. För att framgångsrikt kunna läsa eller skriva register med sådana tidskrav bör hela läs- eller skrivsekvensen utföras som en atomoperation som kör enheten i full hastighet. Detta kan göras genom att använda ett makro eller ett funktionsanrop för att exekvera koden, eller använda funktionen kör till markör i felsökningsmiljön
Åtkomst till 16-bitars register
Atmel AVR kringutrustning innehåller vanligtvis flera 16-bitars register som kan nås via 8-bitars databussen (t.ex.: TCNTn för en 16-bitars timer). 16-bitarsregistret måste ha byteåtkomst med två läs- eller skrivoperationer. Att bryta mitt i en 16-bitars åtkomst eller enstaka steg genom denna situation kan resultera i felaktiga värden.
Begränsad åtkomst till I/O-register
Vissa register kan inte läsas utan att deras innehåll påverkas. Sådana register inkluderar de som innehåller flaggor som rensas genom läsning, eller buffrade dataregister (t.ex. UDR). Programvarans gränssnitt kommer att förhindra läsning av dessa register när de är i stoppat läge för att bevara den avsedda icke-påträngande karaktären av OCD-felsökning. Dessutom kan vissa register inte säkert skrivas utan att biverkningar uppstår – dessa register är skrivskyddade. Till exempelampde:

  • Flaggaregister, där en flagga rensas genom att skriva '1' till någon av dessa. Dessa register är skrivskyddade.
  • UDR- och SPDR-register kan inte läsas utan att det påverkar modulens tillstånd. Dessa register är det inte

4.4.12. megaAVR Särskilda överväganden
Programvarubrytpunkter
Eftersom den innehåller en tidig version av OCD-modulen, stöder ATmega128[A] inte användningen av BREAK-instruktionen för mjukvarubrytpunkter.
JTAG klocka
Målklockfrekvensen måste anges exakt i mjukvarans gränssnitt innan en felsökningssession påbörjas. Av synkroniseringsskäl har JTAG TCK-signalen måste vara mindre än en fjärdedel av målklockfrekvensen för tillförlitlig felsökning. Vid programmering via JTAG gränssnittet begränsas TCK-frekvensen av målenhetens maximala frekvensklassificering och inte den faktiska klockfrekvensen som används.
När du använder den interna RC-oscillatorn, var medveten om att frekvensen kan variera från enhet till enhet och påverkas av temperatur och VCC ändringar. Var försiktig när du anger målklockfrekvensen.
JTAGEN och OCDEN säkringar

JTAG gränssnittet är aktiverat med JTAGEN säkring, som är programmerad som standard. Detta ger tillgång till JTAG programmeringsgränssnitt. Genom denna mekanism kan OCDEN-säkringen programmeras (som standard är OCDEN oprogrammerad). Detta ger åtkomst till OCD för att underlätta felsökning av enheten. Programvarans gränssnitt kommer alltid att säkerställa att OCDEN-säkringen lämnas oprogrammerad när en session avslutas, vilket begränsar onödig strömförbrukning av OCD-modulen. Om JTAGEN säkring är oavsiktligt inaktiverad, den kan endast återaktiveras med SPI eller High Voltage programmeringsmetoder.
Om JTAGEN säkring är programmerad, JTAG gränssnittet kan fortfarande inaktiveras i firmware genom att ställa in JTD-biten. Detta kommer att göra koden ofelsökningsbar och bör inte göras när du försöker en felsökningssession. Om en sådan kod redan körs på Atmel AVR-enheten när en felsökningssession startas, kommer Atmel-ICE att hävda RESET-linjen under anslutning. Om denna linje är korrekt ansluten kommer den att tvinga mål-AVR-enheten att återställas, vilket tillåter en JTAG förbindelse.
Om JTAG gränssnittet är aktiverat, JTAG stift kan inte användas för alternativa stiftfunktioner. De kommer att förbli hängivna JTAG stift tills antingen JTAG gränssnittet inaktiveras genom att ställa in JTD-biten från programkoden eller genom att rensa JTAGEN säkring via ett programmeringsgränssnitt.

Atmel-ICE Debugger Programmers - ikon 1 Dricks:
Var noga med att markera kryssrutan "använd extern återställning" i både programmeringsdialogrutan och dialogrutan för felsökningsalternativ för att tillåta Atmel-ICE att hävda RESET-raden och återaktivera JTAG gränssnitt på enheter som kör kod som inaktiverar JTAG gränssnitt genom att ställa in JTD-biten.
IDR/OCDR-evenemang
IDR (In-out Data Register) är också känt som OCDR (On Chip Debug Register) och används i stor utsträckning av felsökaren för att läsa och skriva information till MCU när den är i stoppat läge under en felsökningssession. När applikationsprogrammet i körläge skriver en byte med data till OCDR-registret för AVR-enheten som felsöks, läser Atmel-ICE ut detta värde och visar det i meddelandefönstret i programvarans frontend. OCDR-registret efterfrågas var 50:e ms, så att skriva till det med en högre frekvens kommer INTE att ge tillförlitliga resultat. När AVR-enheten tappar ström medan den felsöks, kan falska OCDR-händelser rapporteras. Detta händer eftersom Atmel-ICE fortfarande kan polla enheten som målvolymtage sjunker under AVR:s minimivolymtage.
4.4.13. AVR XMEGA Särskilda hänsyn
OCD och klockning
När MCU:n går in i stoppat läge, används OCD-klockan som MCU-klocka. OCD-klockan är antingen JTAG TCK om JTAG gränssnittet används, eller PDI_CLK om PDI-gränssnittet används.
I/O-moduler i stoppat läge
I motsats till tidigare Atmel megaAVR-enheter, i XMEGA stoppas I/O-modulerna i stoppläge. Detta innebär att USART-sändningar kommer att avbrytas, timers (och PWM) kommer att stoppas.
Hårdvarubrytpunkter
Det finns fyra hårdvarubrytpunktsjämförare – två adressjämförare och två värdejämförare. De har vissa begränsningar:

  • Alla brytpunkter måste vara av samma typ (program eller data)
  • Alla databrytpunkter måste finnas i samma minnesområde (I/O, SRAM eller XRAM)
  • Det kan bara finnas en brytpunkt om adressintervall används

Här är de olika kombinationer som kan ställas in:

  • Två enskilda data- eller programadressbrytpunkter
  • En brytpunkt för data- eller programadressintervall
  • Två enkla dataadressbrytpunkter med ett enda värde jämför
  • En databrytpunkt med adressintervall, värdeintervall eller båda

Atmel Studio kommer att berätta om brytpunkten inte kan ställas in och varför. Databrytpunkter har prioritet framför programbrytpunkter, om mjukvarubrytpunkter är tillgängliga.
Extern återställning och PDI fysisk
Det fysiska PDI-gränssnittet använder återställningslinjen som klocka. Under felsökning bör återställningsuppdraget vara 10k eller mer eller tas bort. Eventuella återställningskondensatorer bör tas bort. Andra externa återställningskällor bör kopplas bort.
Felsökning med viloläge för ATxmegaA1 rev H och tidigare
En bugg fanns på tidiga versioner av ATxmegaA1-enheter som förhindrade OCD från att aktiveras medan enheten var i vissa vilolägen. Det finns två lösningar för att återaktivera OCD:

  • Gå in på Atmel-ICE. Alternativ i menyn Verktyg och aktivera "Aktivera alltid extern återställning vid omprogrammering av enhet".
  • Utför en chipradering

De vilolägen som utlöser denna bugg är:

  • Strömavbrott
  • Energispar
  • Standby
  • Utökat standbyläge

4.4.1.debugWIRE Särskilda överväganden
DebugWIRE-kommunikationsstiftet (dW) är fysiskt placerat på samma stift som den externa återställningen (RESET). En extern återställningskälla stöds därför inte när debugWIRE-gränssnittet är aktiverat.
DebugWIRE Enable-säkringen (DWEN) måste ställas in på målenheten för att debugWIRE-gränssnittet ska fungera. Denna säkring är som standard oprogrammerad när Atmel AVR-enheten skickas från fabriken. Själva debugWIRE-gränssnittet kan inte användas för att ställa in denna säkring. För att ställa in DWEN-säkringen måste SPI-läget användas. Programvarans frontend hanterar detta automatiskt förutsatt att de nödvändiga SPI-stiften är anslutna. Den kan också ställas in med SPI-programmering från Atmel Studios programmeringsdialog.
Antingen: Försök att starta en felsökningssession på debugWIRE-delen. Om debugWIRE-gränssnittet inte är aktiverat kommer Atmel Studio erbjuda sig att försöka igen, eller försöka aktivera debugWIRE med SPI-programmering. Om du har hela SPI-huvudet anslutet kommer debugWIRE att aktiveras och du kommer att bli ombedd att slå på strömmen på målet. Detta krävs för att säkringsbytena ska vara effektiva.
Eller: Öppna programmeringsdialogrutan i SPI-läge och kontrollera att signaturen matchar rätt enhet. Kontrollera DWEN-säkringen för att aktivera debugWIRE.
Atmel-ICE Debugger Programmerare - Figur 16 Viktig:
Det är viktigt att låta SPIEN-säkringen vara programmerad, RSTDISBL-säkringen oprogrammerad! Om du inte gör detta kommer enheten att fastna i debugWIRE-läge och High VoltagProgrammering kommer att krävas för att återställa DWEN-inställningen.
För att inaktivera debugWIRE-gränssnittet, använd High Voltage programmering för att avprogrammera DWEN-säkringen. Alternativt kan du använda själva debugWIRE-gränssnittet för att tillfälligt inaktivera sig själv, vilket gör att SPI-programmering kan äga rum, förutsatt att SPIEN-säkringen är inställd.
Atmel-ICE Debugger Programmerare - Figur 16 Viktig:
Om SPIEN-säkringen INTE lämnades programmerad, kommer Atmel Studio inte att kunna slutföra denna operation, och High Voltage programmering måste användas.
Under en felsökningssession väljer du menyalternativet 'Inaktivera debugWIRE och stäng' från menyn 'Debug'. DebugWIRE kommer att inaktiveras tillfälligt och Atmel Studio kommer att använda SPI-programmering för att avprogrammera DWEN-säkringen.

Att ha DWEN-säkringen programmerad gör att vissa delar av klocksystemet kan köras i alla vilolägen. Detta kommer att öka strömförbrukningen för AVR när den är i viloläge. DWEN Fuse bör därför alltid inaktiveras när debugWIRE inte används.
När du designar en målapplikations-PCB där debugWIRE kommer att användas, måste följande överväganden tas för korrekt drift:

  • Pull-up-motstånd på dW/(RESET)-linjen får inte vara mindre (starkare) än 10kΩ. Pull-up-motståndet krävs inte för debugWIRE-funktionalitet, eftersom debuggerverktyget tillhandahåller
  • Alla stabiliseringskondensatorer som är anslutna till RESET-stiftet måste kopplas bort när du använder debugWIRE, eftersom de kommer att störa korrekt drift av gränssnittet
  • Alla externa återställningskällor eller andra aktiva drivrutiner på RESET-linjen måste kopplas bort, eftersom de kan störa gränssnittets korrekta funktion

Programmera aldrig låsbitarna på målenheten. DebugWIRE-gränssnittet kräver att låsbitar rensas för att fungera korrekt.
4.4.15. debugWIRE Software Breakpoints
DebugWIRE OCD är drastiskt nedskalad jämfört med Atmel megaAVR (JTAG) OCD. Detta innebär att den inte har några programräknare brytpunktsjämförare tillgängliga för användaren för felsökningsändamål. En sådan komparator finns i syfte att köra till markör och enstegsoperationer, men ytterligare användarbrytpunkter stöds inte i hårdvara.
Istället måste felsökaren använda AVR BREAK-instruktionen. Denna instruktion kan placeras i FLASH, och när den laddas för exekvering kommer den att få AVR-processorn att gå in i stoppat läge. För att stödja brytpunkter under felsökning måste felsökaren infoga en BREAK-instruktion i FLASH vid den punkt där användarna begär en brytpunkt. Den ursprungliga instruktionen måste cachelagras för senare utbyte.
När en gång stegar över en BREAK-instruktion måste felsökaren köra den ursprungliga cachade instruktionen för att bevara programmets beteende. I extrema fall måste BREAK tas bort från FLASH och ersättas senare. Alla dessa scenarier kan orsaka uppenbara förseningar vid enstaka steg från brytpunkter, vilket kommer att förvärras när målklockfrekvensen är mycket låg.
Det rekommenderas därför att följa följande riktlinjer om möjligt:

  • Kör alltid målet med så hög frekvens som möjligt under felsökning. Det fysiska gränssnittet för debugWIRE klockas från målklockan.
  • Försök att minimera antalet brytpunktstillägg och borttagningar, eftersom var och en kräver att en FLASH-sida ersätts på målet
  • Försök att lägga till eller ta bort ett litet antal brytpunkter åt gången för att minimera antalet skrivoperationer för FLASH-sidor
  • Om möjligt, undvik att placera brytpunkter på instruktioner med dubbla ord

4.4.16. Förstå debugWIRE och DWEN Fuse
När det är aktiverat tar debugWIRE-gränssnittet kontroll över enhetens /RESET-stift, vilket gör det ömsesidigt exklusivt för SPI-gränssnittet, som också behöver detta stift. När du aktiverar och inaktiverar debugWIRE-modulen, följ en av dessa två metoder:

  • Låt Atmel Studio ta hand om saker och ting (rekommenderas)
  • Ställ in och rensa DWEN manuellt (var försiktig, endast avancerade användare!)

Atmel-ICE Debugger Programmerare - Figur 16 Viktig: När du manipulerar DWEN manuellt är det viktigt att SPIEN-säkringen förblir inställd för att undvika att behöva använda högvolymtage programmering
Bild 4-14. Förstå debugWIRE och DWEN FuseAtmel-ICE Debugger Programmerare - Figur 304.4.17.TinyX-OCD (UPDI) Särskilda överväganden
UPDI-datastiftet (UPDI_DATA) kan vara ett dedikerat stift eller ett delat stift, beroende på mål-AVR-enheten. Ett delat UPDI-stift är 12V tolerant och kan konfigureras för att användas som /RESET eller GPIO. För ytterligare information om hur man använder stiftet i dessa konfigurationer, se UPDI Physical Interface.
På enheter som inkluderar CRCSCAN-modulen (Cyclic Redundancy Check Memory Scan) ska denna modul inte användas i kontinuerligt bakgrundsläge under felsökning. OCD-modulen har begränsade hårdvarubrytpunkters komparatorresurser, så BREAK-instruktioner kan infogas i flash (programvarubrytpunkter) när fler brytpunkter krävs, eller till och med under kodstegning på källnivå. CRC-modulen kunde felaktigt upptäcka denna brytpunkt som en korruption av innehållet i flashminnet.
CRCSCAN-modulen kan också konfigureras för att utföra en CRC-skanning före start. I fallet med en CRC-felmatchning startar inte enheten och verkar vara i låst tillstånd. Det enda sättet att återställa enheten från detta tillstånd är att utföra en fullständig radering av chipet och antingen programmera en giltig flashbild eller inaktivera pre-boot CRCSCAN. (En enkel chipradering kommer att resultera i en tom blixt med ogiltig CRC, och delen kommer därför fortfarande inte att starta.) Atmel Studio kommer automatiskt att inaktivera CRCSCAN-säkringarna när chip raderar en enhet i detta tillstånd.
När du designar en målapplikations-PCB där UPDI-gränssnitt kommer att användas, måste följande överväganden tas för korrekt drift:

  • Pull-up-motstånd på UPDI-ledningen får inte vara mindre (starkare) än 10kΩ. Ett neddragningsmotstånd bör inte användas, eller så bör det tas bort när UPDI används. Den fysiska UPDI-enheten är push-pull-kapabel, så endast ett svagt pull-up-motstånd krävs för att förhindra att falsk startbit triggas när linjen är
  • Om UPDI-stiftet ska användas som ett RESET-stift måste eventuell stabiliseringskondensator kopplas bort när UPDI används, eftersom det kommer att störa korrekt funktion av gränssnittet
  • Om UPDI-stiftet används som RESET- eller GPIO-stift måste alla externa drivrutiner på linjen kopplas bort under programmering eller felsökning eftersom de kan störa gränssnittets korrekta funktion.

Hårdvarubeskrivning

5.1. lysdioder
Atmel-ICE-topppanelen har tre lysdioder som indikerar status för aktuella felsöknings- eller programmeringssessioner.Atmel-ICE Debugger Programmerare - Figur 31

Tabell 5-1. lysdioder

LED Fungera

Beskrivning

Vänster Målkraft GRÖN när måleffekten är OK. Blinkande indikerar ett måleffektfel. Tänds inte förrän en programmerings-/felsökningssession har startat.
Mitten Huvudkraft RÖTT när strömmen till moderkortet är OK.
Rätt Status Blinkar GRÖNT när målet springer/trampar. AV när målet stoppas.

5.2. Bakre panel
Den bakre panelen på Atmel-ICE innehåller Micro-B USB-kontakten.Atmel-ICE Debugger Programmerare - Figur 325.3. Bottenpanel
Den nedre panelen på Atmel-ICE har ett klistermärke som visar serienummer och tillverkningsdatum. Inkludera dessa detaljer när du söker teknisk support.Atmel-ICE Debugger Programmerare - Figur 335.4 .Arkitekturbeskrivning
Atmel-ICE-arkitekturen visas i blockschemat i figur 5-1.
Bild 5-1. Atmel-ICE blockdiagramAtmel-ICE Debugger Programmerare - Figur 345.4.1. Atmel-ICE huvudkort
Strömförsörjning till Atmel-ICE från USB-bussen, reglerad till 3.3V av en nedtrappad switch-mode-regulator. VTG-stiftet används endast som referensingång och en separat strömförsörjning matar den variabla volymentage sidan av de inbyggda nivåomvandlarna. I hjärtat av Atmel-ICE huvudkort är Atmel AVR UC3 mikrokontroller AT32UC3A4256, som körs på mellan 1MHz och 60MHz beroende på vilka uppgifter som bearbetas. Mikrokontrollern inkluderar en USB 2.0-höghastighetsmodul på kretsen, som tillåter hög datagenomströmning till och från felsökaren.
Kommunikation mellan Atmel-ICE och målenheten sker genom en bank av nivåomvandlare som växlar signaler mellan målets driftsvolymtage och den inre voltage-nivå på Atmel-ICE. Även i signalvägen finns zener overvoltage-skyddsdioder, serietermineringsmotstånd, induktiva filter och ESD-skyddsdioder. Alla signalkanaler kan drivas i området 1.62V till 5.5V, även om Atmel-ICE-hårdvaran inte kan driva ut en högre volymtage än 5.0V. Maximal driftfrekvens varierar beroende på vilket målgränssnitt som används.
5.4.2.Atmel-ICE Target Connectors
Atmel-ICE har ingen aktiv sond. En 50-mil IDC-kabel används för att ansluta till målapplikationen antingen direkt eller via adaptrarna som ingår i vissa kit. För mer information om kablar och adaptrar, se avsnittet Montering av Atmel-ICE
5.4.3. Atmel-ICE Target Connectors artikelnummer
För att ansluta Atmel-ICE 50-mil IDC-kabeln direkt till ett målkort bör vilken standard 50-mil 10-stifts header som helst räcka. Det rekommenderas att använda nyckelhuvuden för att säkerställa korrekt orientering vid anslutning till målet, till exempel de som används på adapterkortet som medföljer satsen.
Artikelnumret för denna rubrik är: FTSH-105-01-L-DV-KAP från SAMTEC

Mjukvaruintegration

6.1. Atmel Studio
6.1.1.Programvaruintegrering i Atmel Studio
Atmel Studio är en integrerad utvecklingsmiljö (IDE) för att skriva och felsöka Atmel AVR- och Atmel SAM-applikationer i Windows-miljöer. Atmel Studio tillhandahåller ett projekthanteringsverktyg, source file editor, simulator, assembler och front-end för C/C++, programmering, emulering och on-chip-felsökning.
Atmel Studio version 6.2 eller senare måste användas tillsammans med Atmel-ICE.
6.1.2. Programmeringsalternativ
Atmel Studio stöder programmering av Atmel AVR och Atmel SAM ARM-enheter med Atmel-ICE. Programmeringsdialogrutan kan konfigureras för att använda JTAG, aWire, SPI, PDI, TPI, SWD-lägen, enligt den valda målenheten.
När du konfigurerar klockfrekvensen gäller olika regler för olika gränssnitt och målfamiljer:

  • SPI-programmering använder sig av målklockan. Konfigurera klockfrekvensen så att den är lägre än en fjärdedel av den frekvens som målenheten för närvarande körs med.
  • JTAG programmering på Atmel megaAVR-enheter klockas av Detta betyder att programmeringsklockfrekvensen är begränsad till den maximala driftfrekvensen för själva enheten. (Vanligtvis 16MHz.)
  • AVR XMEGA-programmering på båda JTAG och PDI-gränssnitt klockas av programmeraren. Detta innebär att programmeringsklockfrekvensen är begränsad till enhetens maximala driftfrekvens (vanligtvis 32MHz).
  • AVR UC3 programmering på JTAG gränssnittet klockas av programmeraren. Detta innebär att programmeringsklockfrekvensen är begränsad till den maximala driftfrekvensen för själva enheten. (Begränsad till 33MHz.)
  • AVR UC3-programmering på aWire-gränssnittet klockas av den optimala frekvensen ges av SAB-busshastigheten i målenheten. Atmel-ICE-felsökaren ställer automatiskt in aWire-överföringshastigheten för att uppfylla dessa kriterier. Även om det vanligtvis inte är nödvändigt kan användaren begränsa den maximala baudhastigheten vid behov (t.ex. i bullriga miljöer).
  • SAM-enhetsprogrammering på SWD-gränssnittet klockas av programmeraren. Den maximala frekvensen som stöds av Atmel-ICE är 2MHz. Frekvensen bör inte överstiga mål-CPU-frekvensen gånger 10, fSWD ≤ 10fSYSCLK.

6.1.3.Felsökningsalternativ
När du felsöker en Atmel AVR-enhet med Atmel Studio, fliken 'Verktyg' i projektegenskaperna view innehåller några viktiga konfigurationsalternativ. De alternativ som behöver ytterligare förklaring beskrivs här.
Målklockfrekvens
Att exakt ställa in målklockfrekvensen är avgörande för att uppnå tillförlitlig felsökning av Atmel megaAVR-enhet över JTAG gränssnitt. Denna inställning bör vara mindre än en fjärdedel av den lägsta driftfrekvensen för din AVR-målenhet i applikationen som felsöks. Se megaAVR Special Considerations för mer information.
Felsökningssessioner på debugWIRE-målenheter klockas av själva målenheten, och därför krävs ingen frekvensinställning. Atmel-ICE kommer automatiskt att välja rätt baudhastighet för kommunikation i början av en felsökningssession. Men om du upplever tillförlitlighetsproblem relaterade till en bullrig felsökningsmiljö, erbjuder vissa verktyg möjligheten att tvinga debugWIRE-hastigheten till en bråkdel av dess "rekommenderade" inställning.
Felsökningssessioner på AVR XMEGA-målenheter kan klockas med upp till den maximala hastigheten för själva enheten (vanligtvis 32MHz).
Felsökningssessioner på AVR UC3-målenheter över JTAG gränssnittet kan klockas med upp till den maximala hastigheten för själva enheten (begränsad till 33MHz). Den optimala frekvensen kommer dock att vara något under den aktuella SAB-klockan på målenheten.
Felsökningssessioner på UC3-målenheter över aWire-gränssnittet kommer automatiskt att ställas in till den optimala baudhastigheten av Atmel-ICE själv. Men om du upplever tillförlitlighetsproblem relaterade till en bullrig felsökningsmiljö, erbjuder vissa verktyg möjligheten att tvinga aWire-hastigheten under en konfigurerbar gräns.
Felsökningssessioner på SAM-målenheter via SWD-gränssnittet kan klockas till upp till tio gånger CPU-klockan (men begränsat till max 2MHz)
Bevara EEPROM
Välj det här alternativet för att undvika att radera EEPROM under omprogrammering av målet före en felsökningssession.
Använd extern återställning
Om din målapplikation inaktiverar JTAG gränssnittet måste den externa återställningen dras ner under programmeringen. Genom att välja det här alternativet undviker du att upprepade gånger tillfrågas om den externa återställningen ska användas.
6.2 Kommandoradsverktyg
Atmel Studio kommer med ett kommandoradsverktyg som heter atprogram som kan användas för att programmera mål med Atmel-ICE. Under installationen av Atmel Studio en genväg som heter "Atmel Studio 7.0. Kommandotolk” skapades i Atmel-mappen på Start-menyn. Genom att dubbelklicka på denna genväg öppnas en kommandotolk och programmeringskommandon kan anges. Kommandoradsverktyget installeras i Atmel Studios installationssökväg i mappen Atmel/Atmel Studio 7.0/atbackend/.
För att få mer hjälp med kommandoradsverktyget skriv kommandot:
atprogram –hjälp

Avancerade felsökningstekniker

7.1. Atmel AVR UC3-mål
7.1.1. EVTI / EVTO Användning
EVTI- och EVTO-stiften är inte tillgängliga på Atmel-ICE. De kan dock fortfarande användas tillsammans med annan extern utrustning.
EVTI kan användas för följande ändamål:

  • Målet kan tvingas att stoppa exekveringen som svar på en extern händelse. Om Event In Control (EIC)-bitarna i DC-registret skrivs till 0b01, kommer hög-till-låg-övergång på EVTI-stiftet att generera ett brytpunktstillstånd. EVTI måste förbli låg under en CPU-klockcykel för att garantera att en brytpunkt är. Den externa brytpunktsbiten (EXB) i DS ställs in när detta inträffar.
  • Genererar spårsynkroniseringsmeddelanden. Används inte av Atmel-ICE. EVTO kan användas för följande ändamål:
  • Indikerar att CPU:n har gått in i felsökning Om EOS-bitarna i DC ställs in på 0b01 får EVTO-stiftet att dras lågt under en CPU-klockcykel när målenheten går in i felsökningsläge. Denna signal kan användas som en triggerkälla för ett externt oscilloskop.
  • Indikerar att processorn har nått en brytpunkt eller vaktpunkt. Genom att ställa in EOC-biten i ett motsvarande Breakpoint/Watchpoint Control Register, indikeras brytpunkten eller watchpointstatusen på EVTO-stiftet. EOS-bitarna i DC måste ställas in på 0xb10 för att aktivera den här funktionen. EVTO-stiftet kan sedan anslutas till ett externt oscilloskop för att undersöka vaktpunkten
  • Genererar spårningstidssignaler. Används inte av Atmel-ICE.

7.2 debugWIRE-mål
7.2.1.debugWIRE Software Breakpoints
DebugWIRE OCD är drastiskt nedskalad jämfört med Atmel megaAVR (JTAG) OCD. Detta innebär att den inte har några programräknare brytpunktsjämförare tillgängliga för användaren för felsökningsändamål. En sådan komparator finns i syfte att köra till markör och enstegsoperationer, men ytterligare användarbrytpunkter stöds inte i hårdvara.
Istället måste felsökaren använda AVR BREAK-instruktionen. Denna instruktion kan placeras i FLASH, och när den laddas för exekvering kommer den att få AVR-processorn att gå in i stoppat läge. För att stödja brytpunkter under felsökning måste felsökaren infoga en BREAK-instruktion i FLASH vid den punkt där användarna begär en brytpunkt. Den ursprungliga instruktionen måste cachelagras för senare utbyte.
När en gång stegar över en BREAK-instruktion måste felsökaren köra den ursprungliga cachade instruktionen för att bevara programmets beteende. I extrema fall måste BREAK tas bort från FLASH och ersättas senare. Alla dessa scenarier kan orsaka uppenbara förseningar vid enstaka steg från brytpunkter, vilket kommer att förvärras när målklockfrekvensen är mycket låg.
Det rekommenderas därför att följa följande riktlinjer om möjligt:

  • Kör alltid målet med så hög frekvens som möjligt under felsökning. Det fysiska gränssnittet för debugWIRE klockas från målklockan.
  • Försök att minimera antalet brytpunktstillägg och borttagningar, eftersom var och en kräver att en FLASH-sida ersätts på målet
  • Försök att lägga till eller ta bort ett litet antal brytpunkter åt gången för att minimera antalet skrivoperationer för FLASH-sidor
  • Om möjligt, undvik att placera brytpunkter på instruktioner med dubbla ord

Releasehistorik och kända problem

8.1 .Firmware Release History
Tabell 8-1. Offentlig firmware-revisioner

Firmwareversion (decimal) Datum

Relevanta ändringar

1.36 29.09.2016 Tillagt stöd för UPDI-gränssnitt (tinyX-enheter)
Gjorde konfigurerbar USB-ändpunktsstorlek
1.28 27.05.2015 Tillagt stöd för SPI och USART DGI-gränssnitt.
Förbättrad SWD-hastighet. Mindre buggfixar.
1.22 03.10.2014 Lagt till kodprofilering.
Fixat problem relaterat till JTAG daisy chains med mer än 64 instruktionsbitar.
Fix för ARM-återställningsförlängning. Fixat problem med målströmsled.
1.13 08.04.2014 JTAG klockfrekvens fix.
Fix för debugWIRE med lång SUT.
Fast oscillatorkalibreringskommando.
1.09 12.02.2014 Första utgåvan av Atmel-ICE.

8.2 .Kända problem rörande Atmel-ICE
8.2.1.Allmänt

  • De första Atmel-ICE-batcherna hade en svag USB En ny revision har gjorts med en ny och mer robust USB-kontakt. Som en interimslösning har epoxilim applicerats på de redan producerade enheterna av den första versionen för att förbättra den mekaniska stabiliteten.

8.2.2. Atmel AVR XMEGA OCD-specifika problem

  • För ATxmegaA1-familjen stöds endast version G eller senare

8.2.1. Atmel AVR – Enhetsspecifika problem

  • Att slå på strömmen på ATmega32U6 under en felsökningssession kan leda till att du förlorar kontakten med enheten

Produktöverensstämmelse

9.1. RoHS och WEEE
Atmel-ICE och alla tillbehör är tillverkade i enlighet med både RoHS-direktivet (2002/95/EC) och WEEE-direktivet (2002/96/EC).
9.2. CE och FCC
Atmel-ICE-enheten har testats i enlighet med de väsentliga kraven och andra relevanta bestämmelser i direktiven:

  • Direktiv 2004/108/EG (klass B)
  • FCC del 15 subpart B
  • 2002/95/EC (RoHS, WEEE)

Följande standarder används för utvärdering:

  • EN 61000-6-1 (2007)
  • EN 61000-6-3 (2007) + A1(2011)
  • FCC CFR 47 del 15 (2013)

Den tekniska konstruktionen File finns på:
Alla ansträngningar har gjorts för att minimera elektromagnetiska emissioner från denna produkt. Men under vissa förhållanden kan systemet (denna produkt ansluten till en målapplikationskrets) sända ut individuella elektromagnetiska komponentfrekvenser som överskrider de maximala värdena som tillåts enligt ovan nämnda standarder. Frekvensen och storleken på utsläppen kommer att bestämmas av flera faktorer, inklusive layout och routing av målapplikationen med vilken produkten används.

Revisionshistorik

Dok. Varv.

Datum

Kommentarer

42330C 10/2016 Lade till UPDI-gränssnitt och uppdaterad Firmware Release History
42330B 03/2016 • Reviderat On-Chip Debugging kapitel
• Ny formatering av versionshistorik för fast programvara i kapitlet Release History and Known issues
• Lade till felsökningskabelns pinout
42330A 06/2014 Initial dokumentsläpp

Atmel®, Atmels logotyp och kombinationer därav, möjliggör obegränsade möjligheter®, AVR®, megaAVR®, STK®, liten AVR®, XMEGA®, och andra är registrerade varumärken eller varumärken som tillhör Atmel Corporation i USA och andra länder. ÄRM®, ARM ansluten® logotyp, Cortex®, och andra är registrerade varumärken eller varumärken som tillhör ARM Ltd. Windows® är ett registrerat varumärke som tillhör Microsoft Corporation i USA och eller andra länder. Andra termer och produktnamn kan vara varumärken som tillhör andra.
ANSVARSFRISKRIVNING: Informationen i detta dokument tillhandahålls i samband med Atmels produkter. Ingen licens, uttrycklig eller underförstådd, genom estoppel eller på annat sätt, till någon immateriell rättighet beviljas av detta dokument eller i samband med försäljningen av Atmel-produkter. UTOM SOM FRÅGES I ATMELS VILLKOR OCH FÖRSÄLJNINGSVILLKOR SOM FINNS PÅ ATMEL WEBWEBBPLATS, ATMEL PÅTAR SIG INGET ANSVAR OCH FRÅSÄR SIG NÅGON UTTRYCKLIGA, UNDERFÖRSTÅDDA ELLER LAGSTADÄRADE GARANTIER RELATANDE TILL DESS PRODUKTER, INKLUSIVE, MEN INTE BEGRÄNSAT TILL, DEN UNDERFÖRSTÅDDA GARANTIEN FÖR SÄLJBARHET, ELLER LÄMPLIGHET FÖR EN PERSONLIGHET. UNDER INGA OMSTÄNDIGHETER SKA ATMEL VARA ANSVARIGT FÖR NÅGON DIREKTA, INDIREKTA, FÖLJDSKADOR, STRAFSKADOR, SÄRSKILDA ELLER OAVSIKTLIGA SKADOR (INKLUSIVE, UTAN BEGRÄNSNING, SKADOR FÖR FÖRLUST OCH VINST, AFFÄRSAVBROTT, ELLER FÖRLUST AV ANVÄNDNING ELLER FÖRLUST AV ANVÄNDNING) DETTA DOKUMENT, ÄVEN OM ATMEL HAR RÅDET
OM MÖJLIGHETEN FÖR SÅDANA SKADA. Atmel lämnar inga utfästelser eller garantier med avseende på riktigheten eller fullständigheten av innehållet i detta dokument och förbehåller sig rätten att göra ändringar i specifikationer och produktbeskrivningar när som helst utan föregående meddelande. Atmel förbinder sig inte att uppdatera informationen häri. Om inte annat specifikt anges är Atmels produkter inte lämpliga för, och ska inte användas i, fordonstillämpningar. Atmels produkter är inte avsedda, auktoriserade eller garanterade för användning som komponenter i applikationer som är avsedda att stödja eller upprätthålla liv.
ANSVARSFRISKRIVNING FÖR SÄKERHETSKRITISKA, MILITÄRA OCH AUTOMOTIVA APPLIKATIONER: Atmels produkter är inte designade för och kommer inte att användas i samband med några applikationer där fel på sådana produkter rimligen kan förväntas resultera i betydande personskada eller dödsfall (“Säkerhetskritiskt) Ansökningar”) utan en Atmel-tjänstemans specifika skriftliga medgivande. Säkerhetskritiska tillämpningar inkluderar, utan begränsning, livsuppehållande anordningar och system, utrustning eller system för drift av kärntekniska anläggningar och vapensystem. Atmels produkter är inte designade eller avsedda för användning i militära eller rymdtillämpningar eller miljöer såvida de inte specifikt har utsetts av Atmel som militärklassad. Atmels produkter är inte designade eller avsedda för användning i bilapplikationer såvida de inte specifikt har utsetts av Atmel som fordonsklassad.

Atmel logotypAtmel Corporation
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_Användarguide-10/2016
Atmel-ICE Debugger Programmers - ikon 2

Dokument/resurser

Atmel Atmel-ICE Debugger-programmerare [pdf] Användarhandbok
Atmel-ICE Debugger Programmerare, The Atmel-ICE, Debugger Programmerare, Programmerare

Referenser

Lämna en kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade *