ICE Debugger-programmerere
Brukerveiledning Programmerere og debuggere
Atmel-ICE
BRUKERVEILEDNING
Atmel-ICE Debugger
Atmel-ICE er et kraftig utviklingsverktøy for feilsøking og programmering av ARM® Cortex®-M-baserte Atmel ®SAM- og Atmel AVR-mikrokontrollere med ® On-Chip Debug-evne.
Den støtter:
- Programmering og on-chip debugging av alle Atmel AVR 32-bits mikrokontrollere på både JTAG og aWire-grensesnitt
- Programmering og on-chip feilsøking av alle Atmel AVR XMEGA®-familieenheter på både JTAG og PDI 2-leder grensesnitt
- Programmering (JTAG, SPI, UPDI) og feilsøking av alle Atmel AVR 8-bits mikrokontrollere med OCD-støtte på enten JTAG, debugWIRE eller UPDI-grensesnitt
- Programmering og feilsøking av alle Atmel SAM ARM Cortex-M-baserte mikrokontrollere på både SWD og JTAG grensesnitt
- Programmering (TPI) av alle Atmel tinyAVR® 8-bits mikrokontrollere med støtte for dette grensesnittet
Se listen over støttede enheter i Atmel Studio User Guide for en fullstendig liste over enheter og grensesnitt som støttes av denne fastvareversjonen.
Introduksjon
1.1. Introduksjon til Atmel-ICE
Atmel-ICE er et kraftig utviklingsverktøy for feilsøking og programmering av ARM Cortex-M-baserte Atmel SAM- og Atmel AVR-mikrokontrollere med On-Chip Debug-evne.
Den støtter:
- Programmering og on-chip debugging av alle Atmel AVR UC3 mikrokontrollere på både JTAG og aWire-grensesnitt
- Programmering og on-chip feilsøking av alle AVR XMEGA-familieenheter på både JTAG og PDI 2-leder-grensesnitt
- Programmering (JTAG og SPI) og feilsøking av alle AVR 8-bits mikrokontrollere med OCD-støtte på både JTAG eller debugWIRE-grensesnitt
- Programmering og feilsøking av alle Atmel SAM ARM Cortex-M-baserte mikrokontrollere på både SWD og JTAG grensesnitt
- Programmering (TPI) av alle Atmel tinyAVR 8-bits mikrokontrollere med støtte for dette grensesnittet
1.2. Atmel-ICE-funksjoner
- Fullt kompatibel med Atmel Studio
- Støtter programmering og feilsøking av alle Atmel AVR UC3 32-bits mikrokontrollere
- Støtter programmering og feilsøking av alle 8-bits AVR XMEGA-enheter
- Støtter programmering og feilsøking av alle 8-bit Atmel megaAVR® og tinyAVR enheter med OCD
- Støtter programmering og feilsøking av alle SAM ARM Cortex-M-baserte mikrokontrollere
- Måldrift voltage rekkevidde fra 1.62V til 5.5V
- Trekker mindre enn 3mA fra mål-VTref ved bruk av debugWIRE-grensesnitt og mindre enn 1mA for alle andre grensesnitt
- Støtter JTAG klokkefrekvenser fra 32kHz til 7.5MHz
- Støtter PDI-klokkefrekvenser fra 32kHz til 7.5MHz
- Støtter debugWIRE-baudhastigheter fra 4kbit/s til 0.5Mbit/s
- Støtter aWire-overføringshastigheter fra 7.5 kbit/s til 7 Mbit/s
- Støtter SPI-klokkefrekvenser fra 8kHz til 5MHz
- Støtter UPDI-baudhastigheter fra opptil 750 kbit/s
- Støtter SWD-klokkefrekvenser fra 32kHz til 10MHz
- USB 2.0 høyhastighets vertsgrensesnitt
- ITM seriell sporing på opptil 3MB/s
- Støtter DGI SPI- og USART-grensesnitt når de ikke feilsøker eller programmerer
- Støtter 10-pin 50-mil JTAG kontakt med både AVR og Cortex pinouts. Standard sondekabelen støtter AVR 6-pin ISP/PDI/TPI 100-mil header samt 10-pin 50-mil. En adapter er tilgjengelig for å støtte 6-pinners 50-mil, 10-pin 100-mil og 20-pin 100-mil header. Flere settalternativer er tilgjengelige med forskjellige kabler og adaptere.
1.3. Systemkrav
Atmel-ICE-enheten krever at et front-end-feilsøkingsmiljø Atmel Studio versjon 6.2 eller nyere er installert på datamaskinen din.
Atmel-ICE bør kobles til vertsdatamaskinen ved hjelp av USB-kabelen som følger med, eller en sertifisert Micro-USB-kabel.
Komme i gang med Atmel-ICE
2.1. Fullt sett innhold
Atmel-ICE-settet inneholder disse elementene:
- Atmel-ICE enhet
- USB-kabel (1.8 m, høyhastighets, Micro-B)
- Adapterkort som inneholder 50-mil AVR, 100-mil AVR/SAM og 100-mil 20-pin SAM-adaptere
- IDC flatkabel med 10-pinners 50-mil-kontakt og 6-pinners 100-mil-kontakt
- 50 mil 10-pins mini blekksprutkabel med 10 x 100 mil stikkontakter
Figur 2-1. Atmel-ICE Full Kit-innhold2.2. Grunnleggende sett-innhold
Atmel-ICE grunnleggende sett inneholder disse elementene:
- Atmel-ICE enhet
- USB-kabel (1.8 m, høyhastighets, Micro-B)
- IDC flatkabel med 10-pinners 50-mil-kontakt og 6-pinners 100-mil-kontakt
Figur 2-2. Atmel-ICE Basic Kit-innhold2.3. PCBA-settinnhold
Atmel-ICE PCBA-settet inneholder disse elementene:
- Atmel-ICE-enhet uten plastinnkapsling
Figur 2-3. Atmel-ICE PCBA-settinnhold2.4. Reservedelssett
Følgende reservedelssett er tilgjengelige:
- Adaptersett
- Kabelsett
Figur 2-4. Atmel-ICE Adapter Kit Innhold2.5. Sett overview
Atmel-ICE-settalternativene vises skjematisk her:
Figur 2-6. Atmel-ICE-sett overview2.6. Montering av Atmel-ICE
Atmel-ICE-enheten leveres uten kabler. To kabelalternativer er inkludert i det komplette settet:
- 50-mil 10-pin IDC-flatkabel med 6-pinners ISP og 10-pinners kontakter
- 50-mil 10-pins mini-blekksprutkabel med 10 x 100-mil stikkontakter
Figur 2-7. Atmel-ICE kablerFor de fleste formål kan 50-mil 10-pin IDC-flatkabelen brukes, enten naturlig koblet til dens 10-pinners eller 6-pinners kontakter, eller koblet til via adapterkortet. Tre adaptere følger med på en liten PCBA. Følgende adaptere er inkludert:
- 100-mil 10-pin JTAG/SWD-adapter
- 100-mil 20-pin SAM JTAG/SWD-adapter
- 50-mil 6-pins SPI/debugWIRE/PDI/aWire-adapter
Figur 2-8. Atmel-ICE-adaptereNote:
En 50-mil JTAG adapter er ikke levert – dette er fordi 50-mil 10-pin IDC-kabelen kan brukes til å koble direkte til en 50-mil JTAG Overskrift. For delenummeret til komponenten som brukes for 50-mil 10-pinners kontakt, se Atmel-ICE Target Connectors Part Numbers.
Den 6-pinners ISP/PDI-headeren er inkludert som en del av den 10-pinners IDC-kabelen. Denne oppsigelsen kan kuttes hvis det ikke er nødvendig.
For å sette sammen Atmel-ICE til standardkonfigurasjonen, koble den 10-pinners 50-mil IDC-kabelen til enheten som vist nedenfor. Pass på å orientere kabelen slik at den røde ledningen (pinne 1) på kabelen er på linje med den trekantede indikatoren på det blå beltet på kabinettet. Kabelen skal kobles oppover fra enheten. Pass på å koble til porten som tilsvarer pinouten til målet ditt – AVR eller SAM.
Figur 2-9. Atmel-ICE kabeltilkoblingFigur 2-10. Atmel-ICE AVR sondetilkobling
Figur 2-11. Atmel-ICE SAM sondetilkobling
2.7. Åpning av Atmel-ICE
Note:
For normal drift må Atmel-ICE-enheten ikke åpnes. Åpning av enheten skjer på eget ansvar.
Antistatiske forholdsregler bør tas.
Atmel-ICE-kabinettet består av tre separate plastkomponenter – toppdeksel, bunndeksel og blått belte – som klikkes sammen under montering. For å åpne enheten, sett inn en stor flat skrutrekker i åpningene i det blå beltet, trykk litt innover og vri forsiktig. Gjenta prosessen på de andre snapper-hullene, og toppdekselet vil sprette av.
Figur 2-12. Åpning av Atmel-ICE (1)
Figur 2-13. Åpning av Atmel-ICE (2)
Figur 2-14. Åpning av Atmel-ICE(3)
For å lukke enheten igjen, justerer du bare topp- og bunndekselet riktig, og trykker godt sammen.
2.8. Driver Atmel-ICE
Atmel-ICE drives av USB-bussen voltage. Den krever mindre enn 100mA for å fungere, og kan derfor drives gjennom en USB-hub. Strøm-LED-en vil lyse når enheten er koblet til. Når den ikke er tilkoblet i en aktiv programmerings- eller feilsøkingsøkt, vil enheten gå inn i modus for lavt strømforbruk for å bevare datamaskinens batteri. Atmel-ICE kan ikke slås av – den bør kobles fra når den ikke er i bruk.
2.9. Koble til vertsdatamaskinen
Atmel-ICE kommuniserer primært ved hjelp av et standard HID-grensesnitt, og krever ikke en spesiell driver på vertsdatamaskinen. For å bruke den avanserte Data Gateway-funksjonaliteten til Atmel-ICE, sørg for å installere USB-driveren på vertsdatamaskinen. Dette gjøres automatisk når du installerer front-end-programvaren som leveres gratis av Atmel. Se www.atmel.com for mer informasjon eller for å laste ned den nyeste front-end-programvaren.
Atmel-ICE må kobles til en tilgjengelig USB-port på vertsdatamaskinen ved hjelp av USB-kabelen som følger med, eller en passende USB-sertifisert mikrokabel. Atmel-ICE inneholder en USB 2.0-kompatibel kontroller, og kan operere i både fullhastighets- og høyhastighetsmodus. For best resultat, koble Atmel-ICE direkte til en USB 2.0-kompatibel høyhastighetshub på vertsdatamaskinen ved hjelp av kabelen som følger med.
2.10. Installasjon av USB-driver
2.10.1. Windows
Når du installerer Atmel-ICE på en datamaskin som kjører Microsoft® Windows®, lastes USB-driveren inn når Atmel-ICE først kobles til.
Note:
Sørg for å installere front-end-programvarepakkene før du kobler til enheten for første gang.
Når den er installert, vil Atmel-ICE vises i enhetsbehandlingen som en "Human Interface Device".
Koble til Atmel-ICE
3.1. Koble til AVR- og SAM-målenheter
Atmel-ICE er utstyrt med to 50-mil 10-pin JTAG koblinger. Begge kontaktene er direkte elektrisk tilkoblet, men samsvarer med to forskjellige pinouter; AVR JTAG header og ARM Cortex Debug header. Koblingen bør velges basert på pinouten til målkortet, og ikke mål-MCU-typen – for eksempelampen SAM-enhet montert i en AVR STK® 600-stabel skal bruke AVR-headeren.
Ulike kabler og adaptere er tilgjengelige i de forskjellige Atmel-ICE-settene. En overview tilkoblingsalternativer vises.
Figur 3-1. Atmel-ICE tilkoblingsalternativerDen røde ledningen markerer pinne 1 på 10-pinners 50-mil-kontakten. Pinne 1 på den 6-pinners 100-mil-kontakten er plassert til høyre for nøkkelen når kontakten sees fra kabelen. Pinne 1 på hver kontakt på adapteren er merket med en hvit prikk. Figuren nedenfor viser pinouten til feilsøkingskabelen. Kontakten merket A kobles til feilsøkeren mens B-siden kobles til målkortet.
Figur 3-2. Feilsøk kabel pinout
3.2. Koble til en JTAG Mål
Atmel-ICE er utstyrt med to 50-mil 10-pin JTAG koblinger. Begge kontaktene er direkte elektrisk tilkoblet, men samsvarer med to forskjellige pinouter; AVR JTAG header og ARM Cortex Debug header. Koblingen bør velges basert på pinouten til målkortet, og ikke mål-MCU-typen – for eksempelampen SAM-enhet montert i en AVR STK600-stabel bør bruke AVR-headeren.
Anbefalt pinout for 10-pin AVR JTAG kontakten er vist i figur 4-6. Anbefalt pinout for 10-pinners ARM Cortex Debug-kontakt er vist i figur 4-2.
Direkte tilkobling til en standard 10-pinners 50-mil header
Bruk 50-mil 10-pins flatkabel (inkludert i noen sett) for å koble direkte til et kort som støtter denne header-typen. Bruk AVR-kontaktporten på Atmel-ICE for headere med AVR-pinout, og SAM-kontaktporten for headere som samsvarer med ARM Cortex Debug-header-pinout.
Pinoutene for begge 10-pinners kontaktportene er vist nedenfor.
Tilkobling til en standard 10-pinners 100-mil header
Bruk en standard 50-mil til 100-mil-adapter for å koble til 100-mil-overskrifter. Et adapterkort (inkludert i noen sett) kan brukes til dette formålet, eller alternativt JTAGICE3-adapter kan brukes til AVR-mål.
Viktig:
JTAGICE3 100-mil-adapter kan ikke brukes med SAM-kontaktporten, siden pinnene 2 og 10 (AVR GND) på adapteren er koblet til.
Tilkobling til en tilpasset 100-mil header
Hvis målkortet ditt ikke har en kompatibel 10-pinners JTAG header i 50- eller 100-mil, kan du kartlegge til en tilpasset pinout ved å bruke 10-pinners "mini-squid"-kabelen (inkludert i noen sett), som gir tilgang til ti individuelle 100-mil-kontakter.
Tilkobling til en 20-pinners 100-mil header
Bruk adapterkortet (inkludert i noen sett) for å koble til mål med en 20-pinners 100-mil header.
Tabell 3-1. Atmel-ICE JTAG Pin Beskrivelse
Navn | AVR portstift | SAM portstift | Beskrivelse |
TCK | 1 | 4 | Testklokke (klokkesignal fra Atmel-ICE til målenheten). |
TMS | 5 | 2 | Testmodusvalg (kontrollsignal fra Atmel-ICE til målenheten). |
TDI | 9 | 8 | Test Data In (data overført fra Atmel-ICE til målenheten). |
TDO | 3 | 6 | Test Data Out (data overføres fra målenheten til Atmel-ICE). |
nTRST | 8 | – | Test Reset (valgfritt, kun på enkelte AVR-enheter). Brukes til å tilbakestille JTAG TAP-kontroller. |
nSRST | 6 | 10 | Tilbakestill (valgfritt). Brukes til å tilbakestille målenheten. Det anbefales å koble til denne pinnen siden den lar Atmel-ICE holde målenheten i en tilbakestillingstilstand, noe som kan være avgjørende for feilsøking i visse scenarier. |
VTG | 4 | 1 | Mål voltage referanse. Atmel-ICE-eneamples målet voltage på denne pinnen for å drive nivåomformerne riktig. Atmel-ICE trekker mindre enn 3mA fra denne pinnen i debugWIRE-modus og mindre enn 1mA i andre moduser. |
GND | 2, 10 | 3, 5, 9 | Bakke. Alle må kobles til for å sikre at Atmel-ICE og målenheten deler samme jordreferanse. |
3.3. Koble til et aWire-mål
aWire-grensesnittet krever kun én datalinje i tillegg til VCC og GND. På målet er denne linjen nRESET-linjen, selv om feilsøkeren bruker JTAG TDO-linje som datalinje.
Anbefalt pinout for 6-pinners aWire-kontakten er vist i figur 4-8.
Tilkobling til en 6-pinners 100-mil aWire header
Bruk den 6-pinners 100 mil kranen på flatkabelen (inkludert i noen sett) for å koble til en standard 100 mil aWire header.
Tilkobling til en 6-pinners 50-mil aWire header
Bruk adapterkortet (inkludert i noen sett) for å koble til en standard 50-mil aWire header.
Tilkobling til en tilpasset 100-mil header
Den 10-pinners mini-blekksprutkabelen skal brukes til å koble mellom Atmel-ICE AVR-kontaktporten og målkortet. Tre tilkoblinger kreves, som beskrevet i tabellen nedenfor.
Tabell 3-2. Atmel-ICE aWire Pin Mapping
Atmel-ICE AVR portpinner |
Målstifter | Mini-blekksprutnål |
aWire pinout |
Pinne 1 (TCK) | 1 | ||
Pinne 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | DATA | 3 | 1 |
Pinne 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | 6 | ||
Pin 7 (ikke tilkoblet) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Pinne 10 (GND) | 0 |
3.4. Koble til et PDI-mål
Anbefalt pinout for 6-pinners PDI-kontakten er vist i figur 4-11.
Tilkobling til en 6-pinners 100-mil PDI header
Bruk den 6-pinners 100 mil kranen på flatkabelen (inkludert i noen sett) for å koble til en standard 100 mil PDI header.
Tilkobling til en 6-pinners 50-mil PDI header
Bruk adapterkortet (inkludert i noen sett) for å koble til en standard 50-mil PDI-header.
Tilkobling til en tilpasset 100-mil header
Den 10-pinners mini-blekksprutkabelen skal brukes til å koble mellom Atmel-ICE AVR-kontaktporten og målkortet. Fire tilkoblinger kreves, som beskrevet i tabellen nedenfor.
Viktig:
Pinouten som kreves er forskjellig fra JTAGICE mkII JTAG sonde, hvor PDI_DATA er koblet til pinne 9. Atmel-ICE er kompatibel med pinouten som brukes av Atmel-ICE, JTAGICE3, AVR ONE! og AVR Dragon™-produkter.
Tabell 3-3. Atmel-ICE PDI Pin Mapping
Atmel-ICE AVR portpinner | Målstifter | Mini-blekksprutnål |
aWire pinout |
Pinne 1 (TCK) | 1 | ||
Pinne 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | DATA | 3 | 1 |
Pinne 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | 6 | ||
Pin 7 (ikke tilkoblet) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Pinne 10 (GND) | 0 |
3.4 Koble til et PDI-mål
Anbefalt pinout for 6-pinners PDI-kontakten er vist i figur 4-11.
Tilkobling til en 6-pinners 100-mil PDI header
Bruk den 6-pinners 100 mil kranen på flatkabelen (inkludert i noen sett) for å koble til en standard 100 mil PDI header.
Tilkobling til en 6-pinners 50-mil PDI header
Bruk adapterkortet (inkludert i noen sett) for å koble til en standard 50-mil PDI-header.
Tilkobling til en tilpasset 100-mil header
Den 10-pinners mini-blekksprutkabelen skal brukes til å koble mellom Atmel-ICE AVR-kontaktporten og målkortet. Fire tilkoblinger kreves, som beskrevet i tabellen nedenfor.
Viktig:
Pinouten som kreves er forskjellig fra JTAGICE mkII JTAG sonde, hvor PDI_DATA er koblet til pinne 9. Atmel-ICE er kompatibel med pinouten som brukes av Atmel-ICE, JTAGICE3, AVR ONE! og AVR Dragon™ produkter.
Tabell 3-3. Atmel-ICE PDI Pin Mapping
Atmel-ICE AVR portpinne | Målstifter | Mini-blekksprutnål | Atmel STK600 PDI pinout |
Pinne 1 (TCK) | 1 | ||
Pinne 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | PDI_DATA | 3 | 1 |
Pinne 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | PDI_CLK | 6 | 5 |
Pin 7 (ikke tilkoblet) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Pinne 10 (GND) | 0 |
3.5 Koble til et UPDI-mål
Anbefalt pinout for den 6-pinners UPDI-kontakten er vist i figur 4-12.
Tilkobling til en 6-pinners 100-mil UPDI header
Bruk 6-pinners 100 mil kranen på flatkabelen (inkludert i noen sett) for å koble til en standard 100 mil UPDI header.
Tilkobling til en 6-pinners 50-mil UPDI header
Bruk adapterkortet (inkludert i noen sett) for å koble til en standard 50-mil UPDI-header.
Tilkobling til en tilpasset 100-mil header
Den 10-pinners mini-blekksprutkabelen skal brukes til å koble mellom Atmel-ICE AVR-kontaktporten og målkortet. Tre tilkoblinger kreves, som beskrevet i tabellen nedenfor.
Tabell 3-4. Atmel-ICE UPDI Pin Mapping
Atmel-ICE AVR portpinne | Målstifter | Mini-blekksprutnål |
Atmel STK600 UPDI pinout |
Pinne 1 (TCK) | 1 | ||
Pinne 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | UPDI_DATA | 3 | 1 |
Pinne 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | [/RESET sense] | 6 | 5 |
Pin 7 (ikke tilkoblet) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Pinne 10 (GND) | 0 |
3.6 Koble til et debugWIRE-mål
Anbefalt pinout for 6-pinners debugWIRE (SPI)-kontakten er vist i tabell 3-6.
Tilkobling til en 6-pinners 100-mil SPI header
Bruk den 6-pinners 100 mil kranen på flatkabelen (inkludert i noen sett) for å koble til en standard 100 mil SPI header.
Tilkobling til en 6-pinners 50-mil SPI header
Bruk adapterkortet (inkludert i noen sett) for å koble til en standard 50-mil SPI-header.
Tilkobling til en tilpasset 100-mil header
Den 10-pinners mini-blekksprutkabelen skal brukes til å koble mellom Atmel-ICE AVR-kontaktporten og målkortet. Tre tilkoblinger kreves, som beskrevet i Tabell 3-5.
Selv om debugWIRE-grensesnittet bare krever én signallinje (RESET), VCC og GND for å fungere korrekt, anbefales det å ha tilgang til hele SPI-kontakten slik at debugWIRE-grensesnittet kan aktiveres og deaktiveres ved hjelp av SPI-programmering.
Når DWEN-sikringen er aktivert, overstyres SPI-grensesnittet internt for at OCD-modulen skal ha kontroll over RESET-pinnen. DebugWIRE OCD er i stand til å deaktivere seg selv midlertidig (ved å bruke knappen på feilsøkingsfanen i egenskapsdialogen i Atmel Studio), og dermed frigjøre kontrollen over RESET-linjen. SPI-grensesnittet er da tilgjengelig igjen (bare hvis SPIEN-sikringen er programmert), slik at DWEN-sikringen kan avprogrammeres ved hjelp av SPI-grensesnittet. Hvis strømmen slås på før DWEN-sikringen er uprogrammert, vil debugWIRE-modulen igjen ta kontroll over RESET-pinnen.
Note:
Det anbefales på det sterkeste å la Atmel Studio håndtere innstilling og fjerning av DWEN-sikringen.
Det er ikke mulig å bruke debugWIRE-grensesnittet hvis låsebitene på mål-AVR-enheten er programmert. Sørg alltid for at låsebitene er ryddet før programmering av DWEN-sikringen, og still aldri inn låsebitene mens DWEN-sikringen er programmert. Hvis både debugWIRE-aktiveringssikringen (DWEN) og lockbits er satt, kan man bruke High Voltage Programmering for å gjøre en brikkesletting, og dermed fjerne låsebitene.
Når låsebitene er slettet, vil debugWIRE-grensesnittet bli aktivert på nytt. SPI-grensesnittet er kun i stand til å lese sikringer, lese signatur og utføre en brikkesletting når DWEN-sikringen er uprogrammert.
Tabell 3-5. Atmel-ICE debugWIRE Pin Mapping
Atmel-ICE AVR portpinne | Målstifter |
Mini-blekksprutnål |
Pinne 1 (TCK) | 1 | |
Pinne 2 (GND) | GND | 2 |
Pin 3 (TDO) | 3 | |
Pinne 4 (VTG) | VTG | 4 |
Pin 5 (TMS) | 5 | |
Pin 6 (nSRST) | TILBAKESTILL | 6 |
Pin 7 (ikke tilkoblet) | 7 | |
Pin 8 (nTRST) | 8 | |
Pin 9 (TDI) | 9 | |
Pinne 10 (GND) | 0 |
3.7 Koble til et SPI-mål
Den anbefalte pinouten for den 6-pinners SPI-kontakten er vist i figur 4-10.
Tilkobling til en 6-pinners 100-mil SPI header
Bruk den 6-pinners 100 mil kranen på flatkabelen (inkludert i noen sett) for å koble til en standard 100 mil SPI header.
Tilkobling til en 6-pinners 50-mil SPI header
Bruk adapterkortet (inkludert i noen sett) for å koble til en standard 50-mil SPI-header.
Tilkobling til en tilpasset 100-mil header
Den 10-pinners mini-blekksprutkabelen skal brukes til å koble mellom Atmel-ICE AVR-kontaktporten og målkortet. Seks tilkoblinger kreves, som beskrevet i tabellen nedenfor.
Viktig:
SPI-grensesnittet er effektivt deaktivert når debugWIRE-aktiveringssikringen (DWEN) er programmert, selv om SPIEN-sikringen også er programmert. For å reaktivere SPI-grensesnittet, må 'disable debugWIRE'-kommandoen utstedes mens du er i en debugWIRE-feilsøkingsøkt. Deaktivering av debugWIRE på denne måten krever at SPIEN-sikringen allerede er programmert. Hvis Atmel Studio ikke klarer å deaktivere debugWIRE, er det sannsynlig at SPIEN-sikringen IKKE er programmert. Hvis dette er tilfelle, er det nødvendig å bruke en høyvoltage programmeringsgrensesnitt for å programmere SPIEN-sikringen.
Info:
SPI-grensesnittet blir ofte referert til som "ISP", siden det var det første In System Programming-grensesnittet på Atmel AVR-produkter. Andre grensesnitt er nå tilgjengelige for programmering i system.
Tabell 3-6. Atmel-ICE SPI Pin Mapping
Atmel-ICE AVR portpinner | Målstifter | Mini-blekksprutnål |
SPI pinout |
Pinne 1 (TCK) | SCK | 1 | 3 |
Pinne 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | MISO | 3 | 1 |
Pinne 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | / NULLSTILLE | 6 | 5 |
Pin 7 (ikke tilkoblet) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | DAWDLE | 9 | 4 |
Pinne 10 (GND) | 0 |
3.8 Koble til et TPI-mål
Den anbefalte pinouten for den 6-pinners TPI-kontakten er vist i figur 4-13.
Tilkobling til en 6-pinners 100-mil TPI header
Bruk den 6-pinners 100-mil-kranen på flatkabelen (inkludert i noen sett) for å koble til en standard 100-mil TPI-header.
Tilkobling til en 6-pinners 50-mil TPI header
Bruk adapterkortet (inkludert i noen sett) for å koble til en standard 50-mil TPI-header.
Tilkobling til en tilpasset 100-mil header
Den 10-pinners mini-blekksprutkabelen skal brukes til å koble mellom Atmel-ICE AVR-kontaktporten og målkortet. Seks tilkoblinger kreves, som beskrevet i tabellen nedenfor.
Tabell 3-7. Atmel-ICE TPI Pin Mapping
Atmel-ICE AVR portpinner | Målstifter | Mini-blekksprutnål |
TPI pinout |
Pinne 1 (TCK) | KLOKKE | 1 | 3 |
Pinne 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | DATA | 3 | 1 |
Pinne 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 |
Pin 6 (nSRST) | / NULLSTILLE | 6 | 5 |
Pin 7 (ikke tilkoblet) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Pinne 10 (GND) | 0 |
3.9 Koble til et SWD-mål
ARM SWD-grensesnittet er en undergruppe av JTAG grensesnitt, ved å bruke TCK- og TMS-pinnene, noe som betyr at når du kobler til en SWD-enhet, vil 10-pinners JTAG kobling kan teknisk brukes. ARM JTAG og AVR JTAG koblinger er imidlertid ikke pin-kompatible, så dette avhenger av utformingen av målkortet som er i bruk. Når du bruker en STK600 eller et brett som bruker AVR JTAG pinout, må AVR-kontaktporten på Atmel-ICE brukes. Når du kobler til et kort, som gjør bruk av ARM JTAG pinout, må SAM-kontaktporten på Atmel-ICE brukes.
Den anbefalte pinouten for 10-pinners Cortex Debug-kontakten er vist i figur 4-4.
Tilkobling til en 10-pinners 50-mil Cortex header
Bruk flatkabelen (inkludert i noen sett) for å koble til en standard 50-mil Cortex-header.
Tilkobling til en 10-pinners 100-mil Cortex-layout header
Bruk adapterkortet (inkludert i noen sett) for å koble til en 100-mil Cortex-pinout-header.
Tilkobling til en 20-pinners 100-mil SAM header
Bruk adapterkortet (inkludert i noen sett) for å koble til en 20-pinners 100-mil SAM-header.
Tilkobling til en tilpasset 100-mil header
Den 10-pinners mini-blekksprutkabelen skal brukes til å koble mellom Atmel-ICE AVR- eller SAM-kontaktporten og målkortet. Seks tilkoblinger kreves, som beskrevet i tabellen nedenfor.
Tabell 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 | Seriell ledningsutgang (valgfritt - ikke implementert på alle enheter). |
nSRST | 6 | 10 | Tilbakestill. |
VTG | 4 | 1 | Mål voltage referanse. |
GND | 2, 10 | 3, 5, 9 | Bakke. |
3.10 Koble til datagateway-grensesnitt
Atmel-ICE støtter et begrenset Data Gateway Interface (DGI) når feilsøking og programmering ikke er i bruk. Funksjonaliteten er identisk med den som finnes på Atmel Xplained Pro-sett drevet av Atmel EDBG-enheten.
Data Gateway-grensesnittet er et grensesnitt for strømming av data fra målenheten til en datamaskin. Dette er ment som et hjelpemiddel i applikasjonsfeilsøking så vel som for demonstrasjon av funksjoner i applikasjonen som kjører på målenheten.
DGI består av flere kanaler for datastrømming. Atmel-ICE støtter følgende moduser:
- USART
- SPI
Tabell 3-9. Atmel-ICE DGI USART Pinout
AVR-port |
SAM-port | DGI USART pin |
Beskrivelse |
3 | 6 | TX | Overfør pinne fra Atmel-ICE til målenheten |
4 | 1 | VTG | Mål voltage (referanse voltage) |
8 | 7 | RX | Motta pin fra målenheten til Atmel-ICE |
9 | 8 | CLK | USART klokke |
2, 10 | 3, 5, 9 | GND | Bakke |
Tabell 3-10. Atmel-ICE DGI SPI Pinout
AVR-port |
SAM-port | DGI SPI pinne |
Beskrivelse |
1 | 4 | SCK | SPI klokke |
3 | 6 | MISO | Master In Slave Out |
4 | 1 | VTG | Mål voltage (referanse voltage) |
5 | 2 | nCS | Chip select aktiv lav |
9 | 8 | DAWDLE | Master Out Slave In |
2, 10 | 3, 5, 9 | GND | Bakke |
Viktig: SPI- og USART-grensesnitt kan ikke brukes samtidig.
Viktig: DGI og programmering eller feilsøking kan ikke brukes samtidig.
On-chip debugging
4.1 Introduksjon
On-chip debugging
En on-chip debug-modul er et system som lar en utvikler overvåke og kontrollere utførelse på en enhet fra en ekstern utviklingsplattform, vanligvis gjennom en enhet kjent som en debugger eller debug-adapter.
Med et OCD-system kan applikasjonen kjøres mens den opprettholder eksakte elektriske og timing-karakteristikker i målsystemet, samtidig som man kan stoppe kjøringen betinget eller manuelt og inspisere programflyt og minne.
Kjør-modus
Når du er i Kjør-modus, er utførelse av kode helt uavhengig av Atmel-ICE. Atmel-ICE vil kontinuerlig overvåke målenheten for å se om det har oppstått en bruddtilstand. Når dette skjer, vil OCD-systemet spørre enheten gjennom feilsøkingsgrensesnittet, slik at brukeren kan view den interne tilstanden til enheten.
Stoppet modus
Når et bruddpunkt er nådd, stoppes programkjøringen, men noen I/O kan fortsette å kjøre som om det ikke hadde oppstått noe bruddpunkt. For eksample, anta at en USART-sending nettopp har blitt startet når et bruddpunkt er nådd. I dette tilfellet fortsetter USART å kjøre i full hastighet og fullfører overføringen, selv om kjernen er i stoppet modus.
Maskinvarebruddpunkter
Mål-OCD-modulen inneholder et antall programtellerkomparatorer implementert i maskinvaren. Når programtelleren samsvarer med verdien som er lagret i et av komparatorregistrene, går OCD-en inn i stoppet modus. Siden maskinvarebruddpunkter krever dedikert maskinvare på OCD-modulen, avhenger antall tilgjengelige bruddpunkter av størrelsen på OCD-modulen implementert på målet. Vanligvis er en slik maskinvarekomparator 'reservert' av feilsøkeren for intern bruk.
Programvarebruddpunkter
Et programvarebruddpunkt er en BREAK-instruksjon plassert i programminnet på målenheten. Når denne instruksjonen er lastet, vil programkjøringen bryte og OCD-en går inn i stoppet modus. For å fortsette kjøringen må en "start"-kommando gis fra OCD. Ikke alle Atmel-enheter har OCD-moduler som støtter BREAK-instruksjonen.
4.2 SAM-enheter med JTAG/SWD
Alle SAM-enheter har SWD-grensesnittet for programmering og feilsøking. I tillegg har noen SAM-enheter en JTAG grensesnitt med identisk funksjonalitet. Sjekk enhetsdataarket for støttede grensesnitt for den enheten.
4.2.1.ARM CoreSight-komponenter
Atmel ARM Cortex-M-baserte mikrokontrollere implementerer CoreSight-kompatible OCD-komponenter. Funksjonene til disse komponentene kan variere fra enhet til enhet. For ytterligere informasjon se enhetens datablad samt CoreSight-dokumentasjon levert av ARM.
4.2.1. JTAG Fysisk grensesnitt
JTAG grensesnittet består av en 4-leder Test Access Port (TAP) kontroller som er kompatibel med IEEE® 1149.1 standard. IEEE-standarden ble utviklet for å gi en bransjestandard måte å effektivt teste kretskorttilkobling (Boundary Scan). Atmel AVR- og SAM-enheter har utvidet denne funksjonaliteten til å inkludere full programmering og On-chip Debugging-støtte.
Figur 4-1. JTAG Grunnleggende om grensesnitt
4.2.2.1 SAM JTAG Pinout (Cortex-M feilsøkingskobling)
Når du designer en applikasjons-PCB som inkluderer en Atmel SAM med JTAG grensesnitt, anbefales det å bruke pinout som vist i figuren nedenfor. Både 100-mil og 50-mil-varianter av denne pinouten støttes, avhengig av kabling og adaptere som følger med det bestemte settet.
Figur 4-2. SAM JTAG Header Pinout
Tabell 4-1. SAM JTAG Pin Beskrivelse
Navn | Pin |
Beskrivelse |
TCK | 4 | Testklokke (klokkesignal fra Atmel-ICE til målenheten). |
TMS | 2 | Testmodusvalg (kontrollsignal fra Atmel-ICE til målenheten). |
TDI | 8 | Test Data In (data overført fra Atmel-ICE til målenheten). |
TDO | 6 | Test Data Out (data overføres fra målenheten til Atmel-ICE). |
nNULLSTILL | 10 | Tilbakestill (valgfritt). Brukes til å tilbakestille målenheten. Det anbefales å koble til denne pinnen siden den lar Atmel-ICE holde målenheten i en tilbakestillingstilstand, noe som kan være avgjørende for feilsøking i visse scenarier. |
VTG | 1 | Mål voltage referanse. Atmel-ICE-eneamples målet voltage på denne pinnen for å drive nivåomformerne riktig. Atmel-ICE trekker mindre enn 1mA fra denne pinnen i denne modusen. |
GND | 3, 5, 9 | Bakke. Alle må kobles til for å sikre at Atmel-ICE og målenheten deler samme jordreferanse. |
NØKKEL | 7 | Kobles internt til TRST-pinnen på AVR-kontakten. Anbefalt som ikke tilkoblet. |
Tupp: Husk å inkludere en avkoblingskondensator mellom pinne 1 og GND.
4.2.2.2 JTAG Daisy Kjeding
JTAG grensesnittet gjør at flere enheter kan kobles til et enkelt grensesnitt i en seriekoblingskonfigurasjon. Målenhetene må alle drives av samme forsyningsvoltage, deler en felles jordingsnode, og må kobles til som vist i figuren under.
Figur 4-3. JTAG Daisy Chain
Når du kobler til enheter i en seriekobling, må følgende punkter tas i betraktning:
- Alle enheter må dele en felles jord, koblet til GND på Atmel-ICE-sonden
- Alle enheter må operere på samme målvolumtage. VTG på Atmel-ICE må kobles til denne voltage.
- TMS og TCK er koblet parallelt; TDI og TDO kobles sammen i en serie
- nSRST på Atmel-ICE-sonden må kobles til RESET på enhetene hvis noen av enhetene i kjeden deaktiverer dens JTAG havn
- "Enheter før" refererer til antallet JTAG enheter som TDI-signalet må passere gjennom i seriekjeden før de når målenheten. På samme måte er "enheter etter" antallet enheter som signalet må passere etter målenheten før det når Atmel-ICE TDO
- "Instruksjonsbiter "før" og "etter" refererer til den totale summen av alle JTAG enheters instruksjonsregisterlengder, som kobles sammen før og etter målenheten i seriekjeden
- Den totale IR-lengden (instruksjonsbiter før + Atmel-målenhetens IR-lengde + instruksjonsbiter etter) er begrenset til maksimalt 256 biter. Antall enheter i kjeden er begrenset til 15 før og 15 etter.
Tupp:
Daisy chaining eksample: TDI → ATmega1280 → ATxmega128A1 → ATUC3A0512 → TDO.
For å koble til Atmel AVR XMEGA® enhet, er kjedeinnstillingene:
- Enheter før: 1
- Enheter etter: 1
- Instruksjonsbiter før: 4 (8-bits AVR-enheter har 4 IR-biter)
- Instruksjonsbiter etter: 5 (32-bit AVR-enheter har 5 IR-biter)
Tabell 4-2. IR-lengder på Atmel MCU-er
Enhetstype | IR-lengde |
AVR 8-bit | 4 biter |
AVR 32-bit | 5 biter |
SAM | 4 biter |
4.2.3. Koble til en JTAG Mål
Atmel-ICE er utstyrt med to 50-mil 10-pin JTAG koblinger. Begge kontaktene er direkte elektrisk tilkoblet, men samsvarer med to forskjellige pinouter; AVR JTAG header og ARM Cortex Debug header. Koblingen bør velges basert på pinouten til målkortet, og ikke mål-MCU-typen – for eksempelampen SAM-enhet montert i en AVR STK600-stabel bør bruke AVR-headeren.
Anbefalt pinout for 10-pin AVR JTAG kontakten er vist i figur 4-6.
Anbefalt pinout for 10-pinners ARM Cortex Debug-kontakt er vist i figur 4-2.
Direkte tilkobling til en standard 10-pinners 50-mil header
Bruk 50-mil 10-pins flatkabel (inkludert i noen sett) for å koble direkte til et kort som støtter denne header-typen. Bruk AVR-kontaktporten på Atmel-ICE for headere med AVR-pinout, og SAM-kontaktporten for headere som samsvarer med ARM Cortex Debug-header-pinout.
Pinoutene for begge 10-pinners kontaktportene er vist nedenfor.
Tilkobling til en standard 10-pinners 100-mil header
Bruk en standard 50-mil til 100-mil-adapter for å koble til 100-mil-overskrifter. Et adapterkort (inkludert i noen sett) kan brukes til dette formålet, eller alternativt JTAGICE3-adapter kan brukes til AVR-mål.
Viktig:
JTAGICE3 100-mil-adapter kan ikke brukes med SAM-kontaktporten, siden pinnene 2 og 10 (AVR GND) på adapteren er koblet til.
Tilkobling til en tilpasset 100-mil header
Hvis målkortet ditt ikke har en kompatibel 10-pinners JTAG header i 50- eller 100-mil, kan du kartlegge til en tilpasset pinout ved å bruke 10-pinners "mini-squid"-kabelen (inkludert i noen sett), som gir tilgang til ti individuelle 100-mil-kontakter.
Tilkobling til en 20-pinners 100-mil header
Bruk adapterkortet (inkludert i noen sett) for å koble til mål med en 20-pinners 100-mil header.
Tabell 4-3. Atmel-ICE JTAG Pin Beskrivelse
Navn | AVR portstift | SAM portstift | Beskrivelse |
TCK | 1 | 4 | Testklokke (klokkesignal fra Atmel-ICE til målenheten). |
TMS | 5 | 2 | Testmodusvalg (kontrollsignal fra Atmel-ICE til målenheten). |
TDI | 9 | 8 | Test Data In (data overført fra Atmel-ICE til målenheten). |
TDO | 3 | 6 | Test Data Out (data overføres fra målenheten til Atmel-ICE). |
nTRST | 8 | – | Test Reset (valgfritt, kun på enkelte AVR-enheter). Brukes til å tilbakestille JTAG TAP-kontroller. |
nSRST | 6 | 10 | Tilbakestill (valgfritt). Brukes til å tilbakestille målenheten. Det anbefales å koble til denne pinnen siden den lar Atmel-ICE holde målenheten i en tilbakestillingstilstand, noe som kan være avgjørende for feilsøking i visse scenarier. |
VTG | 4 | 1 | Mål voltage referanse. Atmel-ICE-eneamples målet voltage på denne pinnen for å drive nivåomformerne riktig. Atmel-ICE trekker mindre enn 3mA fra denne pinnen i debugWIRE-modus og mindre enn 1mA i andre moduser. |
GND | 2, 10 | 3, 5, 9 | Bakke. Alle må kobles til for å sikre at Atmel-ICE og målenheten deler samme jordreferanse. |
4.2.4. SWD fysisk grensesnitt
ARM SWD-grensesnittet er en undergruppe av JTAG grensesnitt, ved å bruke TCK- og TMS-pinner. ARM JTAG og AVR JTAG kontakter er imidlertid ikke pin-kompatible, så når du designer et applikasjonskretskort, som bruker en SAM-enhet med SWD eller JTAG grensesnitt, anbefales det å bruke ARM pinout vist i figuren nedenfor. SAM-kontaktporten på Atmel-ICE kan kobles direkte til denne pinouten.
Figur 4-4. Anbefalt ARM SWD/JTAG Header Pinout
Atmel-ICE er i stand til å streame ITM-sporing i UART-format til vertsdatamaskinen. Trace fanges opp på TRACE/SWO-pinnen til 10-pinners topptekst (JTAG TDO pin). Data bufres internt på Atmel-ICE og sendes over HID-grensesnittet til vertsdatamaskinen. Maksimal pålitelig datahastighet er omtrent 3 MB/s.
4.2.5. Koble til et SWD-mål
ARM SWD-grensesnittet er en undergruppe av JTAG grensesnitt, ved å bruke TCK- og TMS-pinnene, noe som betyr at når du kobler til en SWD-enhet, vil 10-pinners JTAG kobling kan teknisk brukes. ARM JTAG og AVR JTAG koblinger er imidlertid ikke pin-kompatible, så dette avhenger av utformingen av målkortet som er i bruk. Når du bruker en STK600 eller et brett som bruker AVR JTAG pinout, må AVR-kontaktporten på Atmel-ICE brukes. Når du kobler til et kort, som gjør bruk av ARM JTAG pinout, må SAM-kontaktporten på Atmel-ICE brukes.
Den anbefalte pinouten for 10-pinners Cortex Debug-kontakten er vist i figur 4-4.
Tilkobling til en 10-pinners 50-mil Cortex header
Bruk flatkabelen (inkludert i noen sett) for å koble til en standard 50-mil Cortex-header.
Tilkobling til en 10-pinners 100-mil Cortex-layout header
Bruk adapterkortet (inkludert i noen sett) for å koble til en 100-mil Cortex-pinout-header.
Tilkobling til en 20-pinners 100-mil SAM header
Bruk adapterkortet (inkludert i noen sett) for å koble til en 20-pinners 100-mil SAM-header.
Tilkobling til en tilpasset 100-mil header
Den 10-pinners mini-blekksprutkabelen skal brukes til å koble mellom Atmel-ICE AVR- eller SAM-kontaktporten og målkortet. Seks tilkoblinger kreves, som beskrevet i tabellen nedenfor.
Tabell 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 | Seriell ledningsutgang (valgfritt - ikke implementert på alle enheter). |
nSRST | 6 | 10 | Tilbakestill. |
VTG | 4 | 1 | Mål voltage referanse. |
GND | 2, 10 | 3, 5, 9 | Bakke. |
4.2.6 Spesielle hensyn
SLETT pinne
Noen SAM-enheter inkluderer en ERASE-pin som hevdes å utføre en fullstendig chip-sletting og låse opp enheter som sikkerhetsbiten er satt på. Denne funksjonen er koblet til selve enheten så vel som blitskontrolleren og er ikke en del av ARM-kjernen.
ERASE-pinnen er IKKE en del av noen debug-header, og Atmel-ICE er dermed ikke i stand til å hevde dette signalet for å låse opp en enhet. I slike tilfeller bør brukeren utføre slettingen manuelt før du starter en feilsøkingsøkt.
Fysiske grensesnitt JTAG grensesnitt
RESET-linjen skal alltid være tilkoblet slik at Atmel-ICE kan aktivere JTAG grensesnitt.
SWD-grensesnitt
RESET-linjen skal alltid være tilkoblet slik at Atmel-ICE kan aktivere SWD-grensesnittet.
4.3 AVR UC3-enheter med JTAG/aWire
Alle AVR UC3-enheter har JTAG grensesnitt for programmering og feilsøking. I tillegg har noen AVR UC3-enheter aWire-grensesnittet med identisk funksjonalitet ved bruk av en enkelt ledning. Sjekk enhetsdataarket for støttede grensesnitt for den enheten
4.3.1 Atmel AVR UC3 On-chip feilsøkingssystem
Atmel AVR UC3 OCD-systemet er designet i samsvar med Nexus 2.0-standarden (IEEE-ISTO 5001™-2003), som er en svært fleksibel og kraftig åpen feilsøkingsstandard for 32-bits mikrokontrollere. Den støtter følgende funksjoner:
- Nexus-kompatibel feilsøkingsløsning
- OCD støtter alle CPU-hastigheter
- Seks programteller maskinvarebruddpunkter
- To databruddpunkter
- Avbruddspunkter kan konfigureres som vaktpunkter
- Maskinvarebruddpunkter kan kombineres for å gi pause på områder
- Ubegrenset antall bruddpunkter for brukerprogram (ved hjelp av BREAK)
- Sanntidsprogramtellergrensporing, datasporing, prosesssporing (støttes kun av debuggere med parallell sporfangstport)
For mer informasjon om AVR UC3 OCD-systemet, se AVR32UC Technical Reference Manuals, som ligger på www.atmel.com/uc3.
4.3.2. JTAG Fysisk grensesnitt
JTAG grensesnittet består av en 4-leder Test Access Port (TAP) kontroller som er kompatibel med IEEE® 1149.1 standard. IEEE-standarden ble utviklet for å gi en bransjestandard måte å effektivt teste kretskorttilkobling (Boundary Scan). Atmel AVR- og SAM-enheter har utvidet denne funksjonaliteten til å inkludere full programmering og On-chip Debugging-støtte.
Figur 4-5. JTAG Grunnleggende om grensesnitt
4.3.2.1 AVR JTAG Pinout
Når du designer et applikasjons-PCB, som inkluderer en Atmel AVR med JTAG grensesnitt, anbefales det å bruke pinout som vist i figuren nedenfor. Både 100-mil og 50-mil-varianter av denne pinouten støttes, avhengig av kabling og adaptere som følger med det bestemte settet.
Figur 4-6. AVR JTAG Header Pinout
Bord 4-5. AVR JTAG Pin Beskrivelse
Navn | Pin |
Beskrivelse |
TCK | 1 | Testklokke (klokkesignal fra Atmel-ICE til målenheten). |
TMS | 5 | Testmodusvalg (kontrollsignal fra Atmel-ICE til målenheten). |
TDI | 9 | Test Data In (data overført fra Atmel-ICE til målenheten). |
TDO | 3 | Test Data Out (data overføres fra målenheten til Atmel-ICE). |
nTRST | 8 | Test Reset (valgfritt, kun på enkelte AVR-enheter). Brukes til å tilbakestille JTAG TAP-kontroller. |
nSRST | 6 | Tilbakestill (valgfritt). Brukes til å tilbakestille målenheten. Det anbefales å koble til denne pinnen siden den lar Atmel-ICE holde målenheten i en tilbakestillingstilstand, noe som kan være avgjørende for feilsøking i visse scenarier. |
VTG | 4 | Mål voltage referanse. Atmel-ICE-eneamples målet voltage på denne pinnen for å drive nivåomformerne riktig. Atmel-ICE trekker mindre enn 3mA fra denne pinnen i debugWIRE-modus og mindre enn 1mA i andre moduser. |
GND | 2, 10 | Bakke. Begge må kobles til for å sikre at Atmel-ICE og målenheten deler samme jordreferanse. |
Tupp: Husk å inkludere en avkoblingskondensator mellom pinne 4 og GND.
4.3.2.2 JTAG Daisy Kjeding
JTAG grensesnittet gjør at flere enheter kan kobles til et enkelt grensesnitt i en seriekoblingskonfigurasjon. Målenhetene må alle drives av samme forsyningsvoltage, deler en felles jordingsnode, og må kobles til som vist i figuren under.
Figur 4-7. JTAG Daisy Chain
Når du kobler til enheter i en seriekobling, må følgende punkter tas i betraktning:
- Alle enheter må dele en felles jord, koblet til GND på Atmel-ICE-sonden
- Alle enheter må operere på samme målvolumtage. VTG på Atmel-ICE må kobles til denne voltage.
- TMS og TCK er koblet parallelt; TDI og TDO er koblet sammen i en seriell kjede.
- nSRST på Atmel-ICE-sonden må kobles til RESET på enhetene hvis noen av enhetene i kjeden deaktiverer dens JTAG havn
- "Enheter før" refererer til antallet JTAG enheter som TDI-signalet må passere gjennom i seriekjeden før de når målenheten. På samme måte er "enheter etter" antallet enheter som signalet må passere etter målenheten før det når Atmel-ICE TDO
- "Instruksjonsbiter "før" og "etter" refererer til den totale summen av alle JTAG enheters instruksjonsregisterlengder, som kobles sammen før og etter målenheten i seriekjeden
- Den totale IR-lengden (instruksjonsbiter før + Atmel-målenhetens IR-lengde + instruksjonsbiter etter) er begrenset til maksimalt 256 biter. Antall enheter i kjeden er begrenset til 15 før og 15 etter.
Tupp:
Daisy chaining eksample: TDI → ATmega1280 → ATxmega128A1 → ATUC3A0512 → TDO.
For å koble til Atmel AVR XMEGA® enhet, er kjedeinnstillingene:
- Enheter før: 1
- Enheter etter: 1
- Instruksjonsbiter før: 4 (8-bits AVR-enheter har 4 IR-biter)
- Instruksjonsbiter etter: 5 (32-bit AVR-enheter har 5 IR-biter)
Tabell 4-6. IR-lengder på Atmel MCUS
Enhetstype | IR-lengde |
AVR 8-bit | 4 biter |
AVR 32-bit | 5 biter |
SAM | 4 biter |
4.3.3.Koble til en JTAG Mål
Atmel-ICE er utstyrt med to 50-mil 10-pin JTAG koblinger. Begge kontaktene er direkte elektrisk tilkoblet, men samsvarer med to forskjellige pinouter; AVR JTAG header og ARM Cortex Debug header. Koblingen bør velges basert på pinouten til målkortet, og ikke mål-MCU-typen – for eksempelampen SAM-enhet montert i en AVR STK600-stabel bør bruke AVR-headeren.
Anbefalt pinout for 10-pin AVR JTAG kontakten er vist i figur 4-6.
Anbefalt pinout for 10-pinners ARM Cortex Debug-kontakt er vist i figur 4-2.
Direkte tilkobling til en standard 10-pinners 50-mil header
Bruk 50-mil 10-pins flatkabel (inkludert i noen sett) for å koble direkte til et kort som støtter denne header-typen. Bruk AVR-kontaktporten på Atmel-ICE for headere med AVR-pinout, og SAM-kontaktporten for headere som samsvarer med ARM Cortex Debug-header-pinout.
Pinoutene for begge 10-pinners kontaktportene er vist nedenfor.
Tilkobling til en standard 10-pinners 100-mil header
Bruk en standard 50-mil til 100-mil-adapter for å koble til 100-mil-overskrifter. Et adapterkort (inkludert i noen sett) kan brukes til dette formålet, eller alternativt JTAGICE3-adapter kan brukes til AVR-mål.
Viktig:
JTAGICE3 100-mil-adapter kan ikke brukes med SAM-kontaktporten, siden pinnene 2 og 10 (AVR GND) på adapteren er koblet til.
Tilkobling til en tilpasset 100-mil header
Hvis målkortet ditt ikke har en kompatibel 10-pinners JTAG header i 50- eller 100-mil, kan du kartlegge til en tilpasset pinout ved å bruke 10-pinners "mini-squid"-kabelen (inkludert i noen sett), som gir tilgang til ti individuelle 100-mil-kontakter.
Tilkobling til en 20-pinners 100-mil header
Bruk adapterkortet (inkludert i noen sett) for å koble til mål med en 20-pinners 100-mil header.
Tabell 4-7. Atmel-ICE JTAG Pin Beskrivelse
Navn |
AVR port pin | SAM port pin |
Beskrivelse |
TCK | 1 | 4 | Testklokke (klokkesignal fra Atmel-ICE til målenheten). |
TMS | 5 | 2 | Testmodusvalg (kontrollsignal fra Atmel-ICE til målenheten). |
TDI | 9 | 8 | Test Data In (data overført fra Atmel-ICE til målenheten). |
TDO | 3 | 6 | Test Data Out (data overføres fra målenheten til Atmel-ICE). |
nTRST | 8 | – | Test Reset (valgfritt, kun på enkelte AVR-enheter). Brukes til å tilbakestille JTAG TAP-kontroller. |
nSRST | 6 | 10 | Tilbakestill (valgfritt). Brukes til å tilbakestille målenheten. Det anbefales å koble til denne pinnen siden den lar Atmel-ICE holde målenheten i en tilbakestillingstilstand, noe som kan være avgjørende for feilsøking i visse scenarier. |
VTG | 4 | 1 | Mål voltage referanse. Atmel-ICE-eneamples målet voltage på denne pinnen for å drive nivåomformerne riktig. Atmel-ICE trekker mindre enn 3mA fra denne pinnen i debugWIRE-modus og mindre enn 1mA i andre moduser. |
GND | 2, 10 | 3, 5, 9 | Bakke. Alle må kobles til for å sikre at Atmel-ICE og målenheten deler samme jordreferanse. |
4.3.4 aWire fysisk grensesnitt
aWire-grensesnittet bruker RESET-ledningen til AVR-enheten for å tillate programmering og feilsøkingsfunksjoner. En spesiell aktiveringssekvens overføres av Atmel-ICE, som deaktiverer standard RESET-funksjonaliteten til pinnen. Når du designer en applikasjons-PCB, som inkluderer en Atmel AVR med aWire-grensesnittet, anbefales det å bruke pinouten som vist i figur 4 -8. Både 100-mil og 50-mil-varianter av denne pinouten støttes, avhengig av kabling og adaptere som følger med det bestemte settet.
Figur 4-8. aWire Header Pinout
Tupp:
Siden aWire er et halv-dupleks-grensesnitt, anbefales en pull-up-motstand på RESET-linjen i størrelsesorden 47kΩ for å unngå falsk start-bit-deteksjon når du endrer retning.
aWire-grensesnittet kan brukes både som programmerings- og feilsøkingsgrensesnitt. Alle funksjonene til OCD-systemet er tilgjengelige gjennom 10-pinners JTAG grensesnittet kan også nås ved hjelp av aWire.
4.3.5 Koble til et aWire-mål
aWire-grensesnittet krever bare én datalinje i tillegg til VCC og GND. På målet er denne linjen nRESET-linjen, selv om feilsøkeren bruker JTAG TDO-linje som datalinje.
Anbefalt pinout for 6-pinners aWire-kontakten er vist i figur 4-8.
Tilkobling til en 6-pinners 100-mil aWire header
Bruk den 6-pinners 100 mil kranen på flatkabelen (inkludert i noen sett) for å koble til en standard 100 mil aWire header.
Tilkobling til en 6-pinners 50-mil aWire header
Bruk adapterkortet (inkludert i noen sett) for å koble til en standard 50-mil aWire header.
Tilkobling til en tilpasset 100-mil header
Den 10-pinners mini-blekksprutkabelen skal brukes til å koble mellom Atmel-ICE AVR-kontaktporten og målkortet. Tre tilkoblinger kreves, som beskrevet i tabellen nedenfor.
Tabell 4-8. Atmel-ICE aWire Pin Mapping
Atmel-ICE AVR portpinner | Målstifter | Mini-blekksprutnål |
aWire pinout |
Pinne 1 (TCK) | 1 | ||
Pinne 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | DATA | 3 | 1 |
Pinne 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | 6 | ||
Pin 7 (ikke tilkoblet) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Pinne 10 (GND) | 0 |
4.3.6. Spesielle hensyn
JTAG grensesnitt
På noen Atmel AVR UC3-enheter er JTAG port er ikke aktivert som standard. Når du bruker disse enhetene, er det viktig å koble til RESET-linjen slik at Atmel-ICE kan aktivere JTAG grensesnitt.
aWire-grensesnitt
Baudhastigheten til aWire-kommunikasjon avhenger av frekvensen til systemklokken, siden data må synkroniseres mellom disse to domenene. Atmel-ICE vil automatisk oppdage at systemklokken har blitt senket, og re-kalibrere dens overføringshastighet tilsvarende. Den automatiske kalibreringen fungerer kun ned til en systemklokkefrekvens på 8kHz. Bytte til en lavere systemklokke under en feilsøking kan føre til at kontakten med målet går tapt.
Om nødvendig kan aWire-overføringshastigheten begrenses ved å stille inn aWire-klokkeparameteren. Automatisk deteksjon vil fortsatt fungere, men en takverdi vil bli pålagt resultatene.
Enhver stabiliseringskondensator koblet til RESET-pinnen må kobles fra når du bruker aWire siden det vil forstyrre korrekt bruk av grensesnittet. En svak ekstern pullup (10kΩ eller høyere) på denne linjen anbefales.
Slå av hvilemodus
Noen AVR UC3-enheter har en intern regulator som kan brukes i 3.3V forsyningsmodus med 1.8V regulerte I/O-linjer. Dette betyr at den interne regulatoren driver både kjernen og det meste av I/O. Bare Atmel AVR ONE! debugger støtter feilsøking mens du bruker hvilemodus der denne regulatoren er slått av.
4.3.7. EVTI / EVTO-bruk
EVTI- og EVTO-pinnene er ikke tilgjengelige på Atmel-ICE. Imidlertid kan de fortsatt brukes sammen med annet eksternt utstyr.
EVTI kan brukes til følgende formål:
- Målet kan bli tvunget til å stoppe utførelse som svar på en ekstern hendelse. Hvis Event In Control (EIC)-bitene i DC-registeret skrives til 0b01, vil høy-til-lav-overgang på EVTI-pinnen generere en bruddpunkttilstand. EVTI må forbli lav i én CPU-klokkesyklus for å garantere at et bruddpunkt er. Den eksterne bruddpunktbiten (EXB) i DS settes når dette skjer.
- Genererer sporingssynkroniseringsmeldinger. Ikke brukt av Atmel-ICE.
EVTO kan brukes til følgende formål:
- Indikerer at CPU-en har gått inn i feilsøking. Sett EOS-bitene i DC til 0b01 fører til at EVTO-pinnen trekkes lavt i én CPU-klokkesyklus når målenheten går inn i feilsøkingsmodus. Dette signalet kan brukes som en triggerkilde for et eksternt oscilloskop.
- Indikerer at CPU har nådd et bruddpunkt eller vaktpunkt. Ved å sette EOC-biten i et tilsvarende bruddpunkt/vaktpunktkontrollregister, indikeres bruddpunktet eller vaktpunktstatusen på EVTO-pinnen. EOS-bitene i DC må settes til 0xb10 for å aktivere denne funksjonen. EVTO-pinnen kan deretter kobles til et eksternt oscilloskop for å undersøke vaktpunktet
- Genererer sporingstidssignaler. Ikke brukt av Atmel-ICE.
4.4 tinyAVR-, megaAVR- og XMEGA-enheter
AVR-enheter har forskjellige programmerings- og feilsøkingsgrensesnitt. Sjekk enhetsdataarket for støttede grensesnitt for den enheten.
- Noen bittesmå AVR® enheter som har en TPI. TPI kan bare brukes til å programmere enheten, og disse enhetene har ikke feilsøking på brikken i det hele tatt.
- Noen tinyAVR-enheter og noen megaAVR-enheter har debugWIRE-grensesnittet, som kobles til et on-chip debug-system kjent som tinyOCD. Alle enheter med debugWIRE har også SPI-grensesnittet for in-system
- Noen megaAVR-enheter har en JTAG grensesnitt for programmering og feilsøking, med et on-chip debug-system også kjent som Alle enheter med JTAG har også SPI-grensesnittet som et alternativt grensesnitt for programmering i systemet.
- Alle AVR XMEGA-enheter har PDI-grensesnittet for programmering, og noen AVR XMEGA-enheter har også en JTAG grensesnitt med identisk funksjonalitet.
- Nye tinyAVR-enheter har et UPDI-grensesnitt, som brukes til programmering og feilsøking
Tabell 4-9. Sammendrag av programmerings- og feilsøkingsgrensesnitt
|
UPDI | TPI | SPI | debugWIR E | JTAG | PDI | aWire |
SWD |
liten AVR | Nye enheter | Noen enheter | Noen enheter | Noen enheter | ||||
megaAV R | Alle enheter | Noen enheter | Noen enheter | |||||
AVR XMEGA | Noen enheter | Alle enheter | ||||||
AVR UC | Alle enheter | Noen enheter | ||||||
SAM | Noen enheter | Alle enheter |
4.4.1. JTAG Fysisk grensesnitt
JTAG grensesnittet består av en 4-leder Test Access Port (TAP) kontroller som er kompatibel med IEEE® 1149.1 standard. IEEE-standarden ble utviklet for å gi en bransjestandard måte å effektivt teste kretskorttilkobling (Boundary Scan). Atmel AVR- og SAM-enheter har utvidet denne funksjonaliteten til å inkludere full programmering og On-chip Debugging-støtte.
Figur 4-9. JTAG Grunnleggende om grensesnitt4.4.2. Koble til en JTAG Mål
Atmel-ICE er utstyrt med to 50-mil 10-pin JTAG koblinger. Begge kontaktene er direkte elektrisk tilkoblet, men samsvarer med to forskjellige pinouter; AVR JTAG header og ARM Cortex Debug header. Koblingen bør velges basert på pinouten til målkortet, og ikke mål-MCU-typen – for eksempelampen SAM-enhet montert i en AVR STK600-stabel bør bruke AVR-headeren.
Anbefalt pinout for 10-pin AVR JTAG kontakten er vist i figur 4-6.
Anbefalt pinout for 10-pinners ARM Cortex Debug-kontakt er vist i figur 4-2.
Direkte tilkobling til en standard 10-pinners 50-mil header
Bruk 50-mil 10-pins flatkabel (inkludert i noen sett) for å koble direkte til et kort som støtter denne header-typen. Bruk AVR-kontaktporten på Atmel-ICE for headere med AVR-pinout, og SAM-kontaktporten for headere som samsvarer med ARM Cortex Debug-header-pinout.
Pinoutene for begge 10-pinners kontaktportene er vist nedenfor.
Tilkobling til en standard 10-pinners 100-mil header
Bruk en standard 50-mil til 100-mil-adapter for å koble til 100-mil-overskrifter. Et adapterkort (inkludert i noen sett) kan brukes til dette formålet, eller alternativt JTAGICE3-adapter kan brukes til AVR-mål.
Viktig:
JTAGICE3 100-mil-adapter kan ikke brukes med SAM-kontaktporten, siden pinnene 2 og 10 (AVR GND) på adapteren er koblet til.
Tilkobling til en tilpasset 100-mil header
Hvis målkortet ditt ikke har en kompatibel 10-pinners JTAG header i 50- eller 100-mil, kan du kartlegge til en tilpasset pinout ved å bruke 10-pinners "mini-squid"-kabelen (inkludert i noen sett), som gir tilgang til ti individuelle 100-mil-kontakter.
Tilkobling til en 20-pinners 100-mil header
Bruk adapterkortet (inkludert i noen sett) for å koble til mål med en 20-pinners 100-mil header.
Tabell 4-10. Atmel-ICE JTAG Pin Beskrivelse
Navn | AVR portstift | SAM portstift | Beskrivelse |
TCK | 1 | 4 | Testklokke (klokkesignal fra Atmel-ICE til målenheten). |
TMS | 5 | 2 | Testmodusvalg (kontrollsignal fra Atmel-ICE til målenheten). |
TDI | 9 | 8 | Test Data In (data overført fra Atmel-ICE til målenheten). |
TDO | 3 | 6 | Test Data Out (data overføres fra målenheten til Atmel-ICE). |
nTRST | 8 | – | Test Reset (valgfritt, kun på enkelte AVR-enheter). Brukes til å tilbakestille JTAG TAP-kontroller. |
nSRST | 6 | 10 | Tilbakestill (valgfritt). Brukes til å tilbakestille målenheten. Det anbefales å koble til denne pinnen siden den lar Atmel-ICE holde målenheten i en tilbakestillingstilstand, noe som kan være avgjørende for feilsøking i visse scenarier. |
VTG | 4 | 1 | Mål voltage referanse. Atmel-ICE-eneamples målet voltage på denne pinnen for å drive nivåomformerne riktig. Atmel-ICE trekker mindre enn 3mA fra denne pinnen i debugWIRE-modus og mindre enn 1mA i andre moduser. |
GND | 2, 10 | 3, 5, 9 | Bakke. Alle må kobles til for å sikre at Atmel-ICE og målenheten deler samme jordreferanse. |
4.4.3.SPI fysisk grensesnitt
In-System Programmering bruker mål Atmel AVRs interne SPI (Serial Peripheral Interface) for å laste ned kode til flash- og EEPROM-minnene. Det er ikke et feilsøkingsgrensesnitt. Når du designer et applikasjons-kretskort, som inkluderer en AVR med SPI-grensesnitt, bør pinouten som vist i figuren nedenfor brukes.
Figur 4-10. SPI Header Pinout4.4.4. Koble til et SPI-mål
Den anbefalte pinouten for den 6-pinners SPI-kontakten er vist i figur 4-10.
Tilkobling til en 6-pinners 100-mil SPI header
Bruk den 6-pinners 100 mil kranen på flatkabelen (inkludert i noen sett) for å koble til en standard 100 mil SPI header.
Tilkobling til en 6-pinners 50-mil SPI header
Bruk adapterkortet (inkludert i noen sett) for å koble til en standard 50-mil SPI-header.
Tilkobling til en tilpasset 100-mil header
Den 10-pinners mini-blekksprutkabelen skal brukes til å koble mellom Atmel-ICE AVR-kontaktporten og målkortet. Seks tilkoblinger kreves, som beskrevet i tabellen nedenfor.
Viktig:
SPI-grensesnittet er effektivt deaktivert når debugWIRE-aktiveringssikringen (DWEN) er programmert, selv om SPIEN-sikringen også er programmert. For å reaktivere SPI-grensesnittet, må 'disable debugWIRE'-kommandoen utstedes mens du er i en debugWIRE-feilsøkingsøkt. Deaktivering av debugWIRE på denne måten krever at SPIEN-sikringen allerede er programmert. Hvis Atmel Studio ikke klarer å deaktivere debugWIRE, er det sannsynlig at SPIEN-sikringen IKKE er programmert. Hvis dette er tilfelle, er det nødvendig å bruke en høyvoltage programmeringsgrensesnitt for å programmere SPIEN-sikringen.
Info:
SPI-grensesnittet blir ofte referert til som "ISP", siden det var det første In System Programming-grensesnittet på Atmel AVR-produkter. Andre grensesnitt er nå tilgjengelige for programmering i system.
Tabell 4-11. Atmel-ICE SPI Pin Mapping
Atmel-ICE AVR portpinner | Målstifter | Mini-blekksprutnål |
SPI pinout |
Pinne 1 (TCK) | SCK | 1 | 3 |
Pinne 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | MISO | 3 | 1 |
Pinne 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | / NULLSTILLE | 6 | 5 |
Pin 7 (ikke tilkoblet) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | DAWDLE | 9 | 4 |
Pinne 10 (GND) | 0 |
4.4.5. PDI
Program and Debug Interface (PDI) er et Atmels proprietært grensesnitt for ekstern programmering og on-chip feilsøking av en enhet. PDI Physical er et 2-pinners grensesnitt som gir en toveis halv-dupleks synkron kommunikasjon med målenheten.
Når du designer et applikasjons-PCB, som inkluderer en Atmel AVR med PDI-grensesnitt, bør pinouten vist i figuren nedenfor brukes. En av 6-pins adaptere som følger med Atmel-ICE-settet, kan deretter brukes til å koble Atmel-ICE-proben til applikasjonskretskortet.
Figur 4-11. PDI Header Pinout4.4.6.Koble til et PDI-mål
Anbefalt pinout for 6-pinners PDI-kontakten er vist i figur 4-11.
Tilkobling til en 6-pinners 100-mil PDI header
Bruk den 6-pinners 100 mil kranen på flatkabelen (inkludert i noen sett) for å koble til en standard 100 mil PDI header.
Tilkobling til en 6-pinners 50-mil PDI header
Bruk adapterkortet (inkludert i noen sett) for å koble til en standard 50-mil PDI-header.
Tilkobling til en tilpasset 100-mil header
Den 10-pinners mini-blekksprutkabelen skal brukes til å koble mellom Atmel-ICE AVR-kontaktporten og målkortet. Fire tilkoblinger kreves, som beskrevet i tabellen nedenfor.
Viktig:
Pinouten som kreves er forskjellig fra JTAGICE mkII JTAG sonde, hvor PDI_DATA er koblet til pinne 9. Atmel-ICE er kompatibel med pinouten som brukes av Atmel-ICE, JTAGICE3, AVR ONE! og AVR Dragon™ produkter.
Tabell 4-12. Atmel-ICE PDI Pin Mapping
Atmel-ICE AVR portpinne |
Målstifter | Mini-blekksprutnål |
Atmel STK600 PDI pinout |
Pinne 1 (TCK) | 1 | ||
Pinne 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | PDI_DATA | 3 | 1 |
Pinne 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | PDI_CLK | 6 | 5 |
Pin 7 (ikke tilkoblet) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Pinne 10 (GND) | 0 |
4.4.7. UPDI fysisk grensesnitt
Unified Program and Debug Interface (UPDI) er et Atmels proprietære grensesnitt for ekstern programmering og on-chip feilsøking av en enhet. Det er en etterfølger til PDI 2-leder fysisk grensesnitt, som finnes på alle AVR XMEGA-enheter. UPDI er et enkeltledningsgrensesnitt som gir en toveis halv-dupleks asynkron kommunikasjon med målenheten for programmering og feilsøking.
Når du designer et applikasjons-PCB, som inkluderer en Atmel AVR med UPDI-grensesnittet, bør pinouten vist nedenfor brukes. En av 6-pins adaptere som følger med Atmel-ICE-settet, kan deretter brukes til å koble Atmel-ICE-proben til applikasjonskretskortet.
Figur 4-12. UPDI Header Pinout4.4.7.1 UPDI og /RESET
UPDI entrådsgrensesnittet kan være en dedikert pin eller en delt pin, avhengig av mål-AVR-enheten. Se enhetens datablad for mer informasjon.
Når UPDI-grensesnittet er på en delt pinne, kan pinnen konfigureres til å være enten UPDI, /RESET eller GPIO ved å sette RSTPINCFG[1:0]-sikringene.
RSTPINCFG[1:0]-sikringene har følgende konfigurasjoner, som beskrevet i dataarket. De praktiske implikasjonene av hvert valg er gitt her.
Tabell 4-13. RSTPINCFG[1:0] Sikringskonfigurasjon
RSTPINCFG[1:0] | Konfigurasjon |
Bruk |
00 | GPIO | Generell I/O-pinne. For å få tilgang til UPDI må en 12V puls påføres denne pinnen. Ingen ekstern tilbakestillingskilde er tilgjengelig. |
01 | UPDI | Dedikert programmerings- og feilsøkingspinne. Ingen ekstern tilbakestillingskilde er tilgjengelig. |
10 | Tilbakestill | Tilbakestill signalinngang. For å få tilgang til UPDI må en 12V puls påføres denne pinnen. |
11 | Reservert | NA |
Note: Eldre AVR-enheter har et programmeringsgrensesnitt, kjent som "High-Voltage Programmering” (det finnes både serie- og parallelle varianter.) Generelt krever dette grensesnittet at 12V tilføres /RESET-pinnen under varigheten av programmeringsøkten. UPDI-grensesnittet er et helt annet grensesnitt. UPDI-pinnen er først og fremst en programmerings- og feilsøkingspinne, som kan smeltes til å ha en alternativ funksjon (/RESET eller GPIO). Hvis den alternative funksjonen er valgt, kreves det en 12V-puls på den pinnen for å reaktivere UPDI-funksjonaliteten.
Note: Hvis et design krever deling av UPDI-signalet på grunn av pinnebegrensninger, må det tas skritt for å sikre at enheten kan programmeres. For å sikre at UPDI-signalet kan fungere korrekt, samt for å unngå skade på eksterne komponenter fra 12V-pulsen, anbefales det å koble fra eventuelle komponenter på denne pinnen når du forsøker å feilsøke eller programmere enheten. Dette kan gjøres ved hjelp av en 0Ω motstand, som er montert som standard og fjernet eller erstattet av en pinnehode under feilsøking. Denne konfigurasjonen betyr i praksis at programmering bør gjøres før enheten monteres.
Viktig: Atmel-ICE støtter ikke 12V på UPDI-linjen. Med andre ord, hvis UPDI-pinnen er konfigurert som GPIO eller RESET, vil ikke Atmel-ICE kunne aktivere UPDI-grensesnittet.
4.4.8.Koble til et UPDI-mål
Anbefalt pinout for den 6-pinners UPDI-kontakten er vist i figur 4-12.
Tilkobling til en 6-pinners 100-mil UPDI header
Bruk 6-pinners 100 mil kranen på flatkabelen (inkludert i noen sett) for å koble til en standard 100 mil UPDI header.
Tilkobling til en 6-pinners 50-mil UPDI header
Bruk adapterkortet (inkludert i noen sett) for å koble til en standard 50-mil UPDI-header.
Tilkobling til en tilpasset 100-mil header
Den 10-pinners mini-blekksprutkabelen skal brukes til å koble mellom Atmel-ICE AVR-kontaktporten og målkortet. Tre tilkoblinger kreves, som beskrevet i tabellen nedenfor.
Tabell 4-14. Atmel-ICE UPDI Pin Mapping
Atmel-ICE AVR portpinne | Målstifter | Mini-blekksprutnål |
Atmel STK600 UPDI pinout |
Pinne 1 (TCK) | 1 | ||
Pinne 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | UPDI_DATA | 3 | 1 |
Pinne 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | [/RESET sense] | 6 | 5 |
Pin 7 (ikke tilkoblet) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Pinne 10 (GND) | 0 |
4.4.9 TPI fysisk grensesnitt
TPI er et programmeringsgrensesnitt for enkelte AVR ATtiny-enheter. Det er ikke et feilsøkingsgrensesnitt, og disse enhetene har ikke OCD-evne. Når du designer et applikasjonskretskort som inkluderer en AVR med TPI-grensesnitt, bør pinouten vist i figuren nedenfor brukes.
Figur 4-13. TPI Header Pinout4.4.10.Koble til et TPI-mål
Den anbefalte pinouten for den 6-pinners TPI-kontakten er vist i figur 4-13.
Tilkobling til en 6-pinners 100-mil TPI header
Bruk den 6-pinners 100-mil-kranen på flatkabelen (inkludert i noen sett) for å koble til en standard 100-mil TPI-header.
Tilkobling til en 6-pinners 50-mil TPI header
Bruk adapterkortet (inkludert i noen sett) for å koble til en standard 50-mil TPI-header.
Tilkobling til en tilpasset 100-mil header
Den 10-pinners mini-blekksprutkabelen skal brukes til å koble mellom Atmel-ICE AVR-kontaktporten og målkortet. Seks tilkoblinger kreves, som beskrevet i tabellen nedenfor.
Tabell 4-15. Atmel-ICE TPI Pin Mapping
Atmel-ICE AVR portpinner | Målstifter | Mini-blekksprutnål |
TPI pinout |
Pinne 1 (TCK) | KLOKKE | 1 | 3 |
Pinne 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | DATA | 3 | 1 |
Pinne 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | / NULLSTILLE | 6 | 5 |
Pin 7 (ikke tilkoblet) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Pinne 10 (GND) | 0 |
4.4.11. Avansert feilsøking (AVR JTAG /debugWIRE-enheter)
I/O Periferiutstyr
De fleste I/O-tilbehør vil fortsette å kjøre selv om programkjøringen stoppes av et bruddpunkt. Eksample: Hvis et bruddpunkt nås under en UART-overføring, vil overføringen fullføres og tilsvarende biter settes. TXC-flagget (transmit complete) vil settes og være tilgjengelig på neste enkelt trinn i koden selv om det normalt vil skje senere i en faktisk enhet.
Alle I/O-moduler vil fortsette å kjøre i stoppet modus med følgende to unntak:
- Timer/tellere (kan konfigureres ved hjelp av programvarens frontend)
- Watchdog Timer (alltid stoppet for å forhindre tilbakestilling under feilsøking)
Enkeltrinns I/O-tilgang
Siden I/O fortsetter å kjøre i stoppet modus, bør man passe på å unngå visse tidsproblemer. For eksample, koden:
Når du kjører denne koden normalt, vil ikke TEMP-registeret lese tilbake 0xAA fordi dataene ennå ikke ville ha blitt låst fysisk til pinnen når det er sampledet av IN-operasjonen. En NOP-instruksjon må plasseres mellom OUT- og IN-instruksen for å sikre at riktig verdi finnes i PIN-registeret.
Men når denne funksjonen enkelttrinnes gjennom OCD, vil denne koden alltid gi 0xAA i PIN-registeret siden I/O kjører på full hastighet selv når kjernen stoppes under enkeltsteppingen.
Enkel stepping og timing
Enkelte registre må leses eller skrives innenfor et gitt antall sykluser etter aktivering av et styresignal. Siden I/O-klokken og periferiutstyr fortsetter å kjøre på full hastighet i stoppet modus, vil enkelt trinn gjennom slik kode ikke oppfylle tidskravene. Mellom to enkelttrinn kan I/O-klokken ha kjørt millioner av sykluser. For å lykkes med å lese eller skrive registre med slike tidskrav, bør hele lese- eller skrivesekvensen utføres som en atomoperasjon som kjører enheten i full hastighet. Dette kan gjøres ved å bruke en makro eller et funksjonskall for å utføre koden, eller bruke kjør-til-markør-funksjonen i feilsøkingsmiljøet
Tilgang til 16-bits registre
Atmel AVR periferiutstyr inneholder vanligvis flere 16-bits registre som kan nås via 8-bit databussen (f.eks.: TCNTn til en 16-bits timer). 16-bits registeret må ha bytetilgang ved å bruke to lese- eller skriveoperasjoner. Å bryte midt i en 16-bits tilgang eller enkelt gå gjennom denne situasjonen kan føre til feilaktige verdier.
Begrenset I/O-registertilgang
Enkelte registre kan ikke leses uten å påvirke innholdet. Slike registre inkluderer de som inneholder flagg som slettes ved lesing, eller bufrede dataregistre (f.eks. UDR). Programvaregrensesnittet vil forhindre lesing av disse registerene når de er i stoppet modus for å bevare den tiltenkte ikke-påtrengende karakteren til OCD-feilsøking. I tillegg kan enkelte registre ikke trygt skrives uten at det oppstår bivirkninger – disse registrene er skrivebeskyttet. For eksampde:
- Flaggregistre, hvor et flagg slettes ved å skrive '1' til alle disse registrene er skrivebeskyttet.
- UDR- og SPDR-registre kan ikke leses uten å påvirke tilstanden til modulen. Disse registrene er ikke det
4.4.12. megaAVR Spesielle hensyn
Programvarebruddpunkter
Siden den inneholder en tidlig versjon av OCD-modulen, støtter ikke ATmega128[A] bruken av BREAK-instruksjonen for programvarebruddpunkter.
JTAG klokke
Målklokkefrekvensen må spesifiseres nøyaktig i programvarens frontend før du starter en feilsøking. Av synkroniseringshensyn har JTAG TCK-signalet må være mindre enn en fjerdedel av målklokkefrekvensen for pålitelig feilsøking. Ved programmering via JTAG grensesnitt, er TCK-frekvensen begrenset av den maksimale frekvensvurderingen til målenheten, og ikke den faktiske klokkefrekvensen som brukes.
Når du bruker den interne RC-oscillatoren, vær oppmerksom på at frekvensen kan variere fra enhet til enhet og påvirkes av temperatur og VCC Endringer. Vær konservativ når du spesifiserer målklokkefrekvensen.
JTAGEN og OCDEN sikringer
JTAG grensesnitt er aktivert ved hjelp av JTAGEN sikring, som er programmert som standard. Dette gir tilgang til JTAG programmeringsgrensesnitt. Gjennom denne mekanismen kan OCDEN-sikringen programmeres (som standard er OCDEN uprogrammert). Dette gir tilgang til OCD for å lette feilsøking av enheten. Programvarefronten vil alltid sørge for at OCDEN-sikringen forblir uprogrammert når du avslutter en økt, og begrenser dermed unødvendig strømforbruk av OCD-modulen. Hvis JTAGEN-sikringen er utilsiktet deaktivert, den kan bare aktiveres på nytt med SPI eller High Voltage programmeringsmetoder.
Hvis JTAGEN sikring er programmert, JTAG grensesnittet kan fortsatt deaktiveres i fastvaren ved å sette JTD-biten. Dette vil gjøre koden ufeilsøkbar, og bør ikke gjøres når du forsøker en feilsøkingsøkt. Hvis en slik kode allerede kjøres på Atmel AVR-enheten når du starter en feilsøkingsøkt, vil Atmel-ICE bekrefte RESET-linjen mens den kobles til. Hvis denne linjen er riktig kablet, vil den tvinge mål-AVR-enheten til tilbakestilling, og dermed tillate en JTAG forbindelse.
Hvis JTAG grensesnittet er aktivert, JTAG pinner kan ikke brukes til alternative pinnefunksjoner. De vil forbli dedikerte JTAG pinner til enten JTAG grensesnittet deaktiveres ved å sette JTD-biten fra programkoden, eller ved å slette JTAGEN sikring gjennom et programmeringsgrensesnitt.
Tupp:
Sørg for å merke av for "bruk ekstern tilbakestilling" i både programmeringsdialogen og dialogboksen for feilsøkingsalternativer for å la Atmel-ICE hevde RESET-linjen og aktivere J på nyttTAG grensesnitt på enheter som kjører kode som deaktiverer JTAG grensesnitt ved å sette JTD-biten.
IDR/OCDR-arrangementer
IDR (In-out Data Register) er også kjent som OCDR (On Chip Debug Register), og brukes mye av feilsøkeren for å lese og skrive informasjon til MCU når den er i stoppet modus under en feilsøking. Når applikasjonsprogrammet i kjøremodus skriver en byte med data til OCDR-registeret til AVR-enheten som feilsøkes, leser Atmel-ICE denne verdien og viser den i meldingsvinduet til programvarens frontend. OCDR-registeret blir pollet hver 50 ms, så å skrive til det med en høyere frekvens vil IKKE gi pålitelige resultater. Når AVR-enheten mister strømmen mens den feilsøkes, kan falske OCDR-hendelser rapporteres. Dette skjer fordi Atmel-ICE fortsatt kan polle enheten som målvoltage synker under AVRs minimum driftsvolumtage.
4.4.13. AVR XMEGA Spesielle hensyn
OCD og klokke
Når MCU går inn i stoppet modus, brukes OCD-klokken som MCU-klokke. OCD-klokken er enten JTAG TCK hvis JTAG grensesnittet brukes, eller PDI_CLK hvis PDI-grensesnittet brukes.
I/O-moduler i stoppet modus
I motsetning til tidligere Atmel megaAVR-enheter, stoppes I/O-modulene i XMEGA i stoppmodus. Dette betyr at USART-sendinger vil bli avbrutt, timere (og PWM) vil bli stoppet.
Maskinvarebruddpunkter
Det er fire maskinvarebruddpunktkomparatorer – to adressekomparatorer og to verdikomparatorer. De har visse begrensninger:
- Alle bruddpunkter må være av samme type (program eller data)
- Alle databruddpunkter må være i samme minneområde (I/O, SRAM eller XRAM)
- Det kan bare være ett bruddpunkt hvis adresseområdet brukes
Her er de forskjellige kombinasjonene som kan stilles inn:
- To enkeltdata- eller programadressebruddpunkter
- Ett bruddpunkt for data- eller programadresseområde
- To enkle dataadressebruddpunkter med en enkelt verdi sammenlignes
- Ett databruddpunkt med adresseområde, verdiområde eller begge deler
Atmel Studio vil fortelle deg om bruddpunktet ikke kan angis, og hvorfor. Databruddpunkter har prioritet over programbruddpunkter, hvis programvarebruddpunkter er tilgjengelige.
Ekstern tilbakestilling og PDI fysisk
Det fysiske PDI-grensesnittet bruker tilbakestillingslinjen som klokke. Under feilsøking bør tilbakestilt pullup være 10k eller mer eller fjernes. Eventuelle tilbakestillingskondensatorer bør fjernes. Andre eksterne tilbakestillingskilder bør kobles fra.
Feilsøking med dvale for ATxmegaA1 rev H og tidligere
Det fantes en feil på tidlige versjoner av ATxmegaA1-enheter som forhindret OCD fra å bli aktivert mens enheten var i visse hvilemoduser. Det er to løsninger for å reaktivere OCD:
- Gå inn i Atmel-ICE. Alternativer i Verktøy-menyen og aktiver "Aktiver alltid ekstern tilbakestilling ved omprogrammering av enhet".
- Utfør en chip sletting
Dvalemodusene som utløser denne feilen er:
- Slå av
- Strømsparing
- Standby
- Utvidet standby
4.4.1.debugWIRE Spesielle hensyn
DebugWIRE-kommunikasjonspinnen (dW) er fysisk plassert på samme pinne som den eksterne tilbakestillingen (RESET). En ekstern tilbakestillingskilde støttes derfor ikke når debugWIRE-grensesnittet er aktivert.
DebugWIRE Enable-sikringen (DWEN) må settes på målenheten for at debugWIRE-grensesnittet skal fungere. Denne sikringen er som standard uprogrammert når Atmel AVR-enheten sendes fra fabrikken. Selve debugWIRE-grensesnittet kan ikke brukes til å stille inn denne sikringen. For å stille inn DWEN-sikringen må SPI-modus brukes. Programvarefronten håndterer dette automatisk forutsatt at de nødvendige SPI-pinnene er tilkoblet. Den kan også stilles inn ved hjelp av SPI-programmering fra Atmel Studio-programmeringsdialogen.
Enten: Forsøk å starte en feilsøkingsøkt på debugWIRE-delen. Hvis debugWIRE-grensesnittet ikke er aktivert, vil Atmel Studio tilby å prøve på nytt, eller forsøke å aktivere debugWIRE ved hjelp av SPI-programmering. Hvis du har hele SPI-headeren tilkoblet, vil debugWIRE være aktivert, og du vil bli bedt om å slå på strømmen på målet. Dette er nødvendig for at sikringsbyttene skal være effektive.
Eller: Åpne programmeringsdialogen i SPI-modus, og kontroller at signaturen samsvarer med riktig enhet. Sjekk DWEN-sikringen for å aktivere debugWIRE.
Viktig:
Det er viktig å la SPIEN-sikringen være programmert, RSTDISBL-sikringen uprogrammert! Hvis du ikke gjør dette, vil enheten bli sittende fast i debugWIRE-modus, og High VoltagProgrammering vil være nødvendig for å tilbakestille DWEN-innstillingen.
For å deaktivere debugWIRE-grensesnittet, bruk High Voltage programmering for å avprogrammere DWEN-sikringen. Alternativt kan du bruke selve debugWIRE-grensesnittet for å deaktivere seg selv midlertidig, noe som vil tillate SPI-programmering å finne sted, forutsatt at SPIEN-sikringen er satt.
Viktig:
Hvis SPIEN-sikringen IKKE ble programmert, vil ikke Atmel Studio kunne fullføre denne operasjonen, og High Voltage programmering må brukes.
Under en feilsøkingsøkt, velg 'Deaktiver debugWIRE og lukk'-menyalternativet fra 'Debug'-menyen. DebugWIRE vil bli midlertidig deaktivert, og Atmel Studio vil bruke SPI-programmering for å avprogrammere DWEN-sikringen.
Å ha DWEN-sikringen programmert gjør at noen deler av klokkesystemet kan kjøre i alle hvilemoduser. Dette vil øke strømforbruket til AVR mens den er i hvilemodus. DWEN Fuse bør derfor alltid være deaktivert når debugWIRE ikke brukes.
Når du designer en målapplikasjons-PCB der debugWIRE skal brukes, må følgende hensyn tas for korrekt drift:
- Pull-up motstander på dW/(RESET) linjen må ikke være mindre (sterkere) enn 10kΩ. Pull-up-motstanden er ikke nødvendig for debugWIRE-funksjonalitet, siden debugger-verktøyet gir
- Enhver stabiliseringskondensator koblet til RESET-pinnen må kobles fra når du bruker debugWIRE, siden de vil forstyrre korrekt drift av grensesnittet
- Alle eksterne tilbakestillingskilder eller andre aktive drivere på RESET-linjen må kobles fra, siden de kan forstyrre korrekt drift av grensesnittet
Programmer aldri låsebitene på målenheten. DebugWIRE-grensesnittet krever at låsebiter slettes for å fungere korrekt.
4.4.15. debugWIRE programvarebruddpunkter
DebugWIRE OCD er drastisk nedskalert sammenlignet med Atmel megaAVR (JTAG) OCD. Dette betyr at den ikke har noen programteller-bruddpunkt-komparatorer tilgjengelig for brukeren for feilsøkingsformål. En slik komparator eksisterer for kjøring til markør og enkeltstegsoperasjoner, men ytterligere brukerbruddpunkter støttes ikke i maskinvare.
I stedet må feilsøkeren benytte seg av AVR BREAK-instruksjonen. Denne instruksjonen kan plasseres i FLASH, og når den er lastet inn for kjøring vil den føre til at AVR CPU går inn i stoppet modus. For å støtte bruddpunkter under feilsøking, må debuggeren sette inn en BREAK-instruksjon i FLASH på punktet der brukerne ber om et bruddpunkt. Den originale instruksjonen må bufres for senere erstatning.
Når en enkelt tråkker over en BREAK-instruksjon, må feilsøkeren utføre den originale bufrede instruksjonen for å bevare programmets virkemåte. I ekstreme tilfeller må BREAK fjernes fra FLASH og erstattes senere. Alle disse scenariene kan forårsake tilsynelatende forsinkelser ved enkelt trinn fra bruddpunkter, noe som vil bli forverret når målklokkefrekvensen er svært lav.
Det anbefales derfor å følge følgende retningslinjer, der det er mulig:
- Kjør alltid målet med så høy frekvens som mulig under feilsøking. Det fysiske debugWIRE-grensesnittet klokkes fra målklokken.
- Prøv å minimere antall bruddpunkttilføyelser og fjerninger, siden hver enkelt krever en FLASH-side som skal erstattes på målet
- Prøv å legge til eller fjerne et lite antall bruddpunkter om gangen, for å minimere antallet FLASH-sideskriveoperasjoner
- Hvis mulig, unngå å plassere bruddpunkter på instruksjoner med to ord
4.4.16. Forstå debugWIRE og DWEN Fuse
Når det er aktivert, tar debugWIRE-grensesnittet kontroll over enhetens /RESET-pinne, noe som gjør den gjensidig utelukkende for SPI-grensesnittet, som også trenger denne pinnen. Når du aktiverer og deaktiverer debugWIRE-modulen, følg en av disse to tilnærmingene:
- La Atmel Studio ta seg av ting (anbefales)
- Still inn og fjern DWEN manuelt (vær forsiktig, kun avanserte brukere!)
Viktig: Når du manipulerer DWEN manuelt, er det viktig at SPIEN-sikringen forblir innstilt for å unngå å bruke høyvolumtage programmering
Figur 4-14. Forstå debugWIRE og DWEN Fuse4.4.17.TinyX-OCD (UPDI) Spesielle hensyn
UPDI-datapinne (UPDI_DATA) kan være en dedikert pin eller en delt pin, avhengig av mål-AVR-enheten. En delt UPDI-pinne er 12V tolerant, og kan konfigureres til å brukes som /RESET eller GPIO. For ytterligere detaljer om hvordan du bruker pinnen i disse konfigurasjonene, se UPDI fysisk grensesnitt.
På enheter som inkluderer CRCSCAN-modulen (Cyclic Redundancy Check Memory Scan) skal denne modulen ikke brukes i kontinuerlig bakgrunnsmodus under feilsøking. OCD-modulen har begrensede ressurser for komparator for maskinvarebrudd, så BREAK-instruksjoner kan settes inn i flash (programvarebruddpunkter) når det kreves flere bruddpunkter, eller til og med under kodestepping på kildenivå. CRC-modulen kan feilaktig oppdage dette bruddpunktet som en korrupsjon av innholdet i flashminnet.
CRCSCAN-modulen kan også konfigureres til å utføre en CRC-skanning før oppstart. I tilfelle CRC-mismatch vil ikke enheten starte opp, og ser ut til å være i låst tilstand. Den eneste måten å gjenopprette enheten fra denne tilstanden er å utføre en full chip-sletting og enten programmere et gyldig flash-bilde eller deaktivere pre-boot CRCSCAN. (En enkel brikkesletting vil resultere i et blankt blink med ugyldig CRC, og delen vil dermed fortsatt ikke starte opp.) Atmel Studio vil automatisk deaktivere CRCSCAN-sikringene når brikken sletter en enhet i denne tilstanden.
Ved utforming av et målapplikasjons-PCB der UPDI-grensesnitt skal brukes, må følgende hensyn tas for korrekt drift:
- Pull-up motstander på UPDI-linjen må ikke være mindre (sterkere) enn 10kΩ. En nedtrekksmotstand bør ikke brukes, eller den bør fjernes ved bruk av UPDI. UPDI-fysikken er push-pull-kapabel, så det kreves bare en svak pull-up-motstand for å forhindre at falsk startbit trigger når linjen er
- Hvis UPDI-pinnen skal brukes som en RESET-pin, må enhver stabiliseringskondensator kobles fra ved bruk av UPDI, siden den vil forstyrre korrekt drift av grensesnittet
- Hvis UPDI-pinnen brukes som RESET- eller GPIO-pin, må alle eksterne drivere på linjen kobles fra under programmering eller feilsøking siden de kan forstyrre den korrekte driften av grensesnittet.
Maskinvarebeskrivelse
5.1. lysdioder
Atmel-ICE-topppanelet har tre lysdioder som indikerer statusen til gjeldende feilsøking eller programmeringsøkter.
Bord 5-1. LED-er
LED | Funksjon |
Beskrivelse |
Igjen | Målkraft | GRØNN når måleffekten er OK. Blinker indikerer en målstrømfeil. Lyser ikke før en programmerings-/feilsøkingsøktforbindelse er startet. |
Midten | Hovedkraft | RØDT når hovedkortets strøm er OK. |
Høyre | Status | Blinker GRØNT når målet løper/tråkker. AV når målet er stoppet. |
5.2 . Bakpanel
Bakpanelet på Atmel-ICE inneholder Micro-B USB-kontakten.5.3. Bunnpanel
Bunnpanelet på Atmel-ICE har et klistremerke som viser serienummeret og produksjonsdatoen. Ta med disse detaljene når du søker teknisk støtte.5.4 .Arkitekturbeskrivelse
Atmel-ICE-arkitekturen er vist i blokkskjemaet i figur 5-1.
Figur 5-1. Atmel-ICE blokkdiagram5.4.1. Atmel-ICE hovedkort
Strøm leveres til Atmel-ICE fra USB-bussen, regulert til 3.3V av en nedtrappende brytermodusregulator. VTG-pinnen brukes kun som referanseinngang, og en separat strømforsyning mater variabel voltage side av innebygde nivåomformere. I hjertet av Atmel-ICE-hovedkortet er Atmel AVR UC3-mikrokontrolleren AT32UC3A4256, som kjører på mellom 1MHz og 60MHz avhengig av oppgavene som behandles. Mikrokontrolleren inkluderer en USB 2.0 høyhastighetsmodul på brikken, som tillater høy datagjennomstrømning til og fra feilsøkeren.
Kommunikasjon mellom Atmel-ICE og målenheten gjøres gjennom en bank av nivåomformere som skifter signaler mellom målets driftsvolumtage og den interne voltage-nivå på Atmel-ICE. Også i signalveien er zener overvoltage beskyttelsesdioder, serietermineringsmotstander, induktive filtre og ESD beskyttelsesdioder. Alle signalkanaler kan betjenes i området 1.62V til 5.5V, selv om Atmel-ICE-maskinvaren ikke kan drive ut en høyere volumtage enn 5.0V. Maksimal driftsfrekvens varierer i henhold til målgrensesnittet som brukes.
5.4.2.Atmel-ICE-målkoblinger
Atmel-ICE har ikke en aktiv sonde. En 50-mil IDC-kabel brukes til å koble til målapplikasjonen enten direkte eller gjennom adaptere som er inkludert i noen sett. For mer informasjon om kabling og adaptere, se avsnittet Montering av Atmel-ICE
5.4.3. Atmel-ICE Target Connectors delenummer
For å koble Atmel-ICE 50-mil IDC-kabelen direkte til et målkort, bør enhver standard 50-mil 10-pinners header være tilstrekkelig. Det anbefales å bruke nøkkelhoder for å sikre riktig orientering når du kobler til målet, for eksempel de som brukes på adapterkortet som følger med settet.
Delenummeret for denne overskriften er: FTSH-105-01-L-DV-KAP fra SAMTEC
Programvareintegrasjon
6.1. Atmel Studio
6.1.1.Programvareintegrering i Atmel Studio
Atmel Studio er et integrert utviklingsmiljø (IDE) for skriving og feilsøking av Atmel AVR- og Atmel SAM-applikasjoner i Windows-miljøer. Atmel Studio tilbyr et prosjektstyringsverktøy, kilde file redaktør, simulator, assembler og front-end for C/C++, programmering, emulering og on-chip debugging.
Atmel Studio versjon 6.2 eller nyere må brukes sammen med Atmel-ICE.
6.1.2. Programmeringsalternativer
Atmel Studio støtter programmering av Atmel AVR og Atmel SAM ARM-enheter ved hjelp av Atmel-ICE. Programmeringsdialogen kan konfigureres til å bruke JTAG, aWire, SPI, PDI, TPI, SWD-moduser, i henhold til den valgte målenheten.
Når du konfigurerer klokkefrekvensen, gjelder forskjellige regler for forskjellige grensesnitt og målfamilier:
- SPI-programmering bruker målklokken. Konfigurer klokkefrekvensen til å være lavere enn en fjerdedel av frekvensen som målenheten kjører for øyeblikket.
- JTAG programmering på Atmel megaAVR-enheter klokkes av Dette betyr at programmeringsklokkefrekvensen er begrenset til den maksimale driftsfrekvensen til selve enheten. (Vanligvis 16MHz.)
- AVR XMEGA-programmering på både JTAG og PDI-grensesnitt klokkes av programmereren. Dette betyr at programmeringsklokkefrekvensen er begrenset til enhetens maksimale driftsfrekvens (vanligvis 32MHz).
- AVR UC3-programmering på JTAG grensesnittet klokkes av programmereren. Dette betyr at programmeringsklokkefrekvensen er begrenset til den maksimale driftsfrekvensen til selve enheten. (Begrenset til 33MHz.)
- AVR UC3-programmering på aWire-grensesnitt klokkes av Den optimale frekvensen er gitt av SAB-busshastigheten i målenheten. Atmel-ICE-debuggeren vil automatisk justere aWire-overføringshastigheten for å oppfylle disse kriteriene. Selv om det vanligvis ikke er nødvendig, kan brukeren begrense den maksimale overføringshastigheten om nødvendig (f.eks. i støyende omgivelser).
- SAM-enhetsprogrammering på SWD-grensesnitt klokkes av programmereren. Maksimal frekvens som støttes av Atmel-ICE er 2MHz. Frekvensen bør ikke overstige mål-CPU-frekvensen ganger 10, fSWD ≤ 10fSYSCLK.
6.1.3.Feilsøkingsalternativer
Når du feilsøker en Atmel AVR-enhet ved hjelp av Atmel Studio, "Verktøy"-fanen i prosjektegenskapene view inneholder noen viktige konfigurasjonsalternativer. Alternativene som trenger ytterligere forklaring er detaljert her.
Målklokkefrekvens
Nøyaktig innstilling av målklokkefrekvensen er avgjørende for å oppnå pålitelig feilsøking av Atmel megaAVR-enheten over JTAG grensesnitt. Denne innstillingen skal være mindre enn en fjerdedel av den laveste driftsfrekvensen til AVR-målenheten i applikasjonen som feilsøkes. Se megaAVR Spesielle hensyn for mer informasjon.
Feilsøkingsøkter på debugWIRE-målenheter klokkes av selve målenheten, og derfor kreves ingen frekvensinnstilling. Atmel-ICE vil automatisk velge riktig overføringshastighet for kommunikasjon ved starten av en feilsøkingsøkt. Men hvis du opplever pålitelighetsproblemer relatert til et støyende feilsøkingsmiljø, tilbyr noen verktøy muligheten til å tvinge debugWIRE-hastigheten til en brøkdel av dens "anbefalte" innstilling.
Feilsøkingsøkter på AVR XMEGA-målenheter kan klokkes med opptil maksimal hastighet på selve enheten (vanligvis 32MHz).
Feilsøkingsøkter på AVR UC3-målenheter over JTAG grensesnittet kan klokkes til maksimal hastighet på selve enheten (begrenset til 33MHz). Imidlertid vil den optimale frekvensen være litt under gjeldende SAB-klokke på målenheten.
Feilsøkingsøkter på UC3-målenheter over aWire-grensesnittet vil automatisk justeres til den optimale overføringshastigheten av Atmel-ICE selv. Men hvis du opplever pålitelighetsproblemer relatert til et støyende feilsøkingsmiljø, tilbyr noen verktøy muligheten til å tvinge aWire-hastigheten under en konfigurerbar grense.
Feilsøkingsøkter på SAM-målenheter over SWD-grensesnittet kan klokkes til opptil ti ganger CPU-klokken (men begrenset til maks. 2MHz)
Bevar EEPROM
Velg dette alternativet for å unngå å slette EEPROM under omprogrammering av målet før en feilsøkingsøkt.
Bruk ekstern tilbakestilling
Hvis målapplikasjonen din deaktiverer JTAG grensesnitt, må den eksterne tilbakestillingen trekkes lavt under programmering. Ved å velge dette alternativet unngår du å bli spurt gjentatte ganger om du vil bruke den eksterne tilbakestillingen.
6.2 Kommandolinjeverktøy
Atmel Studio kommer med et kommandolinjeverktøy kalt atprogram som kan brukes til å programmere mål ved hjelp av Atmel-ICE. Under installasjonen av Atmel Studio en snarvei kalt "Atmel Studio 7.0. Kommandoprompt" ble opprettet i Atmel-mappen på Start-menyen. Ved å dobbeltklikke denne snarveien åpnes en ledetekst og programmeringskommandoer kan legges inn. Kommandolinjeverktøyet er installert i Atmel Studio-installasjonsbanen i mappen Atmel/Atmel Studio 7.0/atbackend/.
For å få mer hjelp med kommandolinjeverktøyet, skriv inn kommandoen:
atprogram –hjelp
Avanserte feilsøkingsteknikker
7.1. Atmel AVR UC3-mål
7.1.1. EVTI / EVTO-bruk
EVTI- og EVTO-pinnene er ikke tilgjengelige på Atmel-ICE. Imidlertid kan de fortsatt brukes sammen med annet eksternt utstyr.
EVTI kan brukes til følgende formål:
- Målet kan bli tvunget til å stoppe utførelse som svar på en ekstern hendelse. Hvis Event In Control (EIC)-bitene i DC-registeret skrives til 0b01, vil høy-til-lav-overgang på EVTI-pinnen generere en bruddpunkttilstand. EVTI må forbli lav i én CPU-klokkesyklus for å garantere at et bruddpunkt er. Den eksterne bruddpunktbiten (EXB) i DS settes når dette skjer.
- Genererer sporingssynkroniseringsmeldinger. Ikke brukt av Atmel-ICE. EVTO kan brukes til følgende formål:
- Indikerer at CPU-en har gått inn i feilsøking. Sett EOS-bitene i DC til 0b01 fører til at EVTO-pinnen trekkes lavt i én CPU-klokkesyklus når målenheten går inn i feilsøkingsmodus. Dette signalet kan brukes som en triggerkilde for et eksternt oscilloskop.
- Indikerer at CPU har nådd et bruddpunkt eller vaktpunkt. Ved å sette EOC-biten i et tilsvarende bruddpunkt/vaktpunktkontrollregister, indikeres bruddpunktet eller vaktpunktstatusen på EVTO-pinnen. EOS-bitene i DC må settes til 0xb10 for å aktivere denne funksjonen. EVTO-pinnen kan deretter kobles til et eksternt oscilloskop for å undersøke vaktpunktet
- Genererer sporingstidssignaler. Ikke brukt av Atmel-ICE.
7.2 debugWIRE-mål
7.2.1.debugWIRE-programvarebruddpunkter
DebugWIRE OCD er drastisk nedskalert sammenlignet med Atmel megaAVR (JTAG) OCD. Dette betyr at den ikke har noen programteller-bruddpunkt-komparatorer tilgjengelig for brukeren for feilsøkingsformål. En slik komparator eksisterer for kjøring til markør og enkeltstegsoperasjoner, men ytterligere brukerbruddpunkter støttes ikke i maskinvare.
I stedet må feilsøkeren benytte seg av AVR BREAK-instruksjonen. Denne instruksjonen kan plasseres i FLASH, og når den er lastet inn for kjøring vil den føre til at AVR CPU går inn i stoppet modus. For å støtte bruddpunkter under feilsøking, må debuggeren sette inn en BREAK-instruksjon i FLASH på punktet der brukerne ber om et bruddpunkt. Den originale instruksjonen må bufres for senere erstatning.
Når en enkelt tråkker over en BREAK-instruksjon, må feilsøkeren utføre den originale bufrede instruksjonen for å bevare programmets virkemåte. I ekstreme tilfeller må BREAK fjernes fra FLASH og erstattes senere. Alle disse scenariene kan forårsake tilsynelatende forsinkelser ved enkelt trinn fra bruddpunkter, noe som vil bli forverret når målklokkefrekvensen er svært lav.
Det anbefales derfor å følge følgende retningslinjer, der det er mulig:
- Kjør alltid målet med så høy frekvens som mulig under feilsøking. Det fysiske debugWIRE-grensesnittet klokkes fra målklokken.
- Prøv å minimere antall bruddpunkttilføyelser og fjerninger, siden hver enkelt krever en FLASH-side som skal erstattes på målet
- Prøv å legge til eller fjerne et lite antall bruddpunkter om gangen, for å minimere antallet FLASH-sideskriveoperasjoner
- Hvis mulig, unngå å plassere bruddpunkter på instruksjoner med to ord
Utgivelseshistorikk og kjente problemer
8.1. Utgivelseshistorikk for fastvare
Tabell 8-1. Offentlig fastvarerevisjoner
Fastvareversjon (desimal) | Dato |
Relevante endringer |
1.36 | 29.09.2016 | Lagt til støtte for UPDI-grensesnitt (tinyX-enheter) Gjort konfigurerbar USB-endepunktstørrelse |
1.28 | 27.05.2015 | Lagt til støtte for SPI- og USART DGI-grensesnitt. Forbedret SWD-hastighet. Mindre feilrettinger. |
1.22 | 03.10.2014 | Lagt til kodeprofilering. Rettet problem relatert til JTAG seriekjeder med mer enn 64 instruksjonsbiter. Fix for ARM-tilbakestillingsforlengelse. Fikset problem med målstrøm LED. |
1.13 | 08.04.2014 | JTAG klokkefrekvensfiks. Fix for debugWIRE med lang SUT. Fast oscillatorkalibreringskommando. |
1.09 | 12.02.2014 | Første utgivelse av Atmel-ICE. |
8.2 .Kjente problemer angående Atmel-ICE
8.2.1.Generelt
- De første Atmel-ICE-partiene hadde en svak USB En ny revisjon er laget med en ny og mer robust USB-kontakt. Som en midlertidig løsning er epoksylim påført de allerede produserte enhetene av den første versjonen for å forbedre den mekaniske stabiliteten.
8.2.2. Atmel AVR XMEGA OCD-spesifikke problemer
- For ATxmegaA1-familien støttes kun revisjon G eller senere
8.2.1. Atmel AVR – Enhetsspesifikke problemer
- Slå av strømmen på ATmega32U6 under en feilsøking kan føre til tap av kontakt med enheten
Produktoverholdelse
9.1. RoHS og WEEE
Atmel-ICE og alt tilbehør er produsert i samsvar med både RoHS-direktivet (2002/95/EC) og WEEE-direktivet (2002/96/EC).
9.2. CE og FCC
Atmel-ICE-enheten har blitt testet i henhold til de grunnleggende kravene og andre relevante bestemmelser i direktivene:
- Direktiv 2004/108/EC (klasse B)
- FCC del 15 underdel B
- 2002/95/EC (RoHS, WEEE)
Følgende standarder brukes for evaluering:
- EN 61000-6-1 (2007)
- EN 61000-6-3 (2007) + A1 (2011)
- FCC CFR 47 del 15 (2013)
Den tekniske konstruksjonen File ligger på:
Det er gjort alt for å minimere elektromagnetiske utslipp fra dette produktet. Men under visse forhold kan systemet (dette produktet koblet til en målapplikasjonskrets) sende ut individuelle elektromagnetiske komponentfrekvenser som overskrider de maksimale verdiene som er tillatt i de ovennevnte standardene. Frekvensen og størrelsen på utslippene vil bli bestemt av flere faktorer, inkludert layout og ruting av målapplikasjonen som produktet brukes med.
Revisjonshistorie
Dok. Rev. |
Dato |
Kommentarer |
42330C | 10/2016 | Lagt til UPDI-grensesnitt og oppdatert Firmware Release History |
42330B | 03/2016 | • Revidert On-Chip Debugging-kapittel • Ny formatering av utgivelseshistorikk for fastvare i kapittelet Utgivelseshistorikk og kjente problemer • Lagt til debug kabel pinout |
42330A | 06/2014 | Første dokumentutgivelse |
Atmel®, Atmel-logo og kombinasjoner derav, muliggjør ubegrensede muligheter®, AVR®, megaAVR®, STK®, liten AVR®, XMEGA®, og andre er registrerte varemerker eller varemerker for Atmel Corporation i USA og andre land. VÆPNE®, ARM tilkoblet® logo, Cortex®, og andre er registrerte varemerker eller varemerker for ARM Ltd. Windows® er et registrert varemerke for Microsoft Corporation i USA og eller andre land. Andre termer og produktnavn kan være varemerker for andre.
ANSVARSFRASKRIVELSE: Informasjonen i dette dokumentet er gitt i forbindelse med Atmel-produkter. Ingen lisens, uttrykt eller underforstått, ved estoppel eller på annen måte, til noen immaterielle rettigheter er gitt av dette dokumentet eller i forbindelse med salg av Atmel-produkter. UNNTATT SOM ANGITT I ATMEL VILKÅR OG SALGSBETINGELSER PLASSERT PÅ ATMEL WEBNETTSTED, ATMEL PÅTAR SIG INGEN ANSVAR OG FRASKRIVER SEG NOEN UTTRYKKELIG, UNDERFORSTÅTT ELLER LOVBETINGET GARANTI KNYTTET TIL DERES PRODUKTER, INKLUDERT, MEN IKKE BEGRENSET TIL, DEN UNDERFORSTÅTE GARANTIEN OM SALGBARHET, ELLER EGNETHET, ELLER EGNETHET. UNDER INGEN OMSTENDIGHET KAN ATMEL VÆRE ANSVARLIG FOR NOEN DIREKTE, INDIREKTE, FØLGESKADER, STRAFFENDE, SPESIELLE ELLER TILFELDIGE SKADER (INKLUDERT, UTEN BEGRENSNING, SKADER FOR TAP OG FORTJENESTE, FORRETNINGSAVBRUTT, ELLER TAB AV BRUK) DETTE DOKUMENTET, SELV OM ATMEL HAR FÅTT RÅD
AV MULIGHETEN FOR SLIKE SKADER. Atmel gir ingen representasjoner eller garantier med hensyn til nøyaktigheten eller fullstendigheten av innholdet i dette dokumentet og forbeholder seg retten til å gjøre endringer i spesifikasjoner og produktbeskrivelser når som helst uten varsel. Atmel forplikter seg ikke til å oppdatere informasjonen her. Med mindre annet er spesifikt oppgitt, er Atmel-produkter ikke egnet for, og skal ikke brukes i, bilapplikasjoner. Atmel-produkter er ikke tiltenkt, autorisert eller garantert for bruk som komponenter i applikasjoner som er ment å støtte eller opprettholde liv.
ANSVARSFRASKRIVELSE FOR SIKKERHETSKRITIKK, MILITÆR OG BILMOTOR: Atmel-produkter er ikke designet for og vil ikke bli brukt i forbindelse med applikasjoner der feil på slike produkter med rimelighet kan forventes å resultere i betydelig personskade eller død («Sikkerhetskritisk» Søknader") uten en Atmel-offisers spesifikke skriftlige samtykke. Sikkerhetskritiske applikasjoner inkluderer, uten begrensning, livstøttende enheter og systemer, utstyr eller systemer for drift av kjernefysiske anlegg og våpensystemer. Atmel-produkter er ikke designet eller beregnet for bruk i militære eller romfartsapplikasjoner eller miljøer med mindre det er spesifikt utpekt av Atmel som militærkvalitet. Atmel-produkter er ikke utformet eller beregnet for bruk i bilapplikasjoner med mindre det er spesifikt utpekt av Atmel som automotive-grade.
Atmel 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_User Guide-10/2016
Dokumenter / Ressurser
![]() |
Atmel Atmel-ICE Debugger-programmerere [pdfBrukerhåndbok Atmel-ICE Debugger-programmerere, Atmel-ICE, Debugger-programmerere, programmerere |