Atmel logoICE Debugger-programmører
BrugervejledningAtmel-ICE Debugger-programmører Programmerere og debuggere
Atmel-ICE
BRUGERVEJLEDNING

Atmel-ICE Debugger

Atmel-ICE er et kraftfuldt udviklingsværktøj til debugging og programmering af ARM® Cortex®-M-baserede Atmel ®SAM og Atmel AVR-mikrocontrollere med ® On-Chip Debug-kapacitet.
Det understøtter:

  • Programmering og on-chip debugging af alle Atmel AVR 32-bit mikrocontrollere på både JTAG og aWire-grænseflader
  • Programmering og on-chip debugging af alle Atmel AVR XMEGA® familie enheder på både JTAG og PDI 2-leder interfaces
  • Programmering (JTAG, SPI, UPDI) og debugging af alle Atmel AVR 8-bit mikrocontrollere med OCD-understøttelse på enten JTAG, debugWIRE eller UPDI-grænseflader
  • Programmering og debugging af alle Atmel SAM ARM Cortex-M baserede mikrocontrollere på både SWD og JTAG grænseflader
  • Programmering (TPI) af alle Atmel tinyAVR® 8-bit mikrocontrollere med understøttelse af denne grænseflade

Se listen over understøttede enheder i Atmel Studio User Guide for en komplet liste over enheder og grænseflader, der understøttes af denne firmwareudgivelse.

Indledning

1.1. Introduktion til Atmel-ICE
Atmel-ICE er et kraftfuldt udviklingsværktøj til debugging og programmering af ARM Cortex-M-baserede Atmel SAM- og Atmel AVR-mikrocontrollere med On-Chip Debug-kapacitet.
Det understøtter:

  • Programmering og on-chip debugging af alle Atmel AVR UC3 mikrocontrollere på både JTAG og aWire-grænseflader
  • Programmering og on-chip debugging af alle AVR XMEGA-familieenheder på både JTAG og PDI 2wire interfaces
  • Programmering (JTAG og SPI) og debugging af alle AVR 8-bit mikrocontrollere med OCD-understøttelse på både JTAG eller debugWIRE-grænseflader
  • Programmering og debugging af alle Atmel SAM ARM Cortex-M baserede mikrocontrollere på både SWD og JTAG grænseflader
  • Programmering (TPI) af alle Atmel tinyAVR 8-bit mikrocontrollere med understøttelse af denne grænseflade

1.2. Atmel-ICE funktioner

  • Fuldt kompatibel med Atmel Studio
  • Understøtter programmering og debugging af alle Atmel AVR UC3 32-bit mikrocontrollere
  • Understøtter programmering og debugging af alle 8-bit AVR XMEGA-enheder
  • Understøtter programmering og debugging af alle 8-bit Atmel megaAVR® og tinyAVR enheder med OCD
  • Understøtter programmering og debugging af alle SAM ARM Cortex-M baserede mikrocontrollere
  • Måldrift voltage område fra 1.62V til 5.5V
  • Trækker mindre end 3mA fra mål-VTref ved brug af debugWIRE-grænseflade og mindre end 1mA for alle andre grænseflader
  • Støtter JTAG clockfrekvenser fra 32kHz til 7.5MHz
  • Understøtter PDI-clockfrekvenser fra 32kHz til 7.5MHz
  • Understøtter debugWIRE-baudrater fra 4kbit/s til 0.5Mbit/s
  • Understøtter aWire-baudrater fra 7.5 kbit/s til 7 Mbit/s
  • Understøtter SPI-clockfrekvenser fra 8kHz til 5MHz
  • Understøtter UPDI-baudrater fra op til 750kbit/s
  • Understøtter SWD clockfrekvenser fra 32kHz til 10MHz
  • USB 2.0 højhastigheds-værtsinterface
  • ITM seriel sporing med op til 3MB/s
  • Understøtter DGI SPI- og USART-grænseflader, når der ikke foretages fejlfinding eller programmering
  • Understøtter 10-benet 50-mil JTAG stik med både AVR og Cortex pinouts. Standardsondekablet understøtter AVR 6-pin ISP/PDI/TPI 100-mil headere samt 10-pin 50-mil. En adapter er tilgængelig til at understøtte 6-bens 50-mil, 10-pin 100-mil og 20-pin 100-mil headers. Flere sæt muligheder er tilgængelige med forskellige kabler og adaptere.

1.3. Systemkrav
Atmel-ICE-enheden kræver, at et frontend-fejlretningsmiljø Atmel Studio version 6.2 eller nyere er installeret på din computer.
Atmel-ICE skal tilsluttes værtscomputeren ved hjælp af det medfølgende USB-kabel eller et certificeret Micro-USB-kabel.

Kom godt i gang med Atmel-ICE

2.1. Fuldt sæt indhold
Atmel-ICE komplette kit indeholder disse genstande:

  • Atmel-ICE enhed
  • USB-kabel (1.8 m, højhastigheds, Micro-B)
  • Adapterkort, der indeholder 50-mil AVR, 100-mil AVR/SAM og 100-mil 20-pin SAM-adaptere
  • IDC fladkabel med 10-benet 50-mil-stik og 6-benet 100-mil-stik
  • 50-mil 10-bens mini-blækspruttekabel med 10 x 100-mil-stik

Figur 2-1. Atmel-ICE komplet sæt indholdAtmel-ICE Debugger-programmører - Figur 12.2. Grundlæggende sæt indhold
Atmel-ICE grundlæggende kit indeholder disse genstande:

  • Atmel-ICE enhed
  • USB-kabel (1.8 m, højhastigheds, Micro-B)
  • IDC fladkabel med 10-benet 50-mil-stik og 6-benet 100-mil-stik

Figur 2-2. Atmel-ICE Basic Kit IndholdAtmel-ICE Debugger-programmører - Figur 22.3. PCBA Kit Indhold
Atmel-ICE PCBA-sættet indeholder disse genstande:

  • Atmel-ICE enhed uden plastindkapsling

Figur 2-3. Atmel-ICE PCBA Kit IndholdAtmel-ICE Debugger-programmører - Figur 32.4. Reservedelssæt
Følgende reservedelssæt er tilgængelige:

  • Adapter sæt
  • Kabelsæt

Figur 2-4. Atmel-ICE Adapter Kit IndholdAtmel-ICE Debugger-programmører - Figur 42.5. Kit Overview
Atmel-ICE-sættets muligheder er vist diagrammatisk her:
Figur 2-6. Atmel-ICE Kit OverviewAtmel-ICE Debugger-programmører - Figur 52.6. Samling af Atmel-ICE
Atmel-ICE-enheden leveres uden kabler. To kabelmuligheder er inkluderet i det fulde sæt:

  • 50-mil 10-benet IDC fladkabel med 6-bens ISP og 10-bens stik
  • 50-mil 10-bens mini-blækspruttekabel med 10 x 100-mil-stik

Figur 2-7. Atmel-ICE kablerAtmel-ICE Debugger-programmører - Figur 6Til de fleste formål kan 50-mil 10-pin IDC-fladkabelet bruges, enten naturligt tilsluttet til dets 10-benede eller 6-benede stik eller tilsluttet via adapterkortet. Der medfølger tre adaptere på en lille PCBA. Følgende adaptere er inkluderet:

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

Figur 2-8. Atmel-ICE adaptereAtmel-ICE Debugger-programmører - Figur 7Note: 
En 50-mil JTAG adapter er ikke leveret - dette skyldes, at 50-mil 10-pin IDC-kablet kan bruges til at forbinde direkte til en 50-mil JTAG overskrift. For delnummeret på den komponent, der bruges til 50-mil 10-bens stikket, se Atmel-ICE Target Connectors Part Numbers.
Den 6-benede ISP/PDI-header er inkluderet som en del af det 10-benede IDC-kabel. Denne opsigelse kan afbrydes, hvis den ikke er påkrævet.
For at samle din Atmel-ICE til dens standardkonfiguration skal du tilslutte det 10-benede 50-mil IDC-kabel til enheden som vist nedenfor. Sørg for at orientere kablet, så den røde ledning (ben 1) på kablet flugter med den trekantede indikator på kabinettets blå bælte. Kablet skal tilsluttes opad fra enheden. Sørg for at forbinde til den port, der svarer til pinout'en på dit mål - AVR eller SAM.
Figur 2-9. Atmel-ICE kabelforbindelseAtmel-ICE Debugger-programmører - Figur 8Figur 2-10. Atmel-ICE AVR sondeforbindelse
Atmel-ICE Debugger-programmører - Figur 9Figur 2-11. Atmel-ICE SAM sondeforbindelseAtmel-ICE Debugger-programmører - Figur 102.7. Åbning af Atmel-ICE
Note: 
For normal drift må Atmel-ICE-enheden ikke åbnes. Åbning af enheden sker på eget ansvar.
Der bør tages antistatiske forholdsregler.
Atmel-ICE kabinettet består af tre separate plastkomponenter – topdæksel, bunddæksel og blåt bælte – som klikkes sammen under montering. For at åbne enheden skal du blot indsætte en stor flad skruetrækker i åbningerne i det blå bælte, trykke indad og forsigtigt dreje. Gentag processen på de andre snapper-huller, og topdækslet springer af.
Figur 2-12. Åbning af Atmel-ICE (1)
Atmel-ICE Debugger-programmører - Figur 11Figur 2-13. Åbning af Atmel-ICE (2)
Atmel-ICE Debugger-programmører - Figur 12Figur 2-14. Åbning af Atmel-ICE(3)Atmel-ICE Debugger-programmører - Figur 13For at lukke enheden igen skal du blot justere top- og bunddækslet korrekt og trykke godt sammen.
2.8. Forsyning med Atmel-ICE
Atmel-ICE drives af USB-bussen voltage. Den kræver mindre end 100mA for at fungere, og kan derfor forsynes med strøm via en USB-hub. Strøm-LED'en vil lyse, når enheden er tilsluttet. Når den ikke er tilsluttet i en aktiv programmerings- eller fejlfindingssession, går enheden i lavt strømforbrugstilstand for at bevare din computers batteri. Atmel-ICE kan ikke slukkes - den skal tages ud, når den ikke er i brug.
2.9. Tilslutning til værtscomputeren
Atmel-ICE kommunikerer primært ved hjælp af et standard HID-interface og kræver ikke en speciel driver på værtscomputeren. For at bruge den avancerede Data Gateway-funktionalitet i Atmel-ICE skal du sørge for at installere USB-driveren på værtscomputeren. Dette gøres automatisk, når du installerer front-end-softwaren leveret gratis af Atmel. Se www.atmel.com for yderligere information eller for at downloade den nyeste front-end-software.
Atmel-ICE skal tilsluttes en ledig USB-port på værtscomputeren ved hjælp af det medfølgende USB-kabel eller et passende USB-certificeret mikrokabel. Atmel-ICE indeholder en USB 2.0-kompatibel controller og kan fungere i både fuld- og højhastighedstilstande. For de bedste resultater skal du tilslutte Atmel-ICE direkte til en USB 2.0-kompatibel højhastighedshub på værtscomputeren ved hjælp af det medfølgende kabel.
2.10. Installation af USB-driver
2.10.1. Windows
Når du installerer Atmel-ICE på en computer, der kører Microsoft® Windows®, indlæses USB-driveren, når Atmel-ICE først tilsluttes.
Note: 
Sørg for at installere front-end-softwarepakkerne, før du tilslutter enheden første gang.
Når den er installeret, vises Atmel-ICE i enhedshåndteringen som en "Human Interface Device".

Tilslutning af Atmel-ICE

3.1. Tilslutning til AVR- og SAM-målenheder
Atmel-ICE er udstyret med to 50-mil 10-pin JTAG stik. Begge stik er direkte elektrisk forbundet, men passer til to forskellige pinouts; AVR JTAG header og ARM Cortex Debug header. Konnektoren skal vælges ud fra målkortets pinout og ikke mål-MCU-typen - f.eksampHvis en SAM-enhed er monteret i en AVR STK® 600-stabel, skal du bruge AVR-headeren.
Forskellige kabler og adaptere er tilgængelige i de forskellige Atmel-ICE-sæt. En overview af tilslutningsmuligheder vises.
Figur 3-1. Atmel-ICE-forbindelsesmulighederAtmel-ICE Debugger-programmører - Figur 14Den røde ledning markerer ben 1 på det 10-benede 50-mil stik. Ben 1 på det 6-benede 100-mil stik er placeret til højre for nøglen, når stikket ses fra kablet. Ben 1 på hvert stik på adapteren er markeret med en hvid prik. Figuren nedenfor viser pinout'et for fejlretningskablet. Konnektoren mærket A sættes i debuggeren, mens B-siden sættes i målkortet.
Figur 3-2. Fejlfinding af kabel-pinout
Atmel-ICE Debugger-programmører - Figur 153.2. Tilslutning til en JTAG Mål
Atmel-ICE er udstyret med to 50-mil 10-pin JTAG stik. Begge stik er direkte elektrisk forbundet, men passer til to forskellige pinouts; AVR JTAG header og ARM Cortex Debug header. Konnektoren skal vælges ud fra målkortets pinout og ikke mål-MCU-typen - f.eksampHvis en SAM-enhed er monteret i en AVR STK600-stabel, skal du bruge AVR-headeren.
Den anbefalede pinout til 10-bens AVR JTAG stik er vist i figur 4-6. Den anbefalede pinout for 10-bens ARM Cortex Debug-stikket er vist i figur 4-2.
Direkte forbindelse til en standard 10-bens 50-mil header
Brug det 50-mil 10-benede fladkabel (inkluderet i nogle sæt) til at forbinde direkte til et kort, der understøtter denne header-type. Brug AVR-stikporten på Atmel-ICE til headere med AVR-pinout, og SAM-stikporten til headere, der er i overensstemmelse med ARM Cortex Debug-header-pinout.
Pinouts for begge 10-bens stikporte er vist nedenfor.
Tilslutning til en standard 10-bens 100-mil skærebord 
Brug en standard 50-mil til 100-mil adapter til at forbinde til 100-mil headers. Et adapterkort (inkluderet i nogle sæt) kan bruges til dette formål, eller alternativt JTAGICE3-adapter kan bruges til AVR-mål.
Atmel-ICE Debugger-programmører - Figur 16 Vigtig: 
Den J.TAGICE3 100-mil adapter kan ikke bruges med SAM-stikporten, da ben 2 og 10 (AVR GND) på adapteren er tilsluttet.
Tilslutning til en brugerdefineret 100-mil header
Hvis dit målkort ikke har en kompatibel 10-bens JTAG header i 50- eller 100-mil, kan du kortlægge til en brugerdefineret pinout ved hjælp af 10-bens "mini-squid"-kablet (inkluderet i nogle sæt), som giver adgang til ti individuelle 100-mil-stik.
Tilslutning til en 20-bens 100-mil hovedr
Brug adapterkortet (inkluderet i nogle sæt) til at forbinde til mål med en 20-bens 100-mil header.
Tabel 3-1. Atmel-ICE JTAG Pin Beskrivelse

Navn AVR portstift SAM portstift Beskrivelse
TCK 1 4 Test ur (ursignal fra Atmel-ICE til målenheden).
TMS 5 2 Test Mode Select (kontrolsignal fra Atmel-ICE til målenheden).
TDI 9 8 Test Data In (data transmitteret fra Atmel-ICE til målenheden).
TDO 3 6 Test Data Out (data transmitteret fra målenheden til Atmel-ICE).
nTRST 8 Test Reset (valgfrit, kun på nogle AVR-enheder). Bruges til at nulstille JTAG TAP-controller.
nSRST 6 10 Nulstil (valgfrit). Bruges til at nulstille målenheden. Det anbefales at tilslutte denne pin, da den gør det muligt for Atmel-ICE at holde målenheden i en nulstillingstilstand, hvilket kan være afgørende for fejlfinding i visse scenarier.
VTG 4 1 Target voltage reference. Atmel-ICE samples målet voltage på denne pin for at forsyne niveauomformerne korrekt. Atmel-ICE trækker mindre end 3mA fra denne pin i debugWIRE-tilstand og mindre end 1mA i andre tilstande.
GND 2, 10 3, 5, 9 Jord. Alle skal være forbundet for at sikre, at Atmel-ICE og målenheden deler den samme jordreference.

3.3. Tilslutning til et aWire-mål
aWire-grænsefladen kræver kun én datalinje ud over VCC og GND. På målet er denne linje nRESET-linjen, selvom debuggeren bruger JTAG TDO-linje som datalinje.
Den anbefalede pinout for det 6-benede aWire-stik er vist i figur 4-8.
Tilslutning til en 6-benet 100-mil aWire header
Brug den 6-benede 100-mil-hane på det flade kabel (inkluderet i nogle sæt) til at forbinde til en standard 100-mil aWire-header.
Tilslutning til en 6-benet 50-mil aWire header
Brug adapterkortet (inkluderet i nogle sæt) til at forbinde til en standard 50-mil aWire header.
Tilslutning til en brugerdefineret 100-mil header
Det 10-benede mini-blækspruttekabel skal bruges til at forbinde mellem Atmel-ICE AVR-stikporten og målkortet. Der kræves tre tilslutninger, som beskrevet i tabellen nedenfor.
Tabel 3-2. Atmel-ICE aWire Pin Mapping

Atmel-ICE AVR portstifter

Målstifter Mini-blækspruttestift

aWire pinout

Pin 1 (TCK) 1
Pin 2 (GND) GND 2 6
Pin 3 (TDO) DATA 3 1
Ben 4 (VTG) VTG 4 2
Pin 5 (TMS) 5
Pin 6 (nSRST) 6
Ben 7 (Ikke forbundet) 7
Pin 8 (nTRST) 8
Pin 9 (TDI) 9
Pin 10 (GND) 0

3.4. Tilslutning til et PDI-mål
Den anbefalede pinout for det 6-benede PDI-stik er vist i figur 4-11.
Tilslutning til en 6-benet 100-mil PDI header
Brug den 6-benede 100-mil-hane på det flade kabel (inkluderet i nogle sæt) til at forbinde til en standard 100-mil PDI-header.
Tilslutning til en 6-benet 50-mil PDI header
Brug adapterkortet (inkluderet i nogle sæt) til at forbinde til en standard 50-mil PDI header.
Tilslutning til en brugerdefineret 100-mil header
Det 10-benede mini-blækspruttekabel skal bruges til at forbinde mellem Atmel-ICE AVR-stikporten og målkortet. Der kræves fire tilslutninger, som beskrevet i tabellen nedenfor.
Atmel-ICE Debugger-programmører - Figur 16 Vigtig: 
Den nødvendige pinout er forskellig fra JTAGICE mkII JTAG sonde, hvor PDI_DATA er forbundet til pin 9. Atmel-ICE er kompatibel med pinout'et, der bruges af Atmel-ICE, JTAGICE3, AVR ONE! og AVR Dragon™ produkter.
Tabel 3-3. Atmel-ICE PDI Pin Mapping

Atmel-ICE AVR portstifter Målstifter Mini-blækspruttestift

aWire pinout

Pin 1 (TCK) 1
Pin 2 (GND) GND 2 6
Pin 3 (TDO) DATA 3 1
Ben 4 (VTG) VTG 4 2
Pin 5 (TMS) 5
Pin 6 (nSRST) 6
Ben 7 (Ikke forbundet) 7
Pin 8 (nTRST) 8
Pin 9 (TDI) 9
Pin 10 (GND) 0

3.4 Tilslutning til et PDI-mål
Den anbefalede pinout for det 6-benede PDI-stik er vist i figur 4-11.
Tilslutning til en 6-benet 100-mil PDI header
Brug den 6-benede 100-mil-hane på det flade kabel (inkluderet i nogle sæt) til at forbinde til en standard 100-mil PDI-header.
Tilslutning til en 6-benet 50-mil PDI header
Brug adapterkortet (inkluderet i nogle sæt) til at forbinde til en standard 50-mil PDI header.
Tilslutning til en brugerdefineret 100-mil header
Det 10-benede mini-blækspruttekabel skal bruges til at forbinde mellem Atmel-ICE AVR-stikporten og målkortet. Der kræves fire tilslutninger, som beskrevet i tabellen nedenfor.
Atmel-ICE Debugger-programmører - Figur 16 Vigtig:
Den nødvendige pinout er forskellig fra JTAGICE mkII JTAG sonde, hvor PDI_DATA er forbundet til pin 9. Atmel-ICE er kompatibel med pinout'et, der bruges af Atmel-ICE, JTAGICE3, AVR ONE! og AVR Dragon produkter.
Tabel 3-3. Atmel-ICE PDI Pin Mapping

Atmel-ICE AVR portstift Målstifter Mini-blækspruttestift Atmel STK600 PDI pinout
Pin 1 (TCK) 1
Pin 2 (GND) GND 2 6
Pin 3 (TDO) PDI_DATA 3 1
Ben 4 (VTG) VTG 4 2
Pin 5 (TMS) 5
Pin 6 (nSRST) PDI_CLK 6 5
Ben 7 (ikke forbundet) 7
Pin 8 (nTRST) 8
Pin 9 (TDI) 9
Pin 10 (GND) 0

3.5 Tilslutning til et UPDI-mål
Den anbefalede pinout for det 6-benede UPDI-stik er vist i figur 4-12.
Tilslutning til en 6-benet 100-mil UPDI header
Brug den 6-benede 100-mil-hane på det flade kabel (inkluderet i nogle sæt) til at forbinde til en standard 100-mil UPDI-header.
Tilslutning til en 6-benet 50-mil UPDI header
Brug adapterkortet (inkluderet i nogle sæt) til at forbinde til en standard 50-mil UPDI header.
Tilslutning til en brugerdefineret 100-mil header
Det 10-benede mini-blækspruttekabel skal bruges til at forbinde mellem Atmel-ICE AVR-stikporten og målkortet. Der kræves tre tilslutninger, som beskrevet i tabellen nedenfor.
Tabel 3-4. Atmel-ICE UPDI Pin Mapping

Atmel-ICE AVR portstift Målstifter Mini-blækspruttestift

Atmel STK600 UPDI pinout

Pin 1 (TCK) 1
Pin 2 (GND) GND 2 6
Pin 3 (TDO) UPDI_DATA 3 1
Ben 4 (VTG) VTG 4 2
Pin 5 (TMS) 5
Pin 6 (nSRST) [/NULSTIL sans] 6 5
Ben 7 (Ikke forbundet) 7
Pin 8 (nTRST) 8
Pin 9 (TDI) 9
Pin 10 (GND) 0

3.6 Tilslutning til et debugWIRE-mål
Den anbefalede pinout for 6-bens debugWIRE (SPI)-stikket er vist i Tabel 3-6.
Tilslutning til en 6-benet 100-mil SPI header
Brug den 6-benede 100-mil-hane på det flade kabel (inkluderet i nogle sæt) til at forbinde til en standard 100-mil SPI-header.
Tilslutning til en 6-benet 50-mil SPI header
Brug adapterkortet (inkluderet i nogle sæt) til at forbinde til en standard 50-mil SPI header.
Tilslutning til en brugerdefineret 100-mil header
Det 10-benede mini-blækspruttekabel skal bruges til at forbinde mellem Atmel-ICE AVR-stikporten og målkortet. Der kræves tre tilslutninger, som beskrevet i tabel 3-5.
Selvom debugWIRE-grænsefladen kun kræver én signallinje (RESET), VCC og GND for at fungere korrekt, anbefales det at have adgang til det fulde SPI-stik, så debugWIRE-grænsefladen kan aktiveres og deaktiveres ved hjælp af SPI-programmering.
Når DWEN-sikringen er aktiveret, tilsidesættes SPI-grænsefladen internt, så OCD-modulet har kontrol over RESET-stiften. DebugWIRE OCD er i stand til at deaktivere sig selv midlertidigt (ved at bruge knappen på fejlfindingsfanen i egenskabsdialogen i Atmel Studio), og dermed frigive kontrollen over RESET-linjen. SPI-grænsefladen er så tilgængelig igen (kun hvis SPIEN-sikringen er programmeret), hvilket gør det muligt at afprogrammere DWEN-sikringen ved hjælp af SPI-grænsefladen. Hvis strømmen skiftes, før DWEN-sikringen ikke er programmeret, vil debugWIRE-modulet igen tage kontrol over RESET-stiften.
Note:
Det anbefales på det kraftigste blot at lade Atmel Studio klare indstilling og rydning af DWEN-sikringen.
Det er ikke muligt at bruge debugWIRE-grænsefladen, hvis lockbits på mål-AVR-enheden er programmeret. Vær altid sikker på, at lockbits er ryddet før programmering af DWEN-sikringen, og sæt aldrig lockbits, mens DWEN-sikringen er programmeret. Hvis både debugWIRE enable sikringen (DWEN) og lockbits er indstillet, kan man bruge High Voltage Programmering til at udføre en chipsletning og dermed rydde lockbits.
Når lockbits er ryddet, vil debugWIRE-grænsefladen blive genaktiveret. SPI-grænsefladen er kun i stand til at læse sikringer, læse signatur og udføre en chipsletning, når DWEN-sikringen er uprogrammeret.
Tabel 3-5. Atmel-ICE debugWIRE Pin Mapping

Atmel-ICE AVR portstift Målstifter

Mini-blækspruttestift

Pin 1 (TCK) 1
Pin 2 (GND) GND 2
Pin 3 (TDO) 3
Ben 4 (VTG) VTG 4
Pin 5 (TMS) 5
Pin 6 (nSRST) NULSTIL 6
Ben 7 (Ikke forbundet) 7
Pin 8 (nTRST) 8
Pin 9 (TDI) 9
Pin 10 (GND) 0

3.7 Tilslutning til et SPI-mål
Den anbefalede pinout for det 6-benede SPI-stik er vist i figur 4-10.
Tilslutning til en 6-benet 100-mil SPI header
Brug den 6-benede 100-mil-hane på det flade kabel (inkluderet i nogle sæt) til at forbinde til en standard 100-mil SPI-header.
Tilslutning til en 6-benet 50-mil SPI header
Brug adapterkortet (inkluderet i nogle sæt) til at forbinde til en standard 50-mil SPI header.
Tilslutning til en brugerdefineret 100-mil header
Det 10-benede mini-blækspruttekabel skal bruges til at forbinde mellem Atmel-ICE AVR-stikporten og målkortet. Der kræves seks tilslutninger, som beskrevet i tabellen nedenfor.
Atmel-ICE Debugger-programmører - Figur 16 Vigtig:
SPI-grænsefladen er effektivt deaktiveret, når debugWIRE-aktiveringssikringen (DWEN) er programmeret, selvom SPIEN-sikringen også er programmeret. For at genaktivere SPI-grænsefladen skal kommandoen 'disable debugWIRE' udstedes, mens du er i en debugWIRE-fejlfindingssession. Deaktivering af debugWIRE på denne måde kræver, at SPIEN-sikringen allerede er programmeret. Hvis Atmel Studio ikke kan deaktivere debugWIRE, er det sandsynligt, fordi SPIEN-sikringen IKKE er programmeret. Hvis dette er tilfældet, er det nødvendigt at bruge en høj-voltage programmeringsgrænseflade til programmering af SPIEN-sikringen.
Atmel-ICE Debugger Programmers - ikon Info:
SPI-grænsefladen omtales ofte som "ISP", da det var den første In System Programming-grænseflade på Atmel AVR-produkter. Andre grænseflader er nu tilgængelige for In System Programmering.
Tabel 3-6. Atmel-ICE SPI Pin Mapping

Atmel-ICE AVR portstifter Målstifter Mini-blækspruttestift

SPI pinout

Pin 1 (TCK) SCK 1 3
Pin 2 (GND) GND 2 6
Pin 3 (TDO) MISO 3 1
Ben 4 (VTG) VTG 4 2
Pin 5 (TMS) 5
Pin 6 (nSRST) /NULSTIL 6 5
Ben 7 (ikke forbundet) 7
Pin 8 (nTRST) 8
Pin 9 (TDI) Mosi 9 4
Pin 10 (GND) 0

3.8 Tilslutning til et TPI-mål
Den anbefalede pinout for det 6-benede TPI-stik er vist i figur 4-13.
Tilslutning til en 6-benet 100-mil TPI header
Brug den 6-benede 100-mil-hane på det flade kabel (inkluderet i nogle sæt) til at forbinde til en standard 100-mil TPI-header.
Tilslutning til en 6-benet 50-mil TPI header
Brug adapterkortet (inkluderet i nogle sæt) til at forbinde til en standard 50-mil TPI header.
Tilslutning til en brugerdefineret 100-mil header
Det 10-benede mini-blækspruttekabel skal bruges til at forbinde mellem Atmel-ICE AVR-stikporten og målkortet. Der kræves seks tilslutninger, som beskrevet i tabellen nedenfor.
Tabel 3-7. Atmel-ICE TPI Pin Mapping

Atmel-ICE AVR portstifter Målstifter Mini-blækspruttestift

TPI pinout

Pin 1 (TCK) UR 1 3
Pin 2 (GND) GND 2 6
Pin 3 (TDO) DATA 3 1
Ben 4 (VTG) VTG 4 2
Pin 5 (TMS) 5
Pin 6 (nSRST) /NULSTIL 6 5
Ben 7 (ikke forbundet) 7
Pin 8 (nTRST) 8
Pin 9 (TDI) 9
Pin 10 (GND) 0

3.9 Tilslutning til et SWD-mål
ARM SWD-grænsefladen er en delmængde af JTAG interface, der gør brug af TCK- og TMS-benene, hvilket betyder, at ved tilslutning til en SWD-enhed, 10-bens JTAG stik kan teknisk bruges. ARM JTAG og AVR JTAG stik er dog ikke pin-kompatible, så dette afhænger af layoutet på målkortet i brug. Når du bruger en STK600 eller et kort, der gør brug af AVR JTAG pinout, skal AVR-stikporten på Atmel-ICE bruges. Ved tilslutning til et kort, som gør brug af ARM JTAG pinout, skal SAM-stikporten på Atmel-ICE bruges.
Den anbefalede pinout for 10-bens Cortex Debug-stikket er vist i figur 4-4.
Tilslutning til en 10-bens 50-mil Cortex header
Brug det flade kabel (inkluderet i nogle sæt) til at forbinde til en standard 50-mil Cortex header.
Tilslutning til en 10-bens 100-mil Cortex-layout header
Brug adapterkortet (inkluderet i nogle sæt) til at forbinde til en 100-mil Cortex-pinout-header.
Tilslutning til en 20-bens 100-mil SAM header
Brug adapterkortet (inkluderet i nogle sæt) til at forbinde til en 20-bens 100-mil SAM-header.
Tilslutning til en brugerdefineret 100-mil header
Det 10-benede mini-blækspruttekabel skal bruges til at forbinde mellem Atmel-ICE AVR- eller SAM-stikporten og målkortet. Der kræves seks tilslutninger, som beskrevet i tabellen nedenfor.
Tabel 3-8. Atmel-ICE SWD Pin Mapping

Navn AVR  portstift SAM portstift Beskrivelse
SWDC LK 1 4 Serial Wire Debug Clock.
SWDIO 5 2 Serial Wire Debug Data Input/Output.
SWO 3 6 Seriel ledningsudgang (valgfrit - ikke implementeret på alle enheder).
nSRST 6 10 Nulstil.
VTG 4 1 Target voltage reference.
GND 2, 10 3, 5, 9 Jord.

3.10 Tilslutning til Data Gateway Interface
Atmel-ICE understøtter et begrænset Data Gateway Interface (DGI), når fejlfinding og programmering ikke er i brug. Funktionaliteten er identisk med den, der findes på Atmel Xplained Pro-sæt, der drives af Atmel EDBG-enheden.
Data Gateway-grænsefladen er en grænseflade til streaming af data fra målenheden til en computer. Dette er ment som en hjælp til applikationsfejlfinding samt til demonstration af funktioner i applikationen, der kører på målenheden.
DGI består af flere kanaler til datastreaming. Atmel-ICE understøtter følgende tilstande:

  • USART
  • SPI

Tabel 3-9. Atmel-ICE DGI USART Pinout

AVR port

SAM port DGI USART pin

Beskrivelse

3 6 TX Send pin fra Atmel-ICE til målenheden
4 1 VTG Target voltage (reference bindtage)
8 7 RX Modtag pin fra målenheden til Atmel-ICE
9 8 CLK USART ur
2, 10 3, 5, 9 GND Jord

Tabel 3-10. Atmel-ICE DGI SPI Pinout

AVR port

SAM port DGI SPI pin

Beskrivelse

1 4 SCK SPI-ur
3 6 MISO Master In Slave Out
4 1 VTG Target voltage (reference bindtage)
5 2 nCS Chipvalg aktiv lav
9 8 Mosi Master ud slave i
2, 10 3, 5, 9 GND Jord

Atmel-ICE Debugger-programmører - Figur 16 Vigtig:  SPI- og USART-grænseflader kan ikke bruges samtidigt.
Atmel-ICE Debugger-programmører - Figur 16 Vigtig:  DGI og programmering eller debugging kan ikke bruges samtidigt.

On-chip debugging

4.1 Indledning
On-chip debugging
Et on-chip debug-modul er et system, der gør det muligt for en udvikler at overvåge og kontrollere udførelse på en enhed fra en ekstern udviklingsplatform, normalt gennem en enhed kendt som en debugger eller debug-adapter.
Med et OCD-system kan applikationen eksekveres, mens de nøjagtige elektriske og timing-karakteristika bevares i målsystemet, samtidig med at det er i stand til at stoppe eksekveringen betinget eller manuelt og inspicere programflow og hukommelse.
Kør tilstand
Når du er i Kør-tilstand, er udførelse af kode fuldstændig uafhængig af Atmel-ICE. Atmel-ICE vil løbende overvåge målenheden for at se, om der er opstået en pausetilstand. Når dette sker, vil OCD-systemet udspørge enheden gennem dens fejlretningsgrænseflade, hvilket giver brugeren mulighed for det view enhedens interne tilstand.
Stoppet tilstand
Når et brudpunkt nås, stoppes programafviklingen, men nogle I/O kan fortsætte med at køre, som om der ikke var opstået noget brudpunkt. F.eksample, antag, at en USART-transmission lige er blevet påbegyndt, når et brudpunkt er nået. I dette tilfælde fortsætter USART med at køre med fuld hastighed og fuldfører transmissionen, selvom kernen er i standset tilstand.
Hardware brudpunkter
Mål-OCD-modulet indeholder et antal programtællerkomparatorer implementeret i hardwaren. Når programtælleren matcher værdien, der er lagret i et af komparatorregistrene, går OCD'en i standset tilstand. Da hardware-breakpoints kræver dedikeret hardware på OCD-modulet, afhænger antallet af tilgængelige breakpoints af størrelsen af ​​OCD-modulet implementeret på målet. Normalt er en sådan hardwarekomparator 'reserveret' af debuggeren til intern brug.
Software brudpunkter
Et softwarebrudpunkt er en BREAK-instruktion placeret i programhukommelsen på målenheden. Når denne instruktion er indlæst, vil programafviklingen bryde, og OCD'en går i stoppet tilstand. For at fortsætte udførelsen skal en "start"-kommando gives fra OCD'en. Ikke alle Atmel-enheder har OCD-moduler, der understøtter BREAK-instruktionen.
4.2 SAM-enheder med JTAG/SWD
Alle SAM-enheder har SWD-grænsefladen til programmering og fejlretning. Derudover har nogle SAM-enheder en JTAG grænseflade med identisk funktionalitet. Tjek enhedsdatabladet for understøttede grænseflader for den enhed.
4.2.1.ARM CoreSight-komponenter
Atmel ARM Cortex-M baserede mikrocontrollere implementerer CoreSight-kompatible OCD-komponenter. Funktionerne ved disse komponenter kan variere fra enhed til enhed. For yderligere information se enhedens datablad samt CoreSight-dokumentation leveret af ARM.
4.2.1. JTAG Fysisk grænseflade
Den J.TAG grænsefladen består af en 4-wire Test Access Port (TAP) controller, der er kompatibel med IEEE® 1149.1 standard. IEEE-standarden blev udviklet for at give en industristandard måde til effektivt at teste printkortforbindelse (Boundary Scan). Atmel AVR- og SAM-enheder har udvidet denne funktionalitet til at omfatte fuld programmering og On-chip Debugging-understøttelse.
Figur 4-1. JTAG Grundlæggende grænsefladerAtmel-ICE Debugger-programmører - Figur 25

4.2.2.1 SAM JTAG Pinout (Cortex-M debug-stik)
Når du designer et applikations-PCB, der inkluderer en Atmel SAM med JTAG interface, anbefales det at bruge pinout som vist i figuren nedenfor. Både 100-mil og 50-mil-varianter af denne pinout er understøttet, afhængigt af kabler og adaptere, der følger med det pågældende sæt.
Figur 4-2. SAM JTAG Header Pinout
Atmel-ICE Debugger-programmører - Figur 20

Tabel 4-1. SAM JTAG Pin Beskrivelse

Navn Stift

Beskrivelse

TCK 4 Test ur (ursignal fra Atmel-ICE til målenheden).
TMS 2 Test Mode Select (kontrolsignal fra Atmel-ICE til målenheden).
TDI 8 Test Data In (data transmitteret fra Atmel-ICE til målenheden).
TDO 6 Test Data Out (data transmitteret fra målenheden til Atmel-ICE).
NULSTIL 10 Nulstil (valgfrit). Bruges til at nulstille målenheden. Det anbefales at tilslutte denne pin, da den gør det muligt for Atmel-ICE at holde målenheden i en nulstillingstilstand, hvilket kan være afgørende for fejlfinding i visse scenarier.
VTG 1 Target voltage reference. Atmel-ICE samples målet voltage på denne pin for at forsyne niveauomformerne korrekt. Atmel-ICE trækker mindre end 1mA fra denne pin i denne tilstand.
GND 3, 5, 9 Jord. Alle skal være forbundet for at sikre, at Atmel-ICE og målenheden deler den samme jordreference.
NØGLE 7 Tilsluttes internt til TRST-stiften på AVR-stikket. Anbefales som ikke tilsluttet.

Atmel-ICE Debugger Programmers - ikon 1 Tip: Husk at inkludere en afkoblingskondensator mellem ben 1 og GND.
4.2.2.2 JTAG Daisy Kædning
Den J.TAG interface giver mulighed for, at flere enheder kan tilsluttes til en enkelt grænseflade i en daisy chain-konfiguration. Målenhederne skal alle have strøm fra den samme forsyningsvoltage, deler en fælles jordknude og skal tilsluttes som vist i figuren nedenfor.
Figur 4-3. JTAG Daisy ChainAtmel-ICE Debugger-programmører - Figur 23

Ved tilslutning af enheder i en daisy chain skal følgende punkter tages i betragtning:

  • Alle enheder skal dele en fælles jord, forbundet til GND på Atmel-ICE-sonden
  • Alle enheder skal køre på samme målvolumentage. VTG på Atmel-ICE skal tilsluttes denne voltage.
  • TMS og TCK er forbundet parallelt; TDI og TDO er forbundet i en serie
  • nSRST på Atmel-ICE-sonden skal tilsluttes RESET på enhederne, hvis nogen af ​​enhederne i kæden deaktiverer dens JTAG havn
  • "Enheder før" refererer til antallet af JTAG enheder, som TDI-signalet skal passere igennem i seriekæden, før det når målenheden. På samme måde er "enheder efter" antallet af enheder, som signalet skal passere igennem efter målenheden, før det når Atmel-ICE TDO
  • "Instruktionsbits "før" og "efter" refererer til den samlede sum af alle JTAG enhedernes instruktionsregisterlængder, som er forbundet før og efter målenheden i daisy-kæden
  • Den samlede IR-længde (instruktionsbits før + Atmel-målenhedens IR-længde + instruktionsbits efter) er begrænset til maksimalt 256 bits. Antallet af enheder i kæden er begrænset til 15 før og 15 efter.

Atmel-ICE Debugger Programmers - ikon 1 Tip:
Daisy chaining example: TDI → ATmega1280 → ATxmega128A1 → ATUC3A0512 → TDO.
For at oprette forbindelse til Atmel AVR XMEGA® enhed, daisy chain-indstillingerne er:

  • Enheder før: 1
  • Enheder efter: 1
  • Instruktionsbits før: 4 (8-bit AVR-enheder har 4 IR-bits)
  • Instruktionsbits efter: 5 (32-bit AVR-enheder har 5 IR-bits)

Tabel 4-2. IR-længder af Atmel MCU'er

Enhedstype IR længde
AVR 8-bit 4 bits
AVR 32-bit 5 bits
SAM 4 bits

4.2.3. Tilslutning til en JTAG Mål
Atmel-ICE er udstyret med to 50-mil 10-pin JTAG stik. Begge stik er direkte elektrisk forbundet, men passer til to forskellige pinouts; AVR JTAG header og ARM Cortex Debug header. Konnektoren skal vælges ud fra målkortets pinout og ikke mål-MCU-typen - f.eksampHvis en SAM-enhed er monteret i en AVR STK600-stabel, skal du bruge AVR-headeren.
Den anbefalede pinout til 10-bens AVR JTAG stik er vist i figur 4-6.
Den anbefalede pinout for 10-bens ARM Cortex Debug-stikket er vist i figur 4-2.
Direkte forbindelse til en standard 10-bens 50-mil header
Brug det 50-mil 10-benede fladkabel (inkluderet i nogle sæt) til at forbinde direkte til et kort, der understøtter denne header-type. Brug AVR-stikporten på Atmel-ICE til headere med AVR-pinout, og SAM-stikporten til headere, der er i overensstemmelse med ARM Cortex Debug-header-pinout.
Pinouts for begge 10-bens stikporte er vist nedenfor.
Tilslutning til en standard 10-bens 100-mil skærebord
Brug en standard 50-mil til 100-mil adapter til at forbinde til 100-mil headers. Et adapterkort (inkluderet i nogle sæt) kan bruges til dette formål, eller alternativt JTAGICE3-adapter kan bruges til AVR-mål.
Atmel-ICE Debugger-programmører - Figur 16 Vigtig:
Den J.TAGICE3 100-mil adapter kan ikke bruges med SAM-stikporten, da ben 2 og 10 (AVR GND) på adapteren er tilsluttet.
Tilslutning til en brugerdefineret 100-mil header
Hvis dit målkort ikke har en kompatibel 10-bens JTAG header i 50- eller 100-mil, kan du kortlægge til en brugerdefineret pinout ved hjælp af 10-bens "mini-squid"-kablet (inkluderet i nogle sæt), som giver adgang til ti individuelle 100-mil-stik.
Tilslutning til en 20-bens 100-mil header
Brug adapterkortet (inkluderet i nogle sæt) til at forbinde til mål med en 20-bens 100-mil header.
Tabel 4-3. Atmel-ICE JTAG Pin Beskrivelse

Navn AVR portstift SAM portstift Beskrivelse
TCK 1 4 Test ur (ursignal fra Atmel-ICE til målenheden).
TMS 5 2 Test Mode Select (kontrolsignal fra Atmel-ICE til målenheden).
TDI 9 8 Test Data In (data transmitteret fra Atmel-ICE til målenheden).
TDO 3 6 Test Data Out (data transmitteret fra målenheden til Atmel-ICE).
nTRST 8 Test Reset (valgfrit, kun på nogle AVR-enheder). Bruges til at nulstille JTAG TAP-controller.
nSRST 6 10 Nulstil (valgfrit). Bruges til at nulstille målenheden. Det anbefales at tilslutte denne pin, da den gør det muligt for Atmel-ICE at holde målenheden i en nulstillingstilstand, hvilket kan være afgørende for fejlfinding i visse scenarier.
VTG 4 1 Target voltage reference. Atmel-ICE samples målet voltage på denne pin for at forsyne niveauomformerne korrekt. Atmel-ICE trækker mindre end 3mA fra denne pin i debugWIRE-tilstand og mindre end 1mA i andre tilstande.
GND 2, 10 3, 5, 9 Jord. Alle skal være forbundet for at sikre, at Atmel-ICE og målenheden deler den samme jordreference.

4.2.4. SWD fysisk grænseflade
ARM SWD-grænsefladen er en delmængde af JTAG interface, der gør brug af TCK- og TMS-stifter. ARM JTAG og AVR JTAG stik er dog ikke pin-kompatible, så når man designer et applikationsprint, som bruger en SAM-enhed med SWD eller JTAG interface, anbefales det at bruge ARM pinout vist i figuren nedenfor. SAM-stikporten på Atmel-ICE kan tilsluttes direkte til denne pinout.
Figur 4-4. Anbefalet ARM SWD/JTAG Header PinoutAtmel-ICE Debugger-programmører - Figur 18

Atmel-ICE er i stand til at streame UART-format ITM-sporing til værtscomputeren. Spor fanges på TRACE/SWO-stiften på 10-bens header (JTAG TDO pin). Data bufres internt på Atmel-ICE og sendes over HID-grænsefladen til værtscomputeren. Den maksimale pålidelige datahastighed er omkring 3 MB/s.
4.2.5. Tilslutning til et SWD-mål
ARM SWD-grænsefladen er en delmængde af JTAG interface, der gør brug af TCK- og TMS-benene, hvilket betyder, at ved tilslutning til en SWD-enhed, 10-bens JTAG stik kan teknisk bruges. ARM JTAG og AVR JTAG stik er dog ikke pin-kompatible, så dette afhænger af layoutet på målkortet i brug. Når du bruger en STK600 eller et kort, der gør brug af AVR JTAG pinout, skal AVR-stikporten på Atmel-ICE bruges. Ved tilslutning til et kort, som gør brug af ARM JTAG pinout, skal SAM-stikporten på Atmel-ICE bruges.
Den anbefalede pinout for 10-bens Cortex Debug-stikket er vist i figur 4-4.
Tilslutning til en 10-bens 50-mil Cortex header
Brug det flade kabel (inkluderet i nogle sæt) til at forbinde til en standard 50-mil Cortex header.
Tilslutning til en 10-bens 100-mil Cortex-layout header
Brug adapterkortet (inkluderet i nogle sæt) til at forbinde til en 100-mil Cortex-pinout-header.
Tilslutning til en 20-bens 100-mil SAM header
Brug adapterkortet (inkluderet i nogle sæt) til at forbinde til en 20-bens 100-mil SAM-header.
Tilslutning til en brugerdefineret 100-mil header
Det 10-benede mini-blækspruttekabel skal bruges til at forbinde mellem Atmel-ICE AVR- eller SAM-stikporten og målkortet. Der kræves seks tilslutninger, som beskrevet i tabellen nedenfor.
Tabel 4-4. Atmel-ICE SWD Pin Mapping

Navn AVR portstift SAM portstift Beskrivelse
SWDC LK 1 4 Serial Wire Debug Clock.
SWDIO 5 2 Serial Wire Debug Data Input/Output.
SWO 3 6 Seriel ledningsudgang (valgfrit - ikke implementeret på alle enheder).
nSRST 6 10 Nulstil.
VTG 4 1 Target voltage reference.
GND 2, 10 3, 5, 9 Jord.

4.2.6 Særlige hensyn
SLET stift
Nogle SAM-enheder inkluderer en ERASE-pin, som hævdes at udføre en komplet chipsletning og låse op for enheder, som sikkerhedsbitten er indstillet på. Denne funktion er koblet til selve enheden såvel som flashcontrolleren og er ikke en del af ARM-kernen.
ERASE-stiften er IKKE en del af nogen debug-header, og Atmel-ICE er således ikke i stand til at hævde dette signal for at låse en enhed op. I sådanne tilfælde skal brugeren udføre sletningen manuelt, før du starter en fejlretningssession.
Fysiske grænseflader JTAG interface
RESET-linjen skal altid være tilsluttet, så Atmel-ICE kan aktivere JTAG interface.
SWD interface
RESET-linjen skal altid være tilsluttet, så Atmel-ICE kan aktivere SWD-grænsefladen.
4.3 AVR UC3-enheder med JTAG/aWire
Alle AVR UC3-enheder har JTAG interface til programmering og fejlretning. Derudover har nogle AVR UC3-enheder aWire-grænsefladen med identisk funktionalitet ved brug af en enkelt ledning. Tjek enhedsdatabladet for understøttede grænseflader for den enhed
4.3.1 Atmel AVR UC3 On-chip Debug System
Atmel AVR UC3 OCD-systemet er designet i overensstemmelse med Nexus 2.0-standarden (IEEE-ISTO 5001™-2003), som er en yderst fleksibel og kraftfuld åben on-chip-debug-standard for 32-bit mikrocontrollere. Det understøtter følgende funktioner:

  • Nexus-kompatibel fejlretningsløsning
  • OCD understøtter enhver CPU-hastighed
  • Seks programtæller hardware breakpoints
  • To databrudpunkter
  • Breakpoints kan konfigureres som vagtpunkter
  • Hardware breakpoints kan kombineres for at give pauser på intervaller
  • Ubegrænset antal brudpunkter for brugerprogram (ved hjælp af BREAK)
  • Programtællerforgreningssporing i realtid, datasporing, processporing (understøttet kun af debuggere med parallel sporfangstport)

For mere information om AVR UC3 OCD-systemet, se AVR32UC Technical Reference Manuals, som findes på www.atmel.com/uc3.
4.3.2. JTAG Fysisk grænseflade
Den J.TAG grænsefladen består af en 4-wire Test Access Port (TAP) controller, der er kompatibel med IEEE® 1149.1 standard. IEEE-standarden blev udviklet for at give en industristandard måde til effektivt at teste printkortforbindelse (Boundary Scan). Atmel AVR- og SAM-enheder har udvidet denne funktionalitet til at omfatte fuld programmering og On-chip Debugging-understøttelse.
Figur 4-5. JTAG Grundlæggende grænsefladerAtmel-ICE Debugger-programmører - Figur 17

4.3.2.1 AVR JTAG Pinout
Når du designer et applikations-printkort, som inkluderer en Atmel AVR med JTAG interface, anbefales det at bruge pinout som vist i figuren nedenfor. Både 100-mil og 50-mil-varianter af denne pinout er understøttet, afhængigt af kabler og adaptere, der følger med det pågældende sæt.
Figur 4-6. AVR JTAG Header Pinout
Atmel-ICE Debugger-programmører - Figur 22

Tabel 4-5. AVR JTAG Pin Beskrivelse

Navn Stift

Beskrivelse

TCK 1 Test ur (ursignal fra Atmel-ICE til målenheden).
TMS 5 Test Mode Select (kontrolsignal fra Atmel-ICE til målenheden).
TDI 9 Test Data In (data transmitteret fra Atmel-ICE til målenheden).
TDO 3 Test Data Out (data transmitteret fra målenheden til Atmel-ICE).
nTRST 8 Test Reset (valgfrit, kun på nogle AVR-enheder). Bruges til at nulstille JTAG TAP-controller.
nSRST 6 Nulstil (valgfrit). Bruges til at nulstille målenheden. Det anbefales at tilslutte denne pin, da den gør det muligt for Atmel-ICE at holde målenheden i en nulstillingstilstand, hvilket kan være afgørende for fejlfinding i visse scenarier.
VTG 4 Target voltage reference. Atmel-ICE samples målet voltage på denne pin for at forsyne niveauomformerne korrekt. Atmel-ICE trækker mindre end 3mA fra denne pin i debugWIRE-tilstand og mindre end 1mA i andre tilstande.
GND 2, 10 Jord. Begge skal tilsluttes for at sikre, at Atmel-ICE og målenheden deler den samme jordreference.

Atmel-ICE Debugger Programmers - ikon 1 Tip: Husk at inkludere en afkoblingskondensator mellem ben 4 og GND.
4.3.2.2 JTAG Daisy Kædning
Den J.TAG interface giver mulighed for, at flere enheder kan tilsluttes til en enkelt grænseflade i en daisy chain-konfiguration. Målenhederne skal alle have strøm fra den samme forsyningsvoltage, deler en fælles jordknude og skal tilsluttes som vist i figuren nedenfor.
Figur 4-7. JTAG Daisy ChainAtmel-ICE Debugger-programmører - Figur 19

Ved tilslutning af enheder i en daisy chain skal følgende punkter tages i betragtning:

  • Alle enheder skal dele en fælles jord, forbundet til GND på Atmel-ICE-sonden
  • Alle enheder skal køre på samme målvolumentage. VTG på Atmel-ICE skal tilsluttes denne voltage.
  • TMS og TCK er forbundet parallelt; TDI og TDO er forbundet i en seriel kæde.
  • nSRST på Atmel-ICE-sonden skal tilsluttes RESET på enhederne, hvis nogen af ​​enhederne i kæden deaktiverer dens JTAG havn
  • "Enheder før" refererer til antallet af JTAG enheder, som TDI-signalet skal passere igennem i seriekæden, før det når målenheden. På samme måde er "enheder efter" antallet af enheder, som signalet skal passere igennem efter målenheden, før det når Atmel-ICE TDO
  • "Instruktionsbits "før" og "efter" refererer til den samlede sum af alle JTAG enhedernes instruktionsregisterlængder, som er forbundet før og efter målenheden i daisy-kæden
  • Den samlede IR-længde (instruktionsbits før + Atmel-målenhedens IR-længde + instruktionsbits efter) er begrænset til maksimalt 256 bits. Antallet af enheder i kæden er begrænset til 15 før og 15 efter.

Tip: 

Daisy chaining example: TDI → ATmega1280 → ATxmega128A1 → ATUC3A0512 → TDO.
For at oprette forbindelse til Atmel AVR XMEGA® enhed, daisy chain-indstillingerne er:

  • Enheder før: 1
  • Enheder efter: 1
  • Instruktionsbits før: 4 (8-bit AVR-enheder har 4 IR-bits)
  • Instruktionsbits efter: 5 (32-bit AVR-enheder har 5 IR-bits)

Tabel 4-6. IR-længder af Atmel MCUS

Enhedstype IR længde
AVR 8-bit 4 bits
AVR 32-bit 5 bits
SAM 4 bits

4.3.3.Tilslutning til en JTAG Mål
Atmel-ICE er udstyret med to 50-mil 10-pin JTAG stik. Begge stik er direkte elektrisk forbundet, men passer til to forskellige pinouts; AVR JTAG header og ARM Cortex Debug header. Konnektoren skal vælges ud fra målkortets pinout og ikke mål-MCU-typen - f.eksampHvis en SAM-enhed er monteret i en AVR STK600-stabel, skal du bruge AVR-headeren.
Den anbefalede pinout til 10-bens AVR JTAG stik er vist i figur 4-6.
Den anbefalede pinout for 10-bens ARM Cortex Debug-stikket er vist i figur 4-2.
Direkte forbindelse til en standard 10-bens 50-mil header
Brug det 50-mil 10-benede fladkabel (inkluderet i nogle sæt) til at forbinde direkte til et kort, der understøtter denne header-type. Brug AVR-stikporten på Atmel-ICE til headere med AVR-pinout, og SAM-stikporten til headere, der er i overensstemmelse med ARM Cortex Debug-header-pinout.
Pinouts for begge 10-bens stikporte er vist nedenfor.
Tilslutning til en standard 10-bens 100-mil skærebord

Brug en standard 50-mil til 100-mil adapter til at forbinde til 100-mil headers. Et adapterkort (inkluderet i nogle sæt) kan bruges til dette formål, eller alternativt JTAGICE3-adapter kan bruges til AVR-mål.
Atmel-ICE Debugger-programmører - Figur 16 Vigtig:
Den J.TAGICE3 100-mil adapter kan ikke bruges med SAM-stikporten, da ben 2 og 10 (AVR GND) på adapteren er tilsluttet.
Tilslutning til en brugerdefineret 100-mil header
Hvis dit målkort ikke har en kompatibel 10-bens JTAG header i 50- eller 100-mil, kan du kortlægge til en brugerdefineret pinout ved hjælp af 10-bens "mini-squid"-kablet (inkluderet i nogle sæt), som giver adgang til ti individuelle 100-mil-stik.
Tilslutning til en 20-bens 100-mil header
Brug adapterkortet (inkluderet i nogle sæt) til at forbinde til mål med en 20-bens 100-mil header.
Tabel 4-7. Atmel-ICE JTAG Pin Beskrivelse

Navn

AVR port pin SAM port pin

Beskrivelse

TCK 1 4 Test ur (ursignal fra Atmel-ICE til målenheden).
TMS 5 2 Test Mode Select (kontrolsignal fra Atmel-ICE til målenheden).
TDI 9 8 Test Data In (data transmitteret fra Atmel-ICE til målenheden).
TDO 3 6 Test Data Out (data transmitteret fra målenheden til Atmel-ICE).
nTRST 8 Test Reset (valgfrit, kun på nogle AVR-enheder). Bruges til at nulstille JTAG TAP-controller.
nSRST 6 10 Nulstil (valgfrit). Bruges til at nulstille målenheden. Det anbefales at tilslutte denne pin, da den gør det muligt for Atmel-ICE at holde målenheden i en nulstillingstilstand, hvilket kan være afgørende for fejlfinding i visse scenarier.
VTG 4 1 Target voltage reference. Atmel-ICE samples målet voltage på denne pin for at forsyne niveauomformerne korrekt. Atmel-ICE trækker mindre end 3mA fra denne pin i debugWIRE-tilstand og mindre end 1mA i andre tilstande.
GND 2, 10 3, 5, 9 Jord. Alle skal være forbundet for at sikre, at Atmel-ICE og målenheden deler den samme jordreference.

 4.3.4 aWire fysisk grænseflade
aWire-grænsefladen gør brug af RESET-ledningen på AVR-enheden for at tillade programmerings- og fejlfindingsfunktioner. En særlig aktiveringssekvens transmitteres af Atmel-ICE, som deaktiverer standard RESET-funktionaliteten for pinden. Ved design af et applikations-printkort, som inkluderer en Atmel AVR med aWire-grænsefladen, anbefales det at bruge pinout'en som vist i figur 4 -8. Både 100-mil og 50-mil-varianter af denne pinout er understøttet, afhængigt af kabler og adaptere, der følger med det pågældende sæt.
Figur 4-8. aWire Header PinoutAtmel-ICE Debugger-programmører - Figur 24

Atmel-ICE Debugger Programmers - ikon 1 Tip:
Da aWire er en halv-dupleks-grænseflade, anbefales en pull-up-modstand på RESET-linjen i størrelsesordenen 47kΩ for at undgå falsk start-bit-detektion ved retningsskift.
aWire-grænsefladen kan bruges som både programmerings- og fejlfindingsgrænseflade. Alle funktioner i OCD-systemet er tilgængelige via den 10-benede JTAG interface kan også tilgås ved hjælp af aWire.
4.3.5 Tilslutning til et aWire-mål
aWire-grænsefladen kræver kun én datalinje ud over VCC og GND. På målet er denne linje nRESET-linjen, selvom debuggeren bruger JTAG TDO-linje som datalinje.
Den anbefalede pinout for det 6-benede aWire-stik er vist i figur 4-8.
Tilslutning til en 6-benet 100-mil aWire header
Brug den 6-benede 100-mil-hane på det flade kabel (inkluderet i nogle sæt) til at forbinde til en standard 100-mil aWire-header.
Tilslutning til en 6-benet 50-mil aWire header
Brug adapterkortet (inkluderet i nogle sæt) til at forbinde til en standard 50-mil aWire header.
Tilslutning til en brugerdefineret 100-mil header
Det 10-benede mini-blækspruttekabel skal bruges til at forbinde mellem Atmel-ICE AVR-stikporten og målkortet. Der kræves tre tilslutninger, som beskrevet i tabellen nedenfor.
Tabel 4-8. Atmel-ICE aWire Pin Mapping

Atmel-ICE AVR portstifter Målstifter Mini-blækspruttestift

aWire pinout

Pin 1 (TCK) 1
Pin 2 (GND) GND 2 6
Pin 3 (TDO) DATA 3 1
Ben 4 (VTG) VTG 4 2
Pin 5 (TMS) 5
Pin 6 (nSRST) 6
Ben 7 (Ikke forbundet) 7
Pin 8 (nTRST) 8
Pin 9 (TDI) 9
Pin 10 (GND) 0

4.3.6. Særlige hensyn
JTAG interface
På nogle Atmel AVR UC3-enheder er JTAG port er ikke aktiveret som standard. Når du bruger disse enheder, er det vigtigt at tilslutte RESET-linjen, så Atmel-ICE kan aktivere JTAG interface.
aWire-grænseflade
Baudraten for aWire-kommunikation afhænger af frekvensen af ​​systemuret, da data skal synkroniseres mellem disse to domæner. Atmel-ICE vil automatisk registrere, at systemuret er blevet sænket, og kalibrere dets baudrate i overensstemmelse hermed. Den automatiske kalibrering virker kun ned til en systemurfrekvens på 8kHz. Skift til et lavere systemur under en debugsession kan medføre, at kontakten med målet går tabt.
Om nødvendigt kan aWire-baudraten begrænses ved at indstille aWire-urparameteren. Automatisk detektering vil stadig fungere, men resultaterne vil blive pålagt en loftværdi.
Enhver stabiliseringskondensator, der er forbundet til RESET-stiften, skal afbrydes, når du bruger aWire, da det vil forstyrre den korrekte betjening af grænsefladen. En svag ekstern pullup (10kΩ eller højere) på denne linje anbefales.

Luk dvaletilstand
Nogle AVR UC3-enheder har en intern regulator, der kan bruges i 3.3V forsyningstilstand med 1.8V regulerede I/O-linjer. Det betyder, at den interne regulator driver både kernen og det meste af I/O'en. Kun Atmel AVR ONE! debugger understøtter fejlfinding, mens du bruger dvaletilstande, hvor denne regulator er slukket.
4.3.7. EVTI / EVTO brug
EVTI- og EVTO-stifterne er ikke tilgængelige på Atmel-ICE. De kan dog stadig bruges sammen med andet eksternt udstyr.
EVTI kan bruges til følgende formål:

  • Målet kan tvinges til at stoppe eksekveringen som reaktion på en ekstern hændelse. Hvis Event In Control (EIC)-bittene i DC-registret skrives til 0b01, vil høj-til-lav overgang på EVTI-stiften generere en brudpunktstilstand. EVTI skal forblive lav i én CPU-clock-cyklus for at garantere, at et brudpunkt er. Den eksterne brudpunkt-bit (EXB) i DS indstilles, når dette sker.
  • Generering af sporingssynkroniseringsmeddelelser. Bruges ikke af Atmel-ICE.

EVTO kan bruges til følgende formål:

  • Indikerer, at CPU'en er gået i fejlfinding. Indstilling af EOS-bittene i DC til 0b01 får EVTO-pinden til at blive trukket lavt i én CPU-urcyklus, når målenheden går i fejlretningstilstand. Dette signal kan bruges som en triggerkilde for et eksternt oscilloskop.
  • Indikerer, at CPU'en har nået et brudpunkt eller overvågningspunkt. Ved at indstille EOC-bitten i et tilsvarende Breakpoint/Watchpoint Control Register, vises breakpoint- eller watchpoint-status på EVTO-stiften. EOS-bittene i DC skal indstilles til 0xb10 for at aktivere denne funktion. EVTO-stiften kan derefter forbindes til et eksternt oscilloskop for at undersøge vagtpunktet
  • Generering af sporingstidssignaler. Bruges ikke af Atmel-ICE.

4.4 tinyAVR-, megaAVR- og XMEGA-enheder
AVR-enheder har forskellige programmerings- og fejlfindingsgrænseflader. Tjek enhedsdatabladet for understøttede grænseflader for den enhed.

  • Noget lille AVR® enheder med en TPI TPI kan kun bruges til at programmere enheden, og disse enheder har slet ikke on-chip debug-funktion.
  • Nogle tinyAVR-enheder og nogle megaAVR-enheder har debugWIRE-grænsefladen, som forbinder til et on-chip-debug-system kendt som tinyOCD. Alle enheder med debugWIRE har også SPI-grænsefladen til in-system
  • Nogle megaAVR-enheder har en JTAG grænseflade til programmering og debugging, med et on-chip debug-system også kendt som Alle enheder med JTAG har også SPI-grænsefladen som en alternativ grænseflade til programmering i systemet.
  • Alle AVR XMEGA-enheder har PDI-grænsefladen til programmering, og nogle AVR XMEGA-enheder har også en JTAG grænseflade med identisk funktionalitet.
  • Nye tinyAVR-enheder har et UPDI-interface, som bruges til programmering og fejlretning

Tabel 4-9. Oversigt over programmerings- og fejlfindingsgrænseflader

UPDI TPI SPI debugWIR E JTAG PDI aWire

SWD

lille AVR Nye enheder Nogle enheder Nogle enheder Nogle enheder
megaAV R Alle enheder Nogle enheder Nogle enheder
AVR XMEGA Nogle enheder Alle enheder
AVR UC Alle enheder Nogle enheder
SAM Nogle enheder Alle enheder

4.4.1. JTAG Fysisk grænseflade
Den J.TAG grænsefladen består af en 4-wire Test Access Port (TAP) controller, der er kompatibel med IEEE® 1149.1 standard. IEEE-standarden blev udviklet for at give en industristandard måde til effektivt at teste printkortforbindelse (Boundary Scan). Atmel AVR- og SAM-enheder har udvidet denne funktionalitet til at omfatte fuld programmering og On-chip Debugging-understøttelse.
Figur 4-9. JTAG Grundlæggende grænsefladerAtmel-ICE Debugger-programmører - Figur 214.4.2. Tilslutning til en JTAG Mål
Atmel-ICE er udstyret med to 50-mil 10-pin JTAG stik. Begge stik er direkte elektrisk forbundet, men passer til to forskellige pinouts; AVR JTAG header og ARM Cortex Debug header. Konnektoren skal vælges ud fra målkortets pinout og ikke mål-MCU-typen - f.eksampHvis en SAM-enhed er monteret i en AVR STK600-stabel, skal du bruge AVR-headeren.
Den anbefalede pinout til 10-bens AVR JTAG stik er vist i figur 4-6.
Den anbefalede pinout for 10-bens ARM Cortex Debug-stikket er vist i figur 4-2.
Direkte forbindelse til en standard 10-bens 50-mil header
Brug det 50-mil 10-benede fladkabel (inkluderet i nogle sæt) til at forbinde direkte til et kort, der understøtter denne header-type. Brug AVR-stikporten på Atmel-ICE til headere med AVR-pinout, og SAM-stikporten til headere, der er i overensstemmelse med ARM Cortex Debug-header-pinout.
Pinouts for begge 10-bens stikporte er vist nedenfor.
Tilslutning til en standard 10-bens 100-mil skærebord
Brug en standard 50-mil til 100-mil adapter til at forbinde til 100-mil headers. Et adapterkort (inkluderet i nogle sæt) kan bruges til dette formål, eller alternativt JTAGICE3-adapter kan bruges til AVR-mål.
Atmel-ICE Debugger-programmører - Figur 16 Vigtig:
Den J.TAGICE3 100-mil adapter kan ikke bruges med SAM-stikporten, da ben 2 og 10 (AVR GND) på adapteren er tilsluttet.
Tilslutning til en brugerdefineret 100-mil header
Hvis dit målkort ikke har en kompatibel 10-bens JTAG header i 50- eller 100-mil, kan du kortlægge til en brugerdefineret pinout ved hjælp af 10-bens "mini-squid"-kablet (inkluderet i nogle sæt), som giver adgang til ti individuelle 100-mil-stik.
Tilslutning til en 20-bens 100-mil header
Brug adapterkortet (inkluderet i nogle sæt) til at forbinde til mål med en 20-bens 100-mil header.
Tabel 4-10. Atmel-ICE JTAG Pin Beskrivelse

Navn AVR portstift SAM portstift Beskrivelse
TCK 1 4 Test ur (ursignal fra Atmel-ICE til målenheden).
TMS 5 2 Test Mode Select (kontrolsignal fra Atmel-ICE til målenheden).
TDI 9 8 Test Data In (data transmitteret fra Atmel-ICE til målenheden).
TDO 3 6 Test Data Out (data transmitteret fra målenheden til Atmel-ICE).
nTRST 8 Test Reset (valgfrit, kun på nogle AVR-enheder). Bruges til at nulstille JTAG TAP-controller.
nSRST 6 10 Nulstil (valgfrit). Bruges til at nulstille målenheden. Det anbefales at tilslutte denne pin, da den gør det muligt for Atmel-ICE at holde målenheden i en nulstillingstilstand, hvilket kan være afgørende for fejlfinding i visse scenarier.
VTG 4 1 Target voltage reference. Atmel-ICE samples målet voltage på denne pin for at forsyne niveauomformerne korrekt. Atmel-ICE trækker mindre end 3mA fra denne pin i debugWIRE-tilstand og mindre end 1mA i andre tilstande.
GND 2, 10 3, 5, 9 Jord. Alle skal være forbundet for at sikre, at Atmel-ICE og målenheden deler den samme jordreference.

4.4.3.SPI fysisk grænseflade
In-System Programmering bruger mål Atmel AVR's interne SPI (Serial Peripheral Interface) til at downloade kode til flash- og EEPROM-hukommelserne. Det er ikke en fejlfindingsgrænseflade. Ved design af et applikations-printkort, som inkluderer en AVR med SPI-grænsefladen, skal pinoutet som vist i figuren nedenfor bruges.
Figur 4-10. SPI Header PinoutAtmel-ICE Debugger-programmører - Figur 264.4.4. Tilslutning til et SPI-mål
Den anbefalede pinout for det 6-benede SPI-stik er vist i figur 4-10.
Tilslutning til en 6-benet 100-mil SPI header
Brug den 6-benede 100-mil-hane på det flade kabel (inkluderet i nogle sæt) til at forbinde til en standard 100-mil SPI-header.
Tilslutning til en 6-benet 50-mil SPI header
Brug adapterkortet (inkluderet i nogle sæt) til at forbinde til en standard 50-mil SPI header.
Tilslutning til en brugerdefineret 100-mil header
Det 10-benede mini-blækspruttekabel skal bruges til at forbinde mellem Atmel-ICE AVR-stikporten og målkortet. Der kræves seks tilslutninger, som beskrevet i tabellen nedenfor.
Atmel-ICE Debugger-programmører - Figur 16 Vigtig:
SPI-grænsefladen er effektivt deaktiveret, når debugWIRE-aktiveringssikringen (DWEN) er programmeret, selvom SPIEN-sikringen også er programmeret. For at genaktivere SPI-grænsefladen skal kommandoen 'disable debugWIRE' udstedes, mens du er i en debugWIRE-fejlfindingssession. Deaktivering af debugWIRE på denne måde kræver, at SPIEN-sikringen allerede er programmeret. Hvis Atmel Studio ikke kan deaktivere debugWIRE, er det sandsynligt, fordi SPIEN-sikringen IKKE er programmeret. Hvis dette er tilfældet, er det nødvendigt at bruge en høj-voltage programmeringsgrænseflade til programmering af SPIEN-sikringen.
Atmel-ICE Debugger Programmers - ikon Info:
SPI-grænsefladen omtales ofte som "ISP", da det var den første In System Programming-grænseflade på Atmel AVR-produkter. Andre grænseflader er nu tilgængelige for In System Programmering.
Tabel 4-11. Atmel-ICE SPI Pin Mapping

Atmel-ICE AVR portstifter Målstifter Mini-blækspruttestift

SPI pinout

Pin 1 (TCK) SCK 1 3
Pin 2 (GND) GND 2 6
Pin 3 (TDO) MISO 3 1
Ben 4 (VTG) VTG 4 2
Pin 5 (TMS) 5
Pin 6 (nSRST) /NULSTIL 6 5
Ben 7 (ikke forbundet) 7
Pin 8 (nTRST) 8
Pin 9 (TDI) Mosi 9 4
Pin 10 (GND) 0

4.4.5. PDI
Program and Debug Interface (PDI) er en Atmel proprietær grænseflade til ekstern programmering og on-chip debugging af en enhed. PDI Physical er et 2-bens interface, der giver en tovejs halv-dupleks synkron kommunikation med målenheden.
Når du designer et applikations-printkort, som inkluderer en Atmel AVR med PDI-grænsefladen, skal pinoutet vist i figuren nedenfor bruges. En af de 6-bens adaptere, der følger med Atmel-ICE-sættet, kan derefter bruges til at forbinde Atmel-ICE-sonden til applikations-printkortet.
Figur 4-11. PDI Header PinoutAtmel-ICE Debugger-programmører - Figur 274.4.6.Tilslutning til et PDI-mål
Den anbefalede pinout for det 6-benede PDI-stik er vist i figur 4-11.
Tilslutning til en 6-benet 100-mil PDI header
Brug den 6-benede 100-mil-hane på det flade kabel (inkluderet i nogle sæt) til at forbinde til en standard 100-mil PDI-header.
Tilslutning til en 6-benet 50-mil PDI header
Brug adapterkortet (inkluderet i nogle sæt) til at forbinde til en standard 50-mil PDI header.
Tilslutning til en brugerdefineret 100-mil header
Det 10-benede mini-blækspruttekabel skal bruges til at forbinde mellem Atmel-ICE AVR-stikporten og målkortet. Der kræves fire tilslutninger, som beskrevet i tabellen nedenfor.
Atmel-ICE Debugger-programmører - Figur 16 Vigtig:
Den nødvendige pinout er forskellig fra JTAGICE mkII JTAG sonde, hvor PDI_DATA er forbundet til pin 9. Atmel-ICE er kompatibel med pinout'et, der bruges af Atmel-ICE, JTAGICE3, AVR ONE! og AVR Dragon produkter.
Tabel 4-12. Atmel-ICE PDI Pin Mapping

Atmel-ICE AVR portstift

Målstifter Mini-blækspruttestift

Atmel STK600 PDI pinout

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

4.4.7. UPDI fysisk grænseflade
Unified Program and Debug Interface (UPDI) er en Atmels proprietære grænseflade til ekstern programmering og on-chip debugging af en enhed. Det er en efterfølger til PDI 2-leder fysiske interface, som findes på alle AVR XMEGA enheder. UPDI er en enkeltledningsgrænseflade, der giver en tovejs halv-dupleks asynkron kommunikation med målenheden med henblik på programmering og fejlretning.
Når du designer et applikations-printkort, som inkluderer en Atmel AVR med UPDI-grænsefladen, skal pinoutet vist nedenfor bruges. En af de 6-bens adaptere, der følger med Atmel-ICE-sættet, kan derefter bruges til at forbinde Atmel-ICE-sonden til applikations-printkortet.
Figur 4-12. UPDI Header PinoutAtmel-ICE Debugger-programmører - Figur 284.4.7.1 UPDI og /NULSTIL
UPDI one-wire interface kan være en dedikeret pin eller en delt pin, afhængigt af mål-AVR-enheden. Se enhedens datablad for yderligere information.
Når UPDI-grænsefladen er på en delt pin, kan pinden konfigureres til at være enten UPDI, /RESET eller GPIO ved at indstille RSTPINCFG[1:0]-sikringerne.
RSTPINCFG[1:0]-sikringerne har følgende konfigurationer, som beskrevet i databladet. De praktiske konsekvenser af hvert valg er givet her.
Tabel 4-13. RSTPINCFG[1:0] Sikringskonfiguration

RSTPINCFG[1:0] Konfiguration

Brug

00 GPIO Generel I/O-pin. For at få adgang til UPDI skal der påføres en 12V puls til denne pin. Ingen ekstern nulstillingskilde er tilgængelig.
01 UPDI Dedikeret programmerings- og debugging-pin. Ingen ekstern nulstillingskilde er tilgængelig.
10 Nulstil Nulstil signalindgang. For at få adgang til UPDI skal der påføres en 12V puls til denne pin.
11 Reserveret NA

Note:  Ældre AVR-enheder har en programmeringsgrænseflade, kendt som "High-Voltage Programmering” (der findes både serielle og parallelle varianter.) Generelt kræver denne grænseflade, at 12V tilføres /RESET-pinden under programmeringssessionens varighed. UPDI-grænsefladen er en helt anden grænseflade. UPDI-stiften er primært en programmerings- og debugging-pin, som kan fusioneres til at have en alternativ funktion (/RESET eller GPIO). Hvis den alternative funktion er valgt, kræves der en 12V-puls på denne pin for at genaktivere UPDI-funktionaliteten.
Note:  Hvis et design kræver deling af UPDI-signalet på grund af pin-begrænsninger, skal der tages skridt for at sikre, at enheden kan programmeres. For at sikre, at UPDI-signalet kan fungere korrekt, samt for at undgå beskadigelse af eksterne komponenter fra 12V-impulsen, anbefales det at afbryde eventuelle komponenter på denne pin, når du forsøger at debugge eller programmere enheden. Dette kan gøres ved hjælp af en 0Ω modstand, som er monteret som standard og fjernet eller erstattet af en pin header under fejlretning. Denne konfiguration betyder effektivt, at programmering skal udføres, før enheden monteres.
Atmel-ICE Debugger-programmører - Figur 16 Vigtig:  Atmel-ICE understøtter ikke 12V på UPDI-linjen. Med andre ord, hvis UPDI-pinden er blevet konfigureret som GPIO eller RESET, vil Atmel-ICE ikke være i stand til at aktivere UPDI-grænsefladen.
4.4.8.Tilslutning til et UPDI-mål
Den anbefalede pinout for det 6-benede UPDI-stik er vist i figur 4-12.
Tilslutning til en 6-benet 100-mil UPDI header
Brug den 6-benede 100-mil-hane på det flade kabel (inkluderet i nogle sæt) til at forbinde til en standard 100-mil UPDI-header.
Tilslutning til en 6-benet 50-mil UPDI header
Brug adapterkortet (inkluderet i nogle sæt) til at forbinde til en standard 50-mil UPDI header.
Tilslutning til en brugerdefineret 100-mil header

Det 10-benede mini-blækspruttekabel skal bruges til at forbinde mellem Atmel-ICE AVR-stikporten og målkortet. Der kræves tre tilslutninger, som beskrevet i tabellen nedenfor.
Tabel 4-14. Atmel-ICE UPDI Pin Mapping

Atmel-ICE AVR portstift Målstifter Mini-blækspruttestift

Atmel STK600 UPDI pinout

Pin 1 (TCK) 1
Pin 2 (GND) GND 2 6
Pin 3 (TDO) UPDI_DATA 3 1
Ben 4 (VTG) VTG 4 2
Pin 5 (TMS) 5
Pin 6 (nSRST) [/NULSTIL sans] 6 5
Ben 7 (Ikke forbundet) 7
Pin 8 (nTRST) 8
Pin 9 (TDI) 9
Pin 10 (GND) 0

4.4.9 TPI ​​fysisk grænseflade
TPI er en programmeringsgrænseflade til nogle AVR ATtiny-enheder. Det er ikke en fejlfindingsgrænseflade, og disse enheder har ikke OCD-kapacitet. Ved design af et applikations-printkort, som inkluderer en AVR med TPI-interface, skal pinoutet vist i figuren nedenfor bruges.

Figur 4-13. TPI Header PinoutAtmel-ICE Debugger-programmører - Figur 294.4.10.Tilslutning til et TPI-mål
Den anbefalede pinout for det 6-benede TPI-stik er vist i figur 4-13.
Tilslutning til en 6-benet 100-mil TPI header
Brug den 6-benede 100-mil-hane på det flade kabel (inkluderet i nogle sæt) til at forbinde til en standard 100-mil TPI-header.
Tilslutning til en 6-benet 50-mil TPI header
Brug adapterkortet (inkluderet i nogle sæt) til at forbinde til en standard 50-mil TPI header.
Tilslutning til en brugerdefineret 100-mil header
Det 10-benede mini-blækspruttekabel skal bruges til at forbinde mellem Atmel-ICE AVR-stikporten og målkortet. Der kræves seks tilslutninger, som beskrevet i tabellen nedenfor.
Tabel 4-15. Atmel-ICE TPI Pin Mapping

Atmel-ICE AVR portstifter Målstifter Mini-blækspruttestift

TPI pinout

Pin 1 (TCK) UR 1 3
Pin 2 (GND) GND 2 6
Pin 3 (TDO) DATA 3 1
Ben 4 (VTG) VTG 4 2
Pin 5 (TMS) 5
Pin 6 (nSRST) /NULSTIL 6 5
Ben 7 (ikke forbundet) 7
Pin 8 (nTRST) 8
Pin 9 (TDI) 9
Pin 10 (GND) 0

4.4.11. Avanceret debugging (AVR JTAG /debugWIRE-enheder)
I/O Periferiudstyr
De fleste I/O-ydre enheder vil fortsætte med at køre, selvom programafviklingen stoppes af et brudpunkt. Eksample: Hvis et brudpunkt nås under en UART-transmission, vil transmissionen blive fuldført, og tilsvarende bits indstilles. TXC-flaget (transmit complete) vil blive indstillet og være tilgængeligt på det næste trin i koden, selvom det normalt ville ske senere i en faktisk enhed.
Alle I/O-moduler vil fortsætte med at køre i stoppet tilstand med følgende to undtagelser:

  • Timer/tællere (kan konfigureres ved hjælp af softwarens frontend)
  • Watchdog Timer (altid stoppet for at forhindre nulstilling under fejlretning)

Enkelttrins I/O-adgang
Da I/O'en fortsætter med at køre i stoppet tilstand, skal man passe på at undgå visse timingproblemer. F.eksample, koden:
Når du kører denne kode normalt, vil TEMP-registret ikke læse 0xAA tilbage, fordi dataene endnu ikke ville være blevet låst fysisk til stiften, når det er sampledet af IN-operationen. En NOP-instruktion skal placeres mellem OUT- og IN-instruktionen for at sikre, at den korrekte værdi er til stede i PIN-registret.
Men når man enkelt stepper denne funktion gennem OCD'en, vil denne kode altid give 0xAA i PIN-registret, da I/O'en kører med fuld hastighed, selv når kernen er stoppet under den enkelte stepping.
Enkelttrin og timing
Visse registre skal læses eller skrives inden for et givet antal cyklusser efter aktivering af et styresignal. Da I/O-uret og de perifere enheder fortsætter med at køre med fuld hastighed i stoppet tilstand, vil et enkelt trin gennem en sådan kode ikke opfylde tidskravene. Mellem to enkelte trin kan I/O-uret have kørt millioner af cyklusser. For at kunne læse eller skrive registre med sådanne tidskrav, bør hele læse- eller skrivesekvensen udføres som en atomoperation, der kører enheden ved fuld hastighed. Dette kan gøres ved at bruge en makro eller et funktionskald til at udføre koden, eller bruge funktionen Kør til markør i fejlfindingsmiljøet
Adgang til 16-bit registre
Atmel AVR periferiudstyret indeholder typisk flere 16-bit registre, der kan tilgås via 8-bit databussen (f.eks.: TCNTn af en 16-bit timer). 16-bit registeret skal have byte adgang ved hjælp af to læse- eller skriveoperationer. At bryde midt i en 16-bit adgang eller enkelt trin gennem denne situation kan resultere i fejlagtige værdier.
Begrænset I/O-registeradgang
Visse registre kan ikke læses uden at påvirke deres indhold. Sådanne registre indbefatter dem, der indeholder flag, der slettes ved læsning, eller bufferlagrede dataregistre (f.eks.: UDR). Softwarens frontend vil forhindre læsning af disse registre, når de er i standset tilstand for at bevare den tilsigtede ikke-påtrængende karakter af OCD-fejlretning. Derudover kan nogle registre ikke sikkert skrives, uden at der opstår bivirkninger – disse registre er skrivebeskyttede. F.eksampdet:

  • Flagregistre, hvor et flag slettes ved at skrive '1' til et hvilket som helst. Disse registre er skrivebeskyttet.
  • UDR- og SPDR-registre kan ikke læses uden at påvirke modulets tilstand. Disse registre er ikke

4.4.12. megaAVR Særlige overvejelser
Software brudpunkter
Da den indeholder en tidlig version af OCD-modulet, understøtter ATmega128[A] ikke brugen af ​​BREAK-instruktionen til software-breakpoints.
JTAG ur
Målklokkefrekvensen skal angives nøjagtigt i softwarens frontend, før du starter en fejlretningssession. Af synkroniseringsmæssige årsager har JTAG TCK-signalet skal være mindre end en fjerdedel af mål-clock-frekvensen for pålidelig debugging. Ved programmering via JTAG grænseflade, er TCK-frekvensen begrænset af målenhedens maksimale frekvensklassificering og ikke den faktiske clockfrekvens, der bruges.
Når du bruger den interne RC-oscillator, skal du være opmærksom på, at frekvensen kan variere fra enhed til enhed og påvirkes af temperatur og VCC ændringer. Vær konservativ, når du angiver målklokkefrekvensen.
JTAGEN og OCDEN sikringer

Den J.TAG interface er aktiveret ved hjælp af JTAGEN sikring, som er programmeret som standard. Dette giver adgang til JTAG programmeringsgrænseflade. Gennem denne mekanisme kan OCDEN-sikringen programmeres (som standard er OCDEN uprogrammeret). Dette giver adgang til OCD'en for at lette fejlfinding af enheden. Softwarefronten vil altid sikre, at OCDEN-sikringen forbliver uprogrammeret, når en session afsluttes, og derved begrænse unødvendigt strømforbrug af OCD-modulet. Hvis JTAGEN sikring er utilsigtet deaktiveret, den kan kun genaktiveres ved hjælp af SPI eller High Voltage programmeringsmetoder.
Hvis JTAGEN sikring er programmeret, JTAG grænsefladen kan stadig deaktiveres i firmwaren ved at indstille JTD-bitten. Dette vil gøre koden un-debuggable, og bør ikke gøres, når du forsøger en debug session. Hvis en sådan kode allerede udføres på Atmel AVR-enheden, når en fejlretningssession startes, vil Atmel-ICE hævde RESET-linjen, mens der oprettes forbindelse. Hvis denne linje er forbundet korrekt, vil den tvinge mål-AVR-enheden til at nulstille, og derved tillade en JTAG forbindelse.
Hvis JTAG grænsefladen er aktiveret, JTAG stifter kan ikke bruges til alternative stiftfunktioner. De vil forblive dedikerede JTAG stifter indtil enten JTAG grænsefladen deaktiveres ved at indstille JTD-bitten fra programkoden eller ved at slette JTAGEN sikring gennem en programmeringsgrænseflade.

Atmel-ICE Debugger Programmers - ikon 1 Tip:
Sørg for at markere afkrydsningsfeltet "brug ekstern nulstilling" i både programmeringsdialogen og dialogboksen for fejlfindingsindstillinger for at tillade Atmel-ICE at hævde RESET-linjen og genaktivere JTAG interface på enheder, der kører kode, som deaktiverer JTAG grænseflade ved at indstille JTD bit.
IDR/OCDR-begivenheder
IDR (In-out Data Register) er også kendt som OCDR (On Chip Debug Register), og bruges i vid udstrækning af debuggeren til at læse og skrive information til MCU'en, når den er i standset tilstand under en debugsession. Når applikationsprogrammet i kørselstilstand skriver en byte af data til OCDR-registret på den AVR-enhed, der debugges, læser Atmel-ICE denne værdi ud og viser den i meddelelsesvinduet i softwarens frontend. OCDR-registret bliver pollet hver 50 ms, så skrivning til det med en højere frekvens vil IKKE give pålidelige resultater. Når AVR-enheden mister strøm, mens den fejlsøges, kan der rapporteres falske OCDR-hændelser. Dette sker, fordi Atmel-ICE stadig kan polle enheden som målvolumentage falder til under AVR'ens minimum driftsvolumentage.
4.4.13. AVR XMEGA Særlige overvejelser
OCD og clocking
Når MCU'en går i stoppet tilstand, bruges OCD-uret som MCU-ur. OCD-uret er enten JTAG TCK hvis JTAG grænsefladen bruges, eller PDI_CLK, hvis PDI-grænsefladen bruges.
I/O-moduler i stoppet tilstand
I modsætning til tidligere Atmel megaAVR-enheder, stoppes I/O-modulerne i XMEGA i stoptilstand. Det betyder, at USART transmissioner vil blive afbrudt, timere (og PWM) vil blive stoppet.
Hardware brudpunkter
Der er fire hardware breakpoint komparatorer – to adresse komparatorer og to værdi komparatorer. De har visse begrænsninger:

  • Alle brudpunkter skal være af samme type (program eller data)
  • Alle databrudpunkter skal være i det samme hukommelsesområde (I/O, SRAM eller XRAM)
  • Der kan kun være ét brudpunkt, hvis adresseinterval bruges

Her er de forskellige kombinationer, der kan indstilles:

  • To enkelt data- eller programadressebrudpunkter
  • Et brudpunkt for data- eller programadresseinterval
  • To enkelt dataadressebrudpunkter med en enkelt værdisammenligning
  • Et databrudpunkt med adresseinterval, værdiinterval eller begge dele

Atmel Studio vil fortælle dig, om brudpunktet ikke kan indstilles, og hvorfor. Data breakpoints har prioritet over program breakpoints, hvis software breakpoints er tilgængelige.
Ekstern nulstilling og PDI fysisk
Den fysiske PDI-grænseflade bruger nulstillingslinjen som ur. Under debugging skal nulstillingen af ​​pullup være 10k eller mere eller fjernes. Eventuelle nulstillede kondensatorer skal fjernes. Andre eksterne nulstillingskilder skal afbrydes.
Fejlretning med dvale for ATxmegaA1 rev H og tidligere
Der eksisterede en fejl på tidlige versioner af ATxmegaA1-enheder, der forhindrede OCD i at blive aktiveret, mens enheden var i visse dvaletilstande. Der er to løsninger til at genaktivere OCD:

  • Gå ind i Atmel-ICE. Indstillinger i menuen Værktøjer og aktiver "Aktiver altid ekstern nulstilling ved omprogrammering af enhed".
  • Udfør en chipsletning

Dvaletilstandene, der udløser denne fejl, er:

  • Sluk
  • Strømbesparende
  • Standby
  • Udvidet standby

4.4.1.debugWIRE Særlige overvejelser
DebugWIRE-kommunikationsstiften (dW) er fysisk placeret på den samme stift som den eksterne nulstilling (RESET). En ekstern nulstillingskilde understøttes derfor ikke, når debugWIRE-grænsefladen er aktiveret.
DebugWIRE Enable-sikringen (DWEN) skal indstilles på målenheden, for at debugWIRE-grænsefladen kan fungere. Denne sikring er som standard uprogrammeret, når Atmel AVR-enheden sendes fra fabrikken. Selve debugWIRE-grænsefladen kan ikke bruges til at indstille denne sikring. For at indstille DWEN-sikringen skal SPI-tilstanden bruges. Softwarens front-end håndterer dette automatisk, forudsat at de nødvendige SPI-ben er tilsluttet. Det kan også indstilles ved hjælp af SPI-programmering fra Atmel Studio-programmeringsdialogen.
Enten: Forsøg på at starte en debugsession på debugWIRE-delen. Hvis debugWIRE-grænsefladen ikke er aktiveret, vil Atmel Studio tilbyde at prøve igen eller forsøge at aktivere debugWIRE ved hjælp af SPI-programmering. Hvis du har den fulde SPI-header tilsluttet, vil debugWIRE blive aktiveret, og du bliver bedt om at slå strømmen til målet. Dette er nødvendigt for at sikringsændringerne kan være effektive.
Eller: Åbn programmeringsdialogen i SPI-tilstand, og bekræft, at signaturen matcher den korrekte enhed. Tjek DWEN-sikringen for at aktivere debugWIRE.
Atmel-ICE Debugger-programmører - Figur 16 Vigtig:
Det er vigtigt at lade SPIEN-sikringen være programmeret, RSTDISBL-sikringen uprogrammeret! Hvis du ikke gør dette, vil enheden blive hængende i debugWIRE-tilstand, og High VoltagDer kræves programmering for at vende tilbage til DWEN-indstillingen.
For at deaktivere debugWIRE-grænsefladen skal du bruge High Voltage programmering til at afprogrammere DWEN-sikringen. Alternativt kan du bruge selve debugWIRE-grænsefladen til midlertidigt at deaktivere sig selv, hvilket vil tillade SPI-programmering at finde sted, forudsat at SPIEN-sikringen er indstillet.
Atmel-ICE Debugger-programmører - Figur 16 Vigtig:
Hvis SPIEN-sikringen IKKE blev efterladt programmeret, vil Atmel Studio ikke være i stand til at fuldføre denne operation, og High Voltage programmering skal bruges.
Under en fejlretningssession skal du vælge menupunktet 'Deaktiver debugWIRE og luk' fra menuen 'Debug'. DebugWIRE vil blive midlertidigt deaktiveret, og Atmel Studio vil bruge SPI-programmering til at afprogrammere DWEN-sikringen.

Når DWEN-sikringen er programmeret, kan nogle dele af ursystemet køre i alle dvaletilstande. Dette vil øge AVR'ens strømforbrug, mens den er i dvaletilstand. DWEN Fuse bør derfor altid være deaktiveret, når debugWIRE ikke bruges.
Når du designer et målapplikations-PCB, hvor debugWIRE vil blive brugt, skal følgende overvejelser tages for korrekt drift:

  • Pull-up modstande på dW/(RESET) linjen må ikke være mindre (stærkere) end 10kΩ. Pull-up-modstanden er ikke nødvendig for debugWIRE-funktionalitet, da debugger-værktøjet giver
  • Enhver stabiliseringskondensator, der er forbundet til RESET-stiften, skal afbrydes, når du bruger debugWIRE, da de vil forstyrre den korrekte drift af grænsefladen
  • Alle eksterne nulstillingskilder eller andre aktive drivere på RESET-linjen skal afbrydes, da de kan forstyrre den korrekte funktion af grænsefladen

Programmer aldrig lock-bits på målenheden. DebugWIRE-grænsefladen kræver, at lock-bits ryddes for at fungere korrekt.
4.4.15. debugWIRE Software Breakpoints
DebugWIRE OCD er drastisk nedskaleret sammenlignet med Atmel megaAVR (JTAG) OCD. Dette betyder, at den ikke har nogen programtæller-breakpoint-komparatorer tilgængelige for brugeren til fejlfindingsformål. En sådan komparator eksisterer med henblik på kørsel til markør og enkelttrinsoperationer, men yderligere brugerbrudpunkter understøttes ikke i hardware.
I stedet skal debuggeren gøre brug af AVR BREAK-instruktionen. Denne instruktion kan placeres i FLASH, og når den er indlæst til udførelse, vil den få AVR CPU'en til at gå i stoppet tilstand. For at understøtte breakpoints under debugging skal debuggeren indsætte en BREAK-instruktion i FLASH på det punkt, hvor brugerne anmoder om et breakpoint. Den originale instruktion skal cachelagres til senere udskiftning.
Når der træder et enkelt skridt over en BREAK-instruktion, skal debuggeren udføre den originale cache-instruktion for at bevare programmets adfærd. I ekstreme tilfælde skal BREAK fjernes fra FLASH og udskiftes senere. Alle disse scenarier kan forårsage tilsyneladende forsinkelser ved et enkelt skridt fra brudpunkter, hvilket vil blive forværret, når målklokkefrekvensen er meget lav.
Det anbefales derfor at overholde følgende retningslinjer, hvor det er muligt:

  • Kør altid målet ved så høj en frekvens som muligt under fejlfinding. Den fysiske debugWIRE-grænseflade clockes fra måluret.
  • Prøv at minimere antallet af breakpoint tilføjelser og fjernelser, da hver enkelt kræver en FLASH side for at blive erstattet på målet
  • Prøv at tilføje eller fjerne et lille antal breakpoints ad gangen for at minimere antallet af FLASH-side skriveoperationer
  • Hvis det er muligt, undgå at placere brudpunkter på instruktioner med to ord

4.4.16. Forståelse af debugWIRE og DWEN Fuse
Når den er aktiveret, tager debugWIRE-grænsefladen kontrol over enhedens /RESET-pin, hvilket gør den gensidigt eksklusiv for SPI-grænsefladen, som også har brug for denne pin. Når du aktiverer og deaktiverer debugWIRE-modulet, skal du følge en af ​​disse to fremgangsmåder:

  • Lad Atmel Studio tage sig af tingene (anbefales)
  • Indstil og ryd DWEN manuelt (udvis forsigtighed, kun avancerede brugere!)

Atmel-ICE Debugger-programmører - Figur 16 Vigtig: Når du manipulerer DWEN manuelt, er det vigtigt, at SPIEN-sikringen forbliver indstillet for at undgå at skulle bruge High-Voltage programmering
Figur 4-14. Forståelse af debugWIRE og DWEN FuseAtmel-ICE Debugger-programmører - Figur 304.4.17.TinyX-OCD (UPDI) Særlige overvejelser
UPDI-datapinden (UPDI_DATA) kan være en dedikeret pin eller en delt pin, afhængigt af mål-AVR-enheden. En delt UPDI-pin er 12V tolerant og kan konfigureres til at blive brugt som /RESET eller GPIO. For yderligere detaljer om, hvordan du bruger stiften i disse konfigurationer, se UPDI Physical Interface.
På enheder, der inkluderer CRCSCAN-modulet (Cyclic Redundancy Check Memory Scan) bør dette modul ikke bruges i kontinuerlig baggrundstilstand under fejlretning. OCD-modulet har begrænsede hardware-breakpoint-komparatorressourcer, så BREAK-instruktioner kan indsættes i flash (software-breakpoints), når der kræves flere breakpoints, eller endda under kodetrin på kildeniveau. CRC-modulet kunne fejlagtigt registrere dette brudpunkt som en korruption af indholdet i flashhukommelsen.
CRCSCAN-modulet kan også konfigureres til at udføre en CRC-scanning før opstart. I tilfælde af en CRC-uoverensstemmelse vil enheden ikke starte og ser ud til at være i en låst tilstand. Den eneste måde at gendanne enheden fra denne tilstand er at udføre en fuld chipsletning og enten programmere et gyldigt flashbillede eller deaktivere pre-boot CRCSCAN. (En simpel chipsletning vil resultere i et tomt flash med ugyldig CRC, og delen vil derfor stadig ikke starte.) Atmel Studio vil automatisk deaktivere CRCSCAN-sikringerne, når chip sletter en enhed i denne tilstand.
Ved design af et målapplikations-printkort, hvor UPDI-grænsefladen vil blive brugt, skal følgende overvejelser tages for korrekt drift:

  • Pull-up modstande på UPDI-linjen må ikke være mindre (stærkere) end 10kΩ. En pull-down modstand bør ikke bruges, eller den skal fjernes, når der bruges UPDI. Den fysiske UPDI er push-pull-kompatibel, så kun en svag pull-up-modstand kræves for at forhindre, at falsk startbit trigger, når linjen er
  • Hvis UPDI-pinden skal bruges som RESET-pin, skal enhver stabiliseringskondensator frakobles ved brug af UPDI, da det vil forstyrre korrekt betjening af interfacet
  • Hvis UPDI pin bruges som RESET eller GPIO pin, skal alle eksterne drivere på linjen afbrydes under programmering eller fejlfinding, da de kan forstyrre den korrekte funktion af grænsefladen.

Hardwarebeskrivelse

5.1.LED'er
Atmel-ICE-toppanelet har tre LED'er, som angiver status for aktuelle fejlretnings- eller programmeringssessioner.Atmel-ICE Debugger-programmører - Figur 31

Tabel 5-1. LED'er

LED Fungere

Beskrivelse

Venstre Målstyrke GRØN, når måleffekten er OK. Blinkende indikerer en målstrømfejl. Lyser ikke, før en programmerings-/fejlretningssession-forbindelse er startet.
Midten Hovedstrøm RØD, når hovedkortets strømforsyning er OK.
Højre Status Blinker GRØNT, når målet løber/træder. OFF, når målet er stoppet.

5.2. Bagpanel
Bagpanelet på Atmel-ICE rummer Micro-B USB-stikket.Atmel-ICE Debugger-programmører - Figur 325.3. Bundpanel
Det nederste panel på Atmel-ICE har et klistermærke, som viser serienummeret og fremstillingsdatoen. Når du søger teknisk support, skal du inkludere disse detaljer.Atmel-ICE Debugger-programmører - Figur 335.4 .Arkitekturbeskrivelse
Atmel-ICE-arkitekturen er vist i blokdiagrammet i figur 5-1.
Figur 5-1. Atmel-ICE blokdiagramAtmel-ICE Debugger-programmører - Figur 345.4.1. Atmel-ICE hovedkort
Strøm leveres til Atmel-ICE fra USB-bussen, reguleret til 3.3V af en step-down switch-mode regulator. VTG-stiften bruges kun som referenceindgang, og en separat strømforsyning føder den variable voltage side af de indbyggede niveauomformere. I hjertet af Atmel-ICE-hovedkortet er Atmel AVR UC3-mikrocontrolleren AT32UC3A4256, som kører ved mellem 1MHz og 60MHz afhængigt af de opgaver, der behandles. Mikrocontrolleren inkluderer et on-chip USB 2.0 højhastighedsmodul, der tillader høj datagennemstrømning til og fra debuggeren.
Kommunikation mellem Atmel-ICE og målenheden sker gennem en bank af niveauomformere, der skifter signaler mellem målets driftsvolumentage og det indre voltage niveau på Atmel-ICE. Også i signalvejen er zener overvoltage beskyttelsesdioder, serietermineringsmodstande, induktive filtre og ESD beskyttelsesdioder. Alle signalkanaler kan betjenes i området 1.62V til 5.5V, selvom Atmel-ICE-hardwaren ikke kan drive en højere vol.tage end 5.0V. Maksimal driftsfrekvens varierer afhængigt af den anvendte målgrænseflade.
5.4.2.Atmel-ICE-målkonnektorer
Atmel-ICE har ikke en aktiv sonde. Et 50-mil IDC-kabel bruges til at forbinde til målapplikationen enten direkte eller gennem de adaptere, der er inkluderet i nogle sæt. For mere information om kabler og adaptere, se afsnittet Samling af Atmel-ICE
5.4.3. Atmel-ICE Target Connectors varenumre
For at forbinde Atmel-ICE 50-mil IDC-kablet direkte til et målkort, bør enhver standard 50-mil 10-bens header være tilstrækkelig. Det anbefales at bruge nøglehoveder for at sikre korrekt orientering, når du forbinder til målet, såsom dem, der bruges på adapterkortet, der følger med sættet.
Varenummeret for dette header er: FTSH-105-01-L-DV-KAP fra SAMTEC

Softwareintegration

6.1. Atmel Studio
6.1.1.Softwareintegration i Atmel Studio
Atmel Studio er et integreret udviklingsmiljø (IDE) til skrivning og fejlretning af Atmel AVR- og Atmel SAM-applikationer i Windows-miljøer. Atmel Studio leverer et projektstyringsværktøj, kilde file editor, simulator, assembler og front-end til C/C++, programmering, emulering og on-chip debugging.
Atmel Studio version 6.2 eller nyere skal bruges sammen med Atmel-ICE.
6.1.2. Programmeringsmuligheder
Atmel Studio understøtter programmering af Atmel AVR og Atmel SAM ARM-enheder ved hjælp af Atmel-ICE. Programmeringsdialogen kan konfigureres til at bruge JTAG, aWire, SPI, PDI, TPI, SWD-tilstande i henhold til den valgte målenhed.
Når du konfigurerer clockfrekvensen, gælder der forskellige regler for forskellige grænseflader og målfamilier:

  • SPI-programmering gør brug af måluret. Konfigurer clock-frekvensen til at være lavere end en fjerdedel af den frekvens, som målenheden kører med i øjeblikket.
  • JTAG programmering på Atmel megaAVR-enheder clockes af Det betyder, at programmeringsklokfrekvensen er begrænset til selve enhedens maksimale driftsfrekvens. (Sædvanligvis 16MHz.)
  • AVR XMEGA programmering på både JTAG og PDI-grænseflader clockes af programmøren. Dette betyder, at programmeringsklokfrekvensen er begrænset til enhedens maksimale driftsfrekvens (normalt 32MHz).
  • AVR UC3 programmering på JTAG interfacet clockes af programmøren. Det betyder, at programmeringsklokfrekvensen er begrænset til selve enhedens maksimale driftsfrekvens. (Begrænset til 33MHz.)
  • AVR UC3 programmering på aWire interface clockes af Den optimale frekvens er givet af SAB bus hastigheden i målenheden. Atmel-ICE-debuggeren vil automatisk justere aWire-baudraten for at opfylde dette kriterium. Selvom det normalt ikke er nødvendigt, kan brugeren begrænse den maksimale baudrate, hvis det er nødvendigt (f.eks. i støjende omgivelser).
  • SAM-enhedsprogrammering på SWD-grænsefladen clockes af programmøren. Den maksimale frekvens, der understøttes af Atmel-ICE, er 2MHz. Frekvensen bør ikke overstige mål-CPU-frekvensen gange 10, fSWD ≤ 10fSYSCLK.

6.1.3.Fejlfindingsindstillinger
Ved fejlretning af en Atmel AVR-enhed ved hjælp af Atmel Studio, fanen 'Værktøj' i projektegenskaberne view indeholder nogle vigtige konfigurationsmuligheder. De muligheder, der kræver yderligere forklaring, er detaljeret her.
Target Clock Frequency
Nøjagtig indstilling af målklokkefrekvensen er afgørende for at opnå pålidelig fejlfinding af Atmel megaAVR-enheden over JTAG interface. Denne indstilling bør være mindre end en fjerdedel af den laveste driftsfrekvens for din AVR-målenhed i den applikation, der fejlsøges. Se megaAVR særlige overvejelser for mere information.
Fejlfindingssessioner på debugWIRE-målenheder clockes af selve målenheden, og der kræves derfor ingen frekvensindstilling. Atmel-ICE vælger automatisk den korrekte baudrate til kommunikation ved starten af ​​en fejlretningssession. Men hvis du oplever pålidelighedsproblemer relateret til et støjende debug-miljø, giver nogle værktøjer mulighed for at tvinge debugWIRE-hastigheden til en brøkdel af dens "anbefalede" indstilling.
Fejlfindingssessioner på AVR XMEGA-målenheder kan clockes med op til selve enhedens maksimale hastighed (normalt 32MHz).
Fejlfindingssessioner på AVR UC3-målenheder over JTAG interface kan clockes ved op til selve enhedens maksimale hastighed (begrænset til 33MHz). Den optimale frekvens vil dog være lidt under det aktuelle SAB-ur på målenheden.
Fejlretningssessioner på UC3-målenheder over aWire-grænsefladen vil automatisk blive indstillet til den optimale baudrate af Atmel-ICE selv. Men hvis du oplever pålidelighedsproblemer relateret til et støjende debug-miljø, giver nogle værktøjer mulighed for at tvinge aWire-hastigheden under en konfigurerbar grænse.
Fejlretningssessioner på SAM-målenheder over SWD-grænsefladen kan clockes med op til ti gange CPU-uret (men begrænset til maks. 2MHz).
Bevar EEPROM
Vælg denne mulighed for at undgå sletning af EEPROM'en under omprogrammering af målet før en debugsession.
Brug ekstern nulstilling
Hvis din målapplikation deaktiverer JTAG interface, skal den eksterne nulstilling trækkes lavt under programmeringen. Ved at vælge denne mulighed undgår du gentagne gange at blive spurgt, om den eksterne nulstilling skal bruges.
6.2 Kommandolinjeværktøj
Atmel Studio kommer med et kommandolinjeværktøj kaldet atprogram, der kan bruges til at programmere mål ved hjælp af Atmel-ICE. Under installationen af ​​Atmel Studio en genvej kaldet "Atmel Studio 7.0. Kommandoprompt” blev oprettet i Atmel-mappen i Start-menuen. Ved at dobbeltklikke på denne genvej åbnes en kommandoprompt og programmeringskommandoer kan indtastes. Kommandolinjeværktøjet er installeret i Atmel Studio installationsstien i mappen Atmel/Atmel Studio 7.0/atbackend/.
For at få mere hjælp til kommandolinjeværktøjet, skriv kommandoen:
atprogram –hjælp

Avancerede fejlfindingsteknikker

7.1. Atmel AVR UC3-mål
7.1.1. EVTI / EVTO brug
EVTI- og EVTO-stifterne er ikke tilgængelige på Atmel-ICE. De kan dog stadig bruges sammen med andet eksternt udstyr.
EVTI kan bruges til følgende formål:

  • Målet kan tvinges til at stoppe eksekveringen som reaktion på en ekstern hændelse. Hvis Event In Control (EIC)-bittene i DC-registret skrives til 0b01, vil høj-til-lav overgang på EVTI-stiften generere en brudpunktstilstand. EVTI skal forblive lav i én CPU-clock-cyklus for at garantere, at et brudpunkt er. Den eksterne brudpunkt-bit (EXB) i DS indstilles, når dette sker.
  • Generering af sporingssynkroniseringsmeddelelser. Bruges ikke af Atmel-ICE. EVTO kan bruges til følgende formål:
  • Indikerer, at CPU'en er gået i fejlfinding. Indstilling af EOS-bittene i DC til 0b01 får EVTO-pinden til at blive trukket lavt i én CPU-urcyklus, når målenheden går i fejlretningstilstand. Dette signal kan bruges som en triggerkilde for et eksternt oscilloskop.
  • Indikerer, at CPU'en har nået et brudpunkt eller overvågningspunkt. Ved at indstille EOC-bitten i et tilsvarende Breakpoint/Watchpoint Control Register, vises breakpoint- eller watchpoint-status på EVTO-stiften. EOS-bittene i DC skal indstilles til 0xb10 for at aktivere denne funktion. EVTO-stiften kan derefter forbindes til et eksternt oscilloskop for at undersøge vagtpunktet
  • Generering af sporingstidssignaler. Bruges ikke af Atmel-ICE.

7.2 debugWIRE-mål
7.2.1.debugWIRE Software Breakpoints
DebugWIRE OCD er drastisk nedskaleret sammenlignet med Atmel megaAVR (JTAG) OCD. Dette betyder, at den ikke har nogen programtæller-breakpoint-komparatorer tilgængelige for brugeren til fejlfindingsformål. En sådan komparator eksisterer med henblik på kørsel til markør og enkelttrinsoperationer, men yderligere brugerbrudpunkter understøttes ikke i hardware.
I stedet skal debuggeren gøre brug af AVR BREAK-instruktionen. Denne instruktion kan placeres i FLASH, og når den er indlæst til udførelse, vil den få AVR CPU'en til at gå i stoppet tilstand. For at understøtte breakpoints under debugging skal debuggeren indsætte en BREAK-instruktion i FLASH på det punkt, hvor brugerne anmoder om et breakpoint. Den originale instruktion skal cachelagres til senere udskiftning.
Når der træder et enkelt skridt over en BREAK-instruktion, skal debuggeren udføre den originale cache-instruktion for at bevare programmets adfærd. I ekstreme tilfælde skal BREAK fjernes fra FLASH og udskiftes senere. Alle disse scenarier kan forårsage tilsyneladende forsinkelser ved et enkelt skridt fra brudpunkter, hvilket vil blive forværret, når målklokkefrekvensen er meget lav.
Det anbefales derfor at overholde følgende retningslinjer, hvor det er muligt:

  • Kør altid målet ved så høj en frekvens som muligt under fejlfinding. Den fysiske debugWIRE-grænseflade clockes fra måluret.
  • Prøv at minimere antallet af breakpoint tilføjelser og fjernelser, da hver enkelt kræver en FLASH side for at blive erstattet på målet
  • Prøv at tilføje eller fjerne et lille antal breakpoints ad gangen for at minimere antallet af FLASH-side skriveoperationer
  • Hvis det er muligt, undgå at placere brudpunkter på instruktioner med to ord

Udgivelseshistorik og kendte problemer

8.1 .Firmwarefrigivelseshistorik
Tabel 8-1. Offentlige firmware-revisioner

Firmwareversion (decimal) Dato

Relevante ændringer

1.36 29.09.2016 Tilføjet understøttelse af UPDI-grænseflade (tinyX-enheder)
Gjorde konfigurerbar USB-endepunktstørrelse
1.28 27.05.2015 Tilføjet understøttelse af SPI- og USART DGI-grænseflader.
Forbedret SWD-hastighed. Mindre fejlrettelser.
1.22 03.10.2014 Tilføjet kodeprofilering.
Rettet problem relateret til JTAG daisy chains med mere end 64 instruktionsbits.
Rette til ARM-nulstillingsudvidelse. Fixed target power led problem.
1.13 08.04.2014 JTAG clock frekvens fix.
Rette til debugWIRE med lang SUT.
Fast oscillator kalibreringskommando.
1.09 12.02.2014 Første udgivelse af Atmel-ICE.

8.2 .Kendte problemer vedrørende Atmel-ICE
8.2.1.Generelt

  • De første Atmel-ICE batches havde en svag USB En ny revision er blevet lavet med et nyt og mere robust USB stik. Som en midlertidig løsning er der påført epoxylim på de allerede producerede enheder af den første version for at forbedre den mekaniske stabilitet.

8.2.2. Atmel AVR XMEGA OCD-specifikke problemer

  • For ATxmegaA1-familien understøttes kun revision G eller nyere

8.2.1. Atmel AVR – Enhedsspecifikke problemer

  • Aktivering af strøm på ATmega32U6 under en debugsession kan forårsage tab af kontakt med enheden

Produktoverholdelse

9.1. RoHS og WEEE
Atmel-ICE og alt tilbehør er fremstillet i overensstemmelse med både RoHS-direktivet (2002/95/EC) og WEEE-direktivet (2002/96/EC).
9.2. CE og FCC
Atmel-ICE-enheden er blevet testet i overensstemmelse med de væsentlige krav og andre relevante bestemmelser i direktiverne:

  • Direktiv 2004/108/EF (klasse B)
  • FCC del 15 subpart B
  • 2002/95/EF (RoHS, WEEE)

Følgende standarder bruges til evaluering:

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

Det tekniske byggeri File er placeret på:
Der er gjort alt for at minimere elektromagnetisk emission fra dette produkt. Men under visse forhold kan systemet (dette produkt tilsluttet et målapplikationskredsløb) udsende individuelle elektromagnetiske komponentfrekvenser, som overstiger de maksimale værdier, der er tilladt af de ovennævnte standarder. Frekvensen og størrelsen af ​​emissionerne vil blive bestemt af flere faktorer, herunder layout og routing af den målapplikation, som produktet bruges sammen med.

Revisionshistorie

Dok. Rev.

Dato

Kommentarer

42330C 10/2016 Tilføjet UPDI-grænseflade og opdateret Firmware Release History
42330B 03/2016 • Revideret On-Chip Debugging kapitel
• Ny formatering af firmwareudgivelseshistorik i kapitlet Udgivelseshistorik og kendte problemer
• Tilføjet debug kabel pinout
42330A 06/2014 Indledende dokumentudgivelse

Atmel®, Atmel-logo og kombinationer deraf, muliggør ubegrænsede muligheder®, AVR®, megaAVR®, STK®, lille AVR®, XMEGA®, og andre er registrerede varemærker eller varemærker tilhørende Atmel Corporation i USA og andre lande. ARM®, ARM tilsluttet® logo, Cortex®, og andre er registrerede varemærker eller varemærker tilhørende ARM Ltd. Windows® er et registreret varemærke tilhørende Microsoft Corporation i USA og eller andre lande. Andre termer og produktnavne kan være varemærker tilhørende andre.
ANSVARSFRASKRIVELSE: Oplysningerne i dette dokument er givet i forbindelse med Atmel-produkter. Ingen licens, hverken udtrykkelig eller underforstået, ved estoppel eller på anden måde, til nogen intellektuel ejendomsret er givet af dette dokument eller i forbindelse med salg af Atmel-produkter. UNDTAGET SOM ANGIVET I ATMEL VILKÅR OG SALGSBETINGELSER, DER ER PLACERET PÅ ATMEL WEBWEBSTED, ATMEL PÅTAGER SIG INTET ANSVAR OG FRASKRIVER SIG ENHVER UDTRYKKELIG, UNDERFORSTÅET ELLER LOVBETLIG GARANTI I FORBINDELSE MED DETS PRODUKTER, INKLUSIVE, MEN IKKE BEGRÆNSET TIL, DEN UNDERFORSTÅEDE GARANTI FOR SALGBARHED, EGNETHED, EGNETHED IKKE-KRÆNKELSE. ATMEL KAN UNDER INGEN OMSTÆNDIGHEDER VÆRE ANSVARLIG FOR NOGEN DIREKTE, INDIREKTE, FØLGESKADER, STRAF, SÆRLIGE ELLER TILFÆLDIGE SKADER (HERunder, UDEN BEGRÆNSNING, SKADER FOR TAB OG FORTJENESTE, VIRKSOMHEDSAFBRYDELSE ELLER TAB AF BRUG) FOR AT BRUGE DETTE DOKUMENT, SELVOM ATMEL ER BLEVET RÅDET
AF MULIGHEDEN FOR SÅDANNE SKADER. Atmel giver ingen erklæringer eller garantier med hensyn til nøjagtigheden eller fuldstændigheden af ​​indholdet af dette dokument og forbeholder sig retten til at foretage ændringer i specifikationer og produktbeskrivelser til enhver tid uden varsel. Atmel forpligter sig ikke til at opdatere oplysningerne heri. Medmindre andet specifikt er angivet, er Atmel-produkter ikke egnede til og må ikke bruges i bilapplikationer. Atmels produkter er ikke beregnet til, godkendt eller garanteret til brug som komponenter i applikationer, der er beregnet til at understøtte eller opretholde liv.
ANSVARSFRASKRIVELSE AF SIKKERHEDSKRITISKE, MILITÆRE OG AUTOMOTIVE APPLIKATIONER: Atmel-produkter er ikke designet til og vil ikke blive brugt i forbindelse med applikationer, hvor fejl i sådanne produkter med rimelighed forventes at resultere i betydelig personskade eller død (“Sikkerhedskritisk Ansøgninger”) uden en Atmel-medarbejders specifikke skriftlige samtykke. Sikkerhedskritiske applikationer omfatter, uden begrænsning, livsunderstøttende anordninger og systemer, udstyr eller systemer til drift af nukleare anlæg og våbensystemer. Atmel-produkter er ikke designet eller beregnet til brug i militær- eller rumfartsapplikationer eller miljøer, medmindre det specifikt er udpeget af Atmel som militærkvalitet. Atmel-produkter er ikke designet eller beregnet til brug i bilindustrien, medmindre det specifikt er udpeget af Atmel som automotive-grade.

Atmel logoAtmel 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_Brugervejledning-10/2016
Atmel-ICE Debugger Programmers - ikon 2

Dokumenter/ressourcer

Atmel Atmel-ICE Debugger-programmørerne [pdfBrugervejledning
Atmel-ICE Debugger programmører, Atmel-ICE, Debugger programmører, programmører

Referencer

Efterlad en kommentar

Din e-mailadresse vil ikke blive offentliggjort. Påkrævede felter er markeret *