Programmatori di debug ICE
Guida per l'utente Programmatori e debugger
Atmel-ICE
GUIDA PER L'UTENTE
Il debugger Atmel-ICE
Atmel-ICE è un potente strumento di sviluppo per il debug e la programmazione di microcontrollori Atmel®SAM e Atmel AVR basati su ARM® Cortex®-M con funzionalità di debug su chip®.
Supporta:
- Programmazione e debug on-chip di tutti i microcontrollori Atmel AVR a 32 bit sia su JTAG e interfacce aWire
- Programmazione e debug on-chip di tutti i dispositivi della famiglia Atmel AVR XMEGA® sia su JTAG e interfacce PDI a 2 fili
- Programmazione (GTAG, SPI, UPDI) e il debug di tutti i microcontrollori Atmel AVR a 8 bit con supporto OCD su JTAG, interfacce debugWIRE o UPDI
- Programmazione e debug di tutti i microcontrollori basati su Atmel SAM ARM Cortex-M sia su SWD che su JTAG interfacce
- Programmazione (TPI) di tutti i microcontrollori Atmel tinyAVR® a 8 bit con supporto per questa interfaccia
Consulta l'elenco dei dispositivi supportati nella Guida dell'utente di Atmel Studio per un elenco completo dei dispositivi e delle interfacce supportati da questa versione del firmware.
Introduzione
1.1. Introduzione all'Atmel-ICE
Atmel-ICE è un potente strumento di sviluppo per il debug e la programmazione di microcontrollori Atmel SAM e Atmel AVR basati su ARM Cortex-M con funzionalità di debug su chip.
Supporta:
- Programmazione e debug on-chip di tutti i microcontrollori Atmel AVR UC3 sia su JTAG e interfacce aWire
- Programmazione e debug on-chip di tutti i dispositivi della famiglia AVR XMEGA sia su JTAG e interfacce PDI 2wire
- Programmazione (GTAG e SPI) e il debug di tutti i microcontrollori AVR a 8 bit con supporto OCD sia su JTAG o interfacce debugWIRE
- Programmazione e debug di tutti i microcontrollori basati su Atmel SAM ARM Cortex-M sia su SWD che su JTAG interfacce
- Programmazione (TPI) di tutti i microcontrollori Atmel tinyAVR a 8 bit con supporto per questa interfaccia
1.2. Caratteristiche Atmel-ICE
- Completamente compatibile con Atmel Studio
- Supporta la programmazione e il debug di tutti i microcontrollori Atmel AVR UC3 a 32 bit
- Supporta la programmazione e il debug di tutti i dispositivi AVR XMEGA a 8 bit
- Supporta la programmazione e il debug di tutti i dispositivi Atmel megaAVR® e tinyAVR a 8 bit con OCD
- Supporta la programmazione e il debug di tutti i microcontrollori basati su SAM ARM Cortex-M
- Target operativo voltage range da 1.62V a 5.5V
- Assorbe meno di 3 mA dal target VTref quando si utilizza l'interfaccia debugWIRE e meno di 1 mA per tutte le altre interfacce
- Supporta JTAG frequenze di clock da 32kHz a 7.5MHz
- Supporta frequenze di clock PDI da 32 kHz a 7.5 MHz
- Supporta velocità di trasmissione debugWIRE da 4 kbit/s a 0.5 Mbit/s
- Supporta velocità di trasmissione aWire da 7.5 kbit/s a 7 Mbit/s
- Supporta frequenze di clock SPI da 8kHz a 5MHz
- Supporta velocità di trasmissione UPDI fino a 750 kbit/s
- Supporta frequenze di clock SWD da 32kHz a 10MHz
- Interfaccia host USB 2.0 ad alta velocità
- Acquisizione di tracce seriali ITM fino a 3 MB/s
- Supporta le interfacce DGI SPI e USART quando non si esegue il debug o la programmazione
- Supporta J a 10 pin da 50 milTAG connettore con pinout AVR e Cortex. Il cavo della sonda standard supporta le intestazioni AVR a 6 pin ISP/PDI/TPI da 100 mil e 10 pin da 50 mil. È disponibile un adattatore per supportare intestazioni da 6 mil a 50 pin, 10 mil a 100 pin e 20 mil a 100 pin. Sono disponibili diverse opzioni di kit con diversi cavi e adattatori.
1.3. Requisiti di sistema
L'unità Atmel-ICE richiede che sul computer sia installato un ambiente di debug front-end Atmel Studio versione 6.2 o successiva.
L'Atmel-ICE deve essere collegato al computer host utilizzando il cavo USB fornito o un cavo Micro-USB certificato.
Iniziare con l'Atmel-ICE
2.1. Contenuto completo del kit
Il kit completo Atmel-ICE contiene questi elementi:
- Unità Atmel-ICE
- Cavo USB (1.8 m, ad alta velocità, Micro-B)
- Scheda adattatore contenente adattatori AVR da 50 mil, AVR/SAM da 100 mil e SAM da 100 mil a 20 pin
- Cavo piatto IDC con connettore a 10 pin da 50 mil e connettore a 6 pin da 100 mil
- Cavo mini squid da 50 mil a 10 pin con 10 prese da 100 mil
Figura 2-1. Contenuto del kit completo Atmel-ICE2.2. Contenuto del kit di base
Il kit base Atmel-ICE contiene questi elementi:
- Unità Atmel-ICE
- Cavo USB (1.8 m, ad alta velocità, Micro-B)
- Cavo piatto IDC con connettore a 10 pin da 50 mil e connettore a 6 pin da 100 mil
Figura 2-2. Contenuto del kit di base Atmel-ICE2.3. Contenuto del kit PCBA
Il kit Atmel-ICE PCBA contiene questi elementi:
- Unità Atmel-ICE senza incapsulamento plastico
Figura 2-3. Contenuto del kit PCBA Atmel-ICE2.4. Kit ricambi
Sono disponibili i seguenti kit di ricambi:
- Kit adattatore
- Kit cavi
Figura 2-4. Contenuto del kit adattatore Atmel-ICE2.5. Kit finitoview
Le opzioni del kit Atmel-ICE sono mostrate schematicamente qui:
Figura 2-6. Kit finito Atmel-ICEview2.6. Assemblare l'Atmel-ICE
L'unità Atmel-ICE viene spedita senza cavi collegati. Nel kit completo sono fornite due opzioni di cavo:
- Cavo piatto IDC a 50 pin da 10 mil con ISP a 6 pin e connettori a 10 pin
- Cavo mini-squid da 50 mil a 10 pin con 10 prese da 100 mil
Figura 2-7. Cavi Atmel-ICEPer la maggior parte degli scopi, è possibile utilizzare il cavo piatto IDC a 50 pin da 10 mil, collegandosi in modo nativo ai suoi connettori a 10 o 6 pin o collegandosi tramite la scheda dell'adattatore. Tre adattatori sono forniti su un piccolo PCBA. Sono inclusi i seguenti adattatori:
- J da 100 mil a 10 pinTAGadattatore /SWD
- SAM J da 100 mil a 20 pinTAGadattatore /SWD
- Adattatore SPI/debugWIRE/PDI/aWire da 50 mil a 6 pin
Figura 2-8. Adattatori Atmel-ICENota:
Una J da 50 milTAG l'adattatore non è stato fornito: questo perché il cavo IDC a 50 pin da 10 mil può essere utilizzato per connettersi direttamente a un J da 50 milTAG intestazione. Per il numero di parte del componente utilizzato per il connettore da 50 mil a 10 pin, vedere i numeri di parte dei connettori di destinazione Atmel-ICE.
L'intestazione ISP/PDI a 6 pin è inclusa come parte del cavo IDC a 10 pin. Questa terminazione può essere interrotta se non è richiesta.
Per assemblare Atmel-ICE nella sua configurazione predefinita, collegare il cavo IDC da 10 mil a 50 pin all'unità come mostrato di seguito. Accertarsi di orientare il cavo in modo che il filo rosso (pin 1) sul cavo sia allineato con l'indicatore triangolare sulla cintura blu dell'involucro. Il cavo dovrebbe collegarsi verso l'alto dall'unità. Assicurati di connetterti alla porta corrispondente al pinout del tuo target: AVR o SAM.
Figura 2-9. Connessione via cavo Atmel-ICEFigura 2-10. Connessione sonda Atmel-ICE AVR
Figura 2-11. Collegamento sonda Atmel-ICE SAM
2.7. Apertura dell'Atmel-ICE
Nota:
Per il normale funzionamento, l'unità Atmel-ICE non deve essere aperta. L'apertura dell'unità avviene a proprio rischio.
Devono essere prese precauzioni antistatiche.
L'involucro Atmel-ICE è costituito da tre componenti in plastica separati - coperchio superiore, coperchio inferiore e cintura blu - che vengono fissati insieme durante l'assemblaggio. Per aprire l'unità, basta inserire un grande cacciavite piatto nelle aperture della cintura blu, applicare una certa pressione verso l'interno e ruotare delicatamente. Ripeti il processo sugli altri fori degli snapper e il coperchio superiore si staccherà.
Figura 2-12. Apertura dell'Atmel-ICE (1)Figura 2-13. Apertura dell'Atmel-ICE (2)
Figura 2-14. Apertura dell'Atmel-ICE(3)
Per richiudere l'unità, è sufficiente allineare correttamente i coperchi superiore e inferiore e premere saldamente insieme.
2.8. Alimentare l'Atmel-ICE
L'Atmel-ICE è alimentato dal bus USB voltage. Richiede meno di 100 mA per funzionare e può quindi essere alimentato tramite un hub USB. Il LED di alimentazione si illuminerà quando l'unità è collegata. Quando non è collegata a una sessione di programmazione o debug attiva, l'unità entrerà in modalità a basso consumo energetico per preservare la batteria del computer. L'Atmel-ICE non può essere spento: deve essere scollegato quando non viene utilizzato.
2.9. Connessione al computer host
Atmel-ICE comunica principalmente utilizzando un'interfaccia HID standard e non richiede un driver speciale sul computer host. Per utilizzare la funzionalità Data Gateway avanzata di Atmel-ICE, assicurarsi di installare il driver USB sul computer host. Questo viene fatto automaticamente durante l'installazione del software front-end fornito gratuitamente da Atmel. Vedere www.atmel.com per ulteriori informazioni o per scaricare l'ultimo software front-end.
L'Atmel-ICE deve essere collegato a una porta USB disponibile sul computer host utilizzando il cavo USB fornito o un microcavo certificato USB adatto. L'Atmel-ICE contiene un controller conforme a USB 2.0 e può funzionare sia in modalità a piena velocità che ad alta velocità. Per ottenere i migliori risultati, collegare l'Atmel-ICE direttamente a un hub ad alta velocità compatibile con USB 2.0 sul computer host utilizzando il cavo fornito.
2.10. Installazione del driver USB
2.10.1 Finestre
Quando si installa l'Atmel-ICE su un computer che esegue Microsoft® Windows®, il driver USB viene caricato quando l'Atmel-ICE viene collegato per la prima volta.
Nota:
Assicurarsi di installare i pacchetti software front-end prima di collegare l'unità per la prima volta.
Una volta installato con successo, l'Atmel-ICE apparirà nel gestore dispositivi come "Human Interface Device".
Collegamento dell'Atmel-ICE
3.1. Collegamento a dispositivi di destinazione AVR e SAM
L'Atmel-ICE è dotato di due connettori JTAG connettori. Entrambi i connettori sono collegati elettricamente direttamente, ma sono conformi a due diverse piedinature; l'AVR JTAG intestazione e l'intestazione ARM Cortex Debug. Il connettore deve essere selezionato in base al pinout della scheda di destinazione e non al tipo di MCU di destinazione, ad esampLe un dispositivo SAM montato in uno stack AVR STK® 600 deve utilizzare l'intestazione AVR.
Vari cavi e adattatori sono disponibili nei diversi kit Atmel-ICE. Un finitoview delle opzioni di connessione.
Figura 3-1. Opzioni di connessione Atmel-ICEIl filo rosso contrassegna il pin 1 del connettore a 10 pin da 50 mil. Il pin 1 del connettore a 6 pin da 100 mil è posizionato a destra della codifica quando il connettore è visto dal cavo. Il pin 1 di ciascun connettore sull'adattatore è contrassegnato da un punto bianco. La figura seguente mostra la piedinatura del cavo di debug. Il connettore contrassegnato con A si inserisce nel debugger mentre il lato B si inserisce nella scheda di destinazione.
Figura 3-2. Eseguire il debug del pinout del cavo3.2. Collegamento a un JTAG Bersaglio
L'Atmel-ICE è dotato di due connettori JTAG connettori. Entrambi i connettori sono collegati elettricamente direttamente, ma sono conformi a due diverse piedinature; l'AVR JTAG intestazione e l'intestazione ARM Cortex Debug. Il connettore deve essere selezionato in base al pinout della scheda di destinazione e non al tipo di MCU di destinazione, ad esampLe un dispositivo SAM montato in uno stack AVR STK600 deve utilizzare l'intestazione AVR.
Il pinout consigliato per l'AVR JTAG connettore è mostrato nella Figura 4-6. La piedinatura consigliata per il connettore ARM Cortex Debug a 10 pin è mostrata nella Figura 4-2.
Collegamento diretto a un'intestazione standard a 10 pin da 50 mil
Utilizzare il cavo piatto da 50 mil a 10 pin (incluso in alcuni kit) per collegarsi direttamente a una scheda che supporta questo tipo di intestazione. Utilizzare la porta del connettore AVR su Atmel-ICE per le intestazioni con il pinout AVR e la porta del connettore SAM per le intestazioni conformi al pinout dell'intestazione ARM Cortex Debug.
I pinout per entrambe le porte del connettore a 10 pin sono mostrati di seguito.
Connessione a un'intestazione standard a 10 pin da 100 mil
Utilizzare un adattatore standard da 50 mil a 100 mil per connettersi alle intestazioni da 100 mil. A tale scopo può essere utilizzata una scheda adattatore (inclusa in alcuni kit) o in alternativa la scheda JTAGL'adattatore ICE3 può essere utilizzato per obiettivi AVR. Importante:
Il JTAGL'adattatore ICE3 da 100 mil non può essere utilizzato con la porta del connettore SAM, poiché i pin 2 e 10 (AVR GND) sull'adattatore sono collegati.
Connessione a un'intestazione personalizzata da 100 mil
Se la scheda di destinazione non dispone di un connettore J a 10 pin conformeTAG intestazione in 50 o 100 mil, è possibile mappare su una piedinatura personalizzata utilizzando il cavo "mini-squid" a 10 pin (incluso in alcuni kit), che consente l'accesso a dieci prese individuali da 100 mil.
Connessione a una testina da 20 mil a 100 pinr
Utilizzare la scheda adattatore (inclusa in alcuni kit) per connettersi a target con un'intestazione da 20 mil a 100 pin.
Tabella 3-1. Atmel-ICE JTAG Descrizione del pin
Nome | AVR perno porta | SAM perno porta | Descrizione |
TCK | 1 | 4 | Test Clock (segnale di clock dall'Atmel-ICE al dispositivo di destinazione). |
Stimolazione magnetica | 5 | 2 | Test Mode Select (segnale di controllo dall'Atmel-ICE al dispositivo target). |
TDI | 9 | 8 | Test Data In (dati trasmessi dall'Atmel-ICE al dispositivo di destinazione). |
TDO | 3 | 6 | Test Data Out (dati trasmessi dal dispositivo target all'Atmel-ICE). |
nTRST | 8 | – | Ripristino test (opzionale, solo su alcuni dispositivi AVR). Usato per resettare il JTAG Controllore TAP. |
nSRST | 6 | 10 | Reimposta (facoltativo). Utilizzato per reimpostare il dispositivo di destinazione. Il collegamento di questo pin è consigliato poiché consente all'Atmel-ICE di mantenere il dispositivo di destinazione in uno stato di ripristino, che può essere essenziale per il debug in determinati scenari. |
Vintage-vintage | 4 | 1 | Obiettivo voltage riferimento. L'Atmel-ICE samples il target voltage su questo pin per alimentare correttamente i convertitori di livello. L'Atmel-ICE assorbe meno di 3 mA da questo pin in modalità debugWIRE e meno di 1 mA in altre modalità. |
Terra | 2, 10 | 3, 5, 9 | Terra. Tutti devono essere collegati per garantire che l'Atmel-ICE e il dispositivo target condividano lo stesso riferimento di terra. |
3.3. Connessione a un target aWire
L'interfaccia aWire richiede solo una linea dati oltre a VCC e GND. Sulla destinazione questa riga è la riga nRESET, sebbene il debugger utilizzi il JTAG Linea TDO come linea dati.
La piedinatura consigliata per il connettore aWire a 6 pin è illustrata nella Figura 4-8.
Collegamento a un'intestazione aWire da 6 mil a 100 pin
Utilizzare la presa a 6 pin da 100 mil sul cavo piatto (incluso in alcuni kit) per il collegamento a un'intestazione aWire standard da 100 mil.
Collegamento a un'intestazione aWire da 6 mil a 50 pin
Utilizzare la scheda adattatore (inclusa in alcuni kit) per il collegamento a un'intestazione aWire standard da 50 mil.
Connessione a un'intestazione personalizzata da 100 mil
Il cavo mini-squid a 10 pin deve essere utilizzato per il collegamento tra la porta del connettore Atmel-ICE AVR e la scheda di destinazione. Sono necessarie tre connessioni, come descritto nella tabella sottostante.
Tabella 3-2. Mappatura pin aWire Atmel-ICE
Perni porta Atmel-ICE AVR | Perni bersaglio | Pin di mini-calamari | aFilo pinout |
Perno 1 (TCK) | 1 | ||
Perno 2 (GND) | Terra | 2 | 6 |
Perno 3 (TDO) | DATI | 3 | 1 |
Perno 4 (VTG) | Vintage-vintage | 4 | 2 |
Perno 5 (TMS) | 5 | ||
Perno 6 (nSRST) | 6 | ||
Pin 7 (non connesso) | 7 | ||
Perno 8 (nTRST) | 8 | ||
Perno 9 (TDI) | 9 | ||
Perno 10 (GND) | 0 |
3.4. Connessione a un target PDI
La piedinatura consigliata per il connettore PDI a 6 pin è mostrata nella Figura 4-11.
Connessione a un'intestazione PDI da 6 mil a 100 pin
Utilizzare la presa da 6 mil a 100 pin sul cavo piatto (incluso in alcuni kit) per il collegamento a un'intestazione PDI standard da 100 mil.
Connessione a un'intestazione PDI da 6 mil a 50 pin
Utilizzare la scheda adattatore (inclusa in alcuni kit) per il collegamento a un'intestazione PDI standard da 50 mil.
Connessione a un'intestazione personalizzata da 100 mil
Il cavo mini-squid a 10 pin deve essere utilizzato per il collegamento tra la porta del connettore Atmel-ICE AVR e la scheda di destinazione. Sono necessarie quattro connessioni, come descritto nella tabella sottostante. Importante:
Il pinout richiesto è diverso dal JTAGICE mk II JTAG probe, dove PDI_DATA è connesso al pin 9. L'Atmel-ICE è compatibile con il pinout utilizzato dall'Atmel-ICE, JTAGICE3, AVR ONE! e AVR Dragon™.
Tabella 3-3. Mappatura pin PDI Atmel-ICE
Perni porta Atmel-ICE AVR | Perni bersaglio | Pin di mini-calamari | aFilo pinout |
Perno 1 (TCK) | 1 | ||
Perno 2 (GND) | Terra | 2 | 6 |
Perno 3 (TDO) | DATI | 3 | 1 |
Perno 4 (VTG) | Vintage-vintage | 4 | 2 |
Perno 5 (TMS) | 5 | ||
Perno 6 (nSRST) | 6 | ||
Pin 7 (non connesso) | 7 | ||
Perno 8 (nTRST) | 8 | ||
Perno 9 (TDI) | 9 | ||
Perno 10 (GND) | 0 |
3.4 Connessione a un target PDI
La piedinatura consigliata per il connettore PDI a 6 pin è mostrata nella Figura 4-11.
Connessione a un'intestazione PDI da 6 mil a 100 pin
Utilizzare la presa da 6 mil a 100 pin sul cavo piatto (incluso in alcuni kit) per il collegamento a un'intestazione PDI standard da 100 mil.
Connessione a un'intestazione PDI da 6 mil a 50 pin
Utilizzare la scheda adattatore (inclusa in alcuni kit) per il collegamento a un'intestazione PDI standard da 50 mil.
Connessione a un'intestazione personalizzata da 100 mil
Il cavo mini-squid a 10 pin deve essere utilizzato per il collegamento tra la porta del connettore Atmel-ICE AVR e la scheda di destinazione. Sono necessarie quattro connessioni, come descritto nella tabella sottostante. Importante:
Il pinout richiesto è diverso dal JTAGICE mk II JTAG probe, dove PDI_DATA è connesso al pin 9. L'Atmel-ICE è compatibile con il pinout utilizzato dall'Atmel-ICE, JTAGICE3, AVR ONE! e AVR Dragon™ prodotti.
Tabella 3-3. Mappatura pin PDI Atmel-ICE
Perno porta Atmel-ICE AVR | Perni bersaglio | Pin di mini-calamari | Piedinatura PDI Atmel STK600 |
Perno 1 (TCK) | 1 | ||
Perno 2 (GND) | Terra | 2 | 6 |
Perno 3 (TDO) | PDI_DATI | 3 | 1 |
Perno 4 (VTG) | Vintage-vintage | 4 | 2 |
Perno 5 (TMS) | 5 | ||
Perno 6 (nSRST) | PDI_CLK | 6 | 5 |
Pin 7 (non connesso) | 7 | ||
Perno 8 (nTRST) | 8 | ||
Perno 9 (TDI) | 9 | ||
Perno 10 (GND) | 0 |
3.5 Connessione a una destinazione UPDI
La piedinatura consigliata per il connettore UPDI a 6 pin è illustrata nella Figura 4-12.
Connessione a un'intestazione UPDI da 6 mil a 100 pin
Utilizzare la presa a 6 pin da 100 mil sul cavo piatto (incluso in alcuni kit) per il collegamento a un'intestazione UPDI standard da 100 mil.
Connessione a un'intestazione UPDI da 6 mil a 50 pin
Utilizzare la scheda adattatore (inclusa in alcuni kit) per il collegamento a un'intestazione UPDI standard da 50 mil.
Connessione a un'intestazione personalizzata da 100 mil
Il cavo mini-squid a 10 pin deve essere utilizzato per il collegamento tra la porta del connettore Atmel-ICE AVR e la scheda di destinazione. Sono necessarie tre connessioni, come descritto nella tabella sottostante.
Tabella 3-4. Mappatura pin UPDI Atmel-ICE
Perno porta Atmel-ICE AVR | Perni bersaglio | Pin di mini-calamari | Piedinatura UPDI Atmel STK600 |
Perno 1 (TCK) | 1 | ||
Perno 2 (GND) | Terra | 2 | 6 |
Perno 3 (TDO) | UPDI_DATI | 3 | 1 |
Perno 4 (VTG) | Vintage-vintage | 4 | 2 |
Perno 5 (TMS) | 5 | ||
Perno 6 (nSRST) | [/RESET senso] | 6 | 5 |
Pin 7 (non connesso) | 7 | ||
Perno 8 (nTRST) | 8 | ||
Perno 9 (TDI) | 9 | ||
Perno 10 (GND) | 0 |
3.6 Connessione a un target debugWIRE
La piedinatura consigliata per il connettore SPI (debugWIRE) a 6 pin è mostrata nella Tabella 3-6.
Connessione a un'intestazione SPI da 6 mil a 100 pin
Utilizzare la presa da 6 mil a 100 pin sul cavo piatto (incluso in alcuni kit) per il collegamento a un'intestazione SPI standard da 100 mil.
Connessione a un'intestazione SPI da 6 mil a 50 pin
Utilizzare la scheda adattatore (inclusa in alcuni kit) per connettersi a un'intestazione SPI standard da 50 mil.
Connessione a un'intestazione personalizzata da 100 mil
Il cavo mini-squid a 10 pin deve essere utilizzato per il collegamento tra la porta del connettore Atmel-ICE AVR e la scheda di destinazione. Sono necessarie tre connessioni, come descritto nella Tabella 3-5.
Sebbene l'interfaccia debugWIRE richieda solo una linea di segnale (RESET), VCC e GND per funzionare correttamente, si consiglia di avere accesso al connettore SPI completo in modo che l'interfaccia debugWIRE possa essere abilitata e disabilitata utilizzando la programmazione SPI.
Quando il fusibile DWEN è abilitato, l'interfaccia SPI viene sovrascritta internamente in modo che il modulo OCD abbia il controllo sul pin RESET. L'OCD debugWIRE è in grado di disabilitarsi temporaneamente (utilizzando il pulsante nella scheda di debug nella finestra di dialogo delle proprietà in Atmel Studio), rilasciando così il controllo della riga RESET. L'interfaccia SPI è quindi nuovamente disponibile (solo se il fusibile SPIEN è programmato), consentendo di deprogrammare il fusibile DWEN utilizzando l'interfaccia SPI. Se l'alimentazione viene commutata prima che il fusibile DWEN non sia programmato, il modulo debugWIRE riprenderà il controllo del pin RESET.
Nota:
Si consiglia vivamente di lasciare semplicemente che Atmel Studio gestisca l'impostazione e la cancellazione del fusibile DWEN.
Non è possibile utilizzare l'interfaccia debugWIRE se i lockbit sul dispositivo AVR di destinazione sono programmati. Assicurarsi sempre che i lockbit siano azzerati prima di programmare il fusibile DWEN e non impostare mai i lockbit mentre il fusibile DWEN è programmato. Se sono impostati sia il fusibile di abilitazione debugWIRE (DWEN) che i bit di blocco, è possibile utilizzare High Voltage Programmazione per eseguire una cancellazione del chip e quindi cancellare i lockbit.
Quando i lockbit vengono cancellati, l'interfaccia debugWIRE verrà riattivata. L'interfaccia SPI è in grado di leggere i fusibili, leggere la firma ed eseguire una cancellazione del chip solo quando il fusibile DWEN non è programmato.
Tabella 3-5. Atmel-ICE debugWIRE Pin Mapping
Perno porta Atmel-ICE AVR | Perni bersaglio | Pin di mini-calamari |
Perno 1 (TCK) | 1 | |
Perno 2 (GND) | Terra | 2 |
Perno 3 (TDO) | 3 | |
Perno 4 (VTG) | Vintage-vintage | 4 |
Perno 5 (TMS) | 5 | |
Perno 6 (nSRST) | RESET | 6 |
Pin 7 (non connesso) | 7 | |
Perno 8 (nTRST) | 8 | |
Perno 9 (TDI) | 9 | |
Perno 10 (GND) | 0 |
3.7 Connessione a un target SPI
La piedinatura consigliata per il connettore SPI a 6 pin è illustrata nella Figura 4-10.
Connessione a un'intestazione SPI da 6 mil a 100 pin
Utilizzare la presa da 6 mil a 100 pin sul cavo piatto (incluso in alcuni kit) per il collegamento a un'intestazione SPI standard da 100 mil.
Connessione a un'intestazione SPI da 6 mil a 50 pin
Utilizzare la scheda adattatore (inclusa in alcuni kit) per connettersi a un'intestazione SPI standard da 50 mil.
Connessione a un'intestazione personalizzata da 100 mil
Il cavo mini-squid a 10 pin deve essere utilizzato per il collegamento tra la porta del connettore Atmel-ICE AVR e la scheda di destinazione. Sono necessarie sei connessioni, come descritto nella tabella sottostante. Importante:
L'interfaccia SPI è effettivamente disabilitata quando è programmato il fusibile di abilitazione debugWIRE (DWEN), anche se è programmato anche il fusibile SPIEN. Per riattivare l'interfaccia SPI, è necessario eseguire il comando 'disable debugWIRE' durante una sessione di debugging debugWIRE. La disabilitazione di debugWIRE in questo modo richiede che il fusibile SPIEN sia già programmato. Se Atmel Studio non riesce a disabilitare debugWIRE, è probabile perché il fusibile SPIEN NON è programmato. Se questo è il caso, è necessario utilizzare un high-voltage interfaccia di programmazione per programmare il fusibile SPIEN. Informazioni:
L'interfaccia SPI viene spesso definita "ISP", poiché è stata la prima interfaccia di programmazione In System sui prodotti Atmel AVR. Altre interfacce sono ora disponibili per In System Programming.
Tabella 3-6. Mappatura dei pin SPI Atmel-ICE
Perni porta Atmel-ICE AVR | Perni bersaglio | Pin di mini-calamari | Piedinatura SPI |
Perno 1 (TCK) | SCK | 1 | 3 |
Perno 2 (GND) | Terra | 2 | 6 |
Perno 3 (TDO) | MISO | 3 | 1 |
Perno 4 (VTG) | Vintage-vintage | 4 | 2 |
Perno 5 (TMS) | 5 | ||
Perno 6 (nSRST) | / RIPRISTINA | 6 | 5 |
Pin 7 (non connesso) | 7 | ||
Perno 8 (nTRST) | 8 | ||
Perno 9 (TDI) | MOSI | 9 | 4 |
Perno 10 (GND) | 0 |
3.8 Collegamento a un target TPI
La piedinatura consigliata per il connettore TPI a 6 pin è mostrata nella Figura 4-13.
Connessione a un'intestazione TPI da 6 mil a 100 pin
Utilizzare la presa a 6 pin da 100 mil sul cavo piatto (incluso in alcuni kit) per il collegamento a un'intestazione TPI standard da 100 mil.
Connessione a un'intestazione TPI da 6 mil a 50 pin
Utilizzare la scheda adattatore (inclusa in alcuni kit) per il collegamento a un'intestazione TPI standard da 50 mil.
Connessione a un'intestazione personalizzata da 100 mil
Il cavo mini-squid a 10 pin deve essere utilizzato per il collegamento tra la porta del connettore Atmel-ICE AVR e la scheda di destinazione. Sono necessarie sei connessioni, come descritto nella tabella sottostante.
Tabella 3-7. Mappatura dei pin TPI Atmel-ICE
Perni porta Atmel-ICE AVR | Perni bersaglio | Pin di mini-calamari | Piedinatura TPI |
Perno 1 (TCK) | OROLOGIO | 1 | 3 |
Perno 2 (GND) | Terra | 2 | 6 |
Perno 3 (TDO) | DATI | 3 | 1 |
Perno 4 (VTG) | Vintage-vintage | 4 | 2 |
Perno 5 (TMS) | 5 |
Perno 6 (nSRST) | / RIPRISTINA | 6 | 5 |
Pin 7 (non connesso) | 7 | ||
Perno 8 (nTRST) | 8 | ||
Perno 9 (TDI) | 9 | ||
Perno 10 (GND) | 0 |
3.9 Connessione a una destinazione SWD
L'interfaccia ARM SWD è un sottoinsieme dell'interfaccia JTAG interfaccia, facendo uso dei pin TCK e TMS, il che significa che quando ci si collega a un dispositivo SWD, il J a 10 pinTAG connettore può essere tecnicamente utilizzato. L'ARM JTAG e AVR JTAG i connettori, tuttavia, non sono compatibili con i pin, quindi ciò dipende dal layout della scheda di destinazione in uso. Quando si utilizza un STK600 o una scheda che utilizza l'AVR JTAG pinout, deve essere utilizzata la porta del connettore AVR su Atmel-ICE. Quando ci si collega a una scheda che utilizza ARM JTAG piedinatura, deve essere utilizzata la porta del connettore SAM su Atmel-ICE.
Il pinout consigliato per il connettore Cortex Debug a 10 pin è mostrato nella Figura 4-4.
Connessione a un'intestazione Cortex a 10 pin da 50 mil
Utilizzare il cavo piatto (incluso in alcuni kit) per il collegamento a un'intestazione Cortex standard da 50 mil.
Connessione a un'intestazione con layout Cortex da 10 mil a 100 pin
Utilizzare la scheda adattatore (inclusa in alcuni kit) per connettersi a un'intestazione con piedinatura Cortex da 100 mil.
Connessione a un'intestazione SAM da 20 mil a 100 pin
Utilizzare la scheda adattatore (inclusa in alcuni kit) per il collegamento a un'intestazione SAM da 20 mil a 100 pin.
Connessione a un'intestazione personalizzata da 100 mil
Il cavo mini-squid a 10 pin deve essere utilizzato per il collegamento tra la porta del connettore Atmel-ICE AVR o SAM e la scheda di destinazione. Sono necessarie sei connessioni, come descritto nella tabella sottostante.
Tabella 3-8. Mappatura dei pin SWD Atmel-ICE
Nome | AVR perno porta | SAM perno porta | Descrizione |
SWDC LK | 1 | 4 | Orologio di debug del cavo seriale. |
SWDIO | 5 | 2 | Ingresso/uscita dati di debug del cavo seriale. |
SWO | 3 | 6 | Serial Wire Output (opzionale, non implementato su tutti i dispositivi). |
nSRST | 6 | 10 | Reset. |
Vintage-vintage | 4 | 1 | Obiettivo voltage riferimento. |
Terra | 2, 10 | 3, 5, 9 | Terra. |
3.10 Collegamento all'interfaccia del gateway dati
Atmel-ICE supporta un'interfaccia DGI (Data Gateway Interface) limitata quando il debug e la programmazione non sono in uso. La funzionalità è identica a quella dei kit Atmel Xplained Pro alimentati dal dispositivo Atmel EDBG.
L'interfaccia Data Gateway è un'interfaccia per lo streaming di dati dal dispositivo di destinazione a un computer. Questo è inteso come un aiuto nel debug dell'applicazione e per la dimostrazione delle funzionalità nell'applicazione in esecuzione sul dispositivo di destinazione.
DGI è costituito da più canali per lo streaming dei dati. Atmel-ICE supporta le seguenti modalità:
- USART
- SPI
Tabella 3-9. Piedinatura Atmel-ICE DGI USART
Porta dell'AVR | porta SAM | Perno DGI USART | Descrizione |
3 | 6 | TX | Trasmetti il pin da Atmel-ICE al dispositivo di destinazione |
4 | 1 | Vintage-vintage | Obiettivo voltage (riferimento voltage) |
8 | 7 | RX | Ricevi il pin dal dispositivo di destinazione ad Atmel-ICE |
9 | 8 | Orologio | Orologio USART |
2, 10 | 3, 5, 9 | Terra | Terra |
Tabella 3-10. Piedinatura Atmel-ICE DGI SPI
Porta dell'AVR | porta SAM | Spina DGI SPI | Descrizione |
1 | 4 | SCK | Orologio SPI |
3 | 6 | MISO | Master In Schiavo Fuori |
4 | 1 | Vintage-vintage | Obiettivo voltage (riferimento voltage) |
5 | 2 | NCS | Chip select attivo basso |
9 | 8 | MOSI | Master Out Schiavo In |
2, 10 | 3, 5, 9 | Terra | Terra |
Importante: Le interfacce SPI e USART non possono essere utilizzate contemporaneamente.
Importante: DGI e programmazione o debug non possono essere usati contemporaneamente.
Debug su chip
4.1 Introduzione
Debug su chip
Un modulo di debug su chip è un sistema che consente a uno sviluppatore di monitorare e controllare l'esecuzione su un dispositivo da una piattaforma di sviluppo esterna, in genere tramite un dispositivo noto come debugger o adattatore di debug.
Con un sistema OCD l'applicazione può essere eseguita mantenendo le esatte caratteristiche elettriche e di temporizzazione nel sistema di destinazione, pur essendo in grado di interrompere l'esecuzione condizionalmente o manualmente e ispezionare il flusso e la memoria del programma.
Modalità di esecuzione
In modalità Run, l'esecuzione del codice è completamente indipendente da Atmel-ICE. L'Atmel-ICE monitorerà continuamente il dispositivo di destinazione per vedere se si è verificata una condizione di rottura. Quando ciò accade, il sistema OCD interrogherà il dispositivo attraverso la sua interfaccia di debug, consentendo all'utente di farlo view lo stato interno del dispositivo.
Modalità interrotta
Quando viene raggiunto un punto di interruzione, l'esecuzione del programma viene interrotta, ma alcuni I/O potrebbero continuare a essere eseguiti come se non si fosse verificato alcun punto di interruzione. Per esample, supponiamo che una trasmissione USART sia appena stata avviata quando viene raggiunto un punto di interruzione. In questo caso l'USART continua a funzionare a piena velocità completando la trasmissione, anche se il nucleo è in modalità di arresto.
Punti di interruzione hardware
Il modulo OCD di destinazione contiene una serie di comparatori di contatori di programma implementati nell'hardware. Quando il contatore di programma corrisponde al valore memorizzato in uno dei registri del comparatore, l'OCD entra in modalità di arresto. Poiché i punti di interruzione hardware richiedono hardware dedicato sul modulo OCD, il numero di punti di interruzione disponibili dipende dalla dimensione del modulo OCD implementato sulla destinazione. Di solito uno di questi comparatori hardware è "riservato" dal debugger per uso interno.
Punti di interruzione del software
Un punto di interruzione software è un'istruzione BREAK collocata nella memoria del programma sul dispositivo di destinazione. Quando questa istruzione viene caricata, l'esecuzione del programma si interrompe e l'OCD entra in modalità di arresto. Per continuare l'esecuzione è necessario dare un comando "start" dall'OCD. Non tutti i dispositivi Atmel dispongono di moduli OCD che supportano l'istruzione BREAK.
4.2 Dispositivi SAM con JTAG/SWD
Tutti i dispositivi SAM dispongono dell'interfaccia SWD per la programmazione e il debug. Inoltre, alcuni dispositivi SAM sono dotati di JTAG interfaccia con funzionalità identiche. Controlla la scheda tecnica del dispositivo per le interfacce supportate di quel dispositivo.
4.2.1.Componenti ARM CoreSight
I microcontrollori basati su Atmel ARM Cortex-M implementano componenti OCD conformi a CoreSight. Le caratteristiche di questi componenti possono variare da dispositivo a dispositivo. Per ulteriori informazioni consultare la scheda tecnica del dispositivo e la documentazione CoreSight fornita da ARM.
4.2.1. ETAG Interfaccia fisica
Il JTAG l'interfaccia è costituita da un controller TAP (Test Access Port) a 4 fili conforme a IEEE® 1149.1 standard. Lo standard IEEE è stato sviluppato per fornire un modo standard del settore per testare in modo efficiente la connettività del circuito stampato (Boundary Scan). I dispositivi Atmel AVR e SAM hanno esteso questa funzionalità per includere il supporto completo per la programmazione e il debug su chip.
Figura 4-1. JTAG Nozioni di base sull'interfaccia
4.2.2.1 SAM JTAG Piedinatura (connettore di debug Cortex-M)
Quando si progetta un'applicazione PCB che include un Atmel SAM con JTAG interfaccia, si consiglia di utilizzare il pinout come mostrato nella figura sottostante. Sono supportate entrambe le varianti da 100 e 50 mil di questa piedinatura, a seconda del cablaggio e degli adattatori inclusi nel kit specifico.
Figura 4-2. SAM JTAG Piedinatura dell'intestazione
Tabella 4-1. SAM JTAG Descrizione del pin
Nome | Spillo | Descrizione |
TCK | 4 | Test Clock (segnale di clock dall'Atmel-ICE al dispositivo di destinazione). |
Stimolazione magnetica | 2 | Test Mode Select (segnale di controllo dall'Atmel-ICE al dispositivo target). |
TDI | 8 | Test Data In (dati trasmessi dall'Atmel-ICE al dispositivo di destinazione). |
TDO | 6 | Test Data Out (dati trasmessi dal dispositivo target all'Atmel-ICE). |
nREIMPOSTA | 10 | Reimposta (facoltativo). Utilizzato per reimpostare il dispositivo di destinazione. Il collegamento di questo pin è consigliato poiché consente all'Atmel-ICE di mantenere il dispositivo di destinazione in uno stato di ripristino, che può essere essenziale per il debug in determinati scenari. |
Vintage-vintage | 1 | Obiettivo voltage riferimento. L'Atmel-ICE samples il target voltage su questo pin per alimentare correttamente i convertitori di livello. L'Atmel-ICE assorbe meno di 1 mA da questo pin in questa modalità. |
Terra | 3, 5, 9 | Terra. Tutti devono essere collegati per garantire che l'Atmel-ICE e il dispositivo target condividano lo stesso riferimento di terra. |
CHIAVE | 7 | Collegato internamente al pin TRST sul connettore AVR. Consigliato in quanto non connesso. |
Mancia: Ricordarsi di includere un condensatore di disaccoppiamento tra il pin 1 e GND.
4.2.2.2 ETAG Margherita Concatenamento
Il JTAG L'interfaccia consente di collegare più dispositivi a un'unica interfaccia in una configurazione a margherita. I dispositivi target devono essere tutti alimentati dalla stessa alimentazione voltage, condividono un nodo di terra comune e devono essere collegati come mostrato nella figura sottostante.
Figura 4-3. JTAG Catena di margherite
Quando si collegano dispositivi in un collegamento a margherita, è necessario considerare i seguenti punti:
- Tutti i dispositivi devono condividere una terra comune, collegata a GND sulla sonda Atmel-ICE
- Tutti i dispositivi devono funzionare sullo stesso target voltage. VTG su Atmel-ICE deve essere collegato a questo voltage.
- TMS e TCK sono collegati in parallelo; TDI e TDO sono collegati in seriale
- nSRST sulla sonda Atmel-ICE deve essere collegato a RESET sui dispositivi se uno qualsiasi dei dispositivi della catena disabilita il suo JTAG porta
- "Dispositivi prima" si riferisce al numero di JTAG dispositivi che il segnale TDI deve attraversare nel collegamento a margherita prima di raggiungere il dispositivo di destinazione. Allo stesso modo "dispositivi dopo" è il numero di dispositivi che il segnale deve attraversare dopo il dispositivo di destinazione prima di raggiungere il TDO Atmel-ICE
- "I bit di istruzione "prima" e "dopo" si riferiscono alla somma totale di tutti i JTAG le lunghezze dei registri delle istruzioni dei dispositivi, che sono collegati prima e dopo il dispositivo di destinazione nella catena a margherita
- La lunghezza IR totale (bit di istruzione prima + lunghezza IR del dispositivo di destinazione Atmel + bit di istruzione dopo) è limitata a un massimo di 256 bit. Il numero di dispositivi nella catena è limitato a 15 prima e 15 dopo.
Mancia:
Collegamento a margherita esample: TDI → ATmega1280 → ATxmega128A1 → ATUC3A0512 → TDO.
Per connettersi all'Atmel AVR XMEGA® dispositivo, le impostazioni del collegamento a margherita sono:
- Dispositivi prima di: 1
- Dispositivi dopo: 1
- Bit di istruzioni prima di: 4 (i dispositivi AVR a 8 bit hanno 4 bit IR)
- Bit di istruzioni dopo: 5 (i dispositivi AVR a 32 bit hanno 5 bit IR)
Tabella 4-2. Lunghezze IR degli MCU Atmel
Tipo di dispositivo | Lunghezza IR |
Avr a 8 bit | 4 bit |
Avr a 32 bit | 5 bit |
SAM | 4 bit |
4.2.3. Collegamento a un JTAG Bersaglio
L'Atmel-ICE è dotato di due connettori JTAG connettori. Entrambi i connettori sono collegati elettricamente direttamente, ma sono conformi a due diverse piedinature; l'AVR JTAG intestazione e l'intestazione ARM Cortex Debug. Il connettore deve essere selezionato in base al pinout della scheda di destinazione e non al tipo di MCU di destinazione, ad esampLe un dispositivo SAM montato in uno stack AVR STK600 deve utilizzare l'intestazione AVR.
Il pinout consigliato per l'AVR JTAG connettore è mostrato nella Figura 4-6.
La piedinatura consigliata per il connettore ARM Cortex Debug a 10 pin è mostrata nella Figura 4-2.
Collegamento diretto a un'intestazione standard a 10 pin da 50 mil
Utilizzare il cavo piatto da 50 mil a 10 pin (incluso in alcuni kit) per collegarsi direttamente a una scheda che supporta questo tipo di intestazione. Utilizzare la porta del connettore AVR su Atmel-ICE per le intestazioni con il pinout AVR e la porta del connettore SAM per le intestazioni conformi al pinout dell'intestazione ARM Cortex Debug.
I pinout per entrambe le porte del connettore a 10 pin sono mostrati di seguito.
Connessione a un'intestazione standard a 10 pin da 100 mil
Utilizzare un adattatore standard da 50 mil a 100 mil per connettersi alle intestazioni da 100 mil. A tale scopo può essere utilizzata una scheda adattatore (inclusa in alcuni kit) o in alternativa la scheda JTAGL'adattatore ICE3 può essere utilizzato per obiettivi AVR. Importante:
Il JTAGL'adattatore ICE3 da 100 mil non può essere utilizzato con la porta del connettore SAM, poiché i pin 2 e 10 (AVR GND) sull'adattatore sono collegati.
Connessione a un'intestazione personalizzata da 100 mil
Se la scheda di destinazione non dispone di un connettore J a 10 pin conformeTAG intestazione in 50 o 100 mil, è possibile mappare su una piedinatura personalizzata utilizzando il cavo "mini-squid" a 10 pin (incluso in alcuni kit), che consente l'accesso a dieci prese individuali da 100 mil.
Connessione a un'intestazione da 20 mil a 100 pin
Utilizzare la scheda adattatore (inclusa in alcuni kit) per connettersi a target con un'intestazione da 20 mil a 100 pin.
Tabella 4-3. Atmel-ICE JTAG Descrizione del pin
Nome | AVR perno porta | SAM perno porta | Descrizione |
TCK | 1 | 4 | Test Clock (segnale di clock dall'Atmel-ICE al dispositivo di destinazione). |
Stimolazione magnetica | 5 | 2 | Test Mode Select (segnale di controllo dall'Atmel-ICE al dispositivo target). |
TDI | 9 | 8 | Test Data In (dati trasmessi dall'Atmel-ICE al dispositivo di destinazione). |
TDO | 3 | 6 | Test Data Out (dati trasmessi dal dispositivo target all'Atmel-ICE). |
nTRST | 8 | – | Ripristino test (opzionale, solo su alcuni dispositivi AVR). Usato per resettare il JTAG Controllore TAP. |
nSRST | 6 | 10 | Reimposta (facoltativo). Utilizzato per reimpostare il dispositivo di destinazione. Il collegamento di questo pin è consigliato poiché consente all'Atmel-ICE di mantenere il dispositivo di destinazione in uno stato di ripristino, che può essere essenziale per il debug in determinati scenari. |
Vintage-vintage | 4 | 1 | Obiettivo voltage riferimento. L'Atmel-ICE samples il target voltage su questo pin per alimentare correttamente i convertitori di livello. L'Atmel-ICE assorbe meno di 3 mA da questo pin in modalità debugWIRE e meno di 1 mA in altre modalità. |
Terra | 2, 10 | 3, 5, 9 | Terra. Tutti devono essere collegati per garantire che l'Atmel-ICE e il dispositivo target condividano lo stesso riferimento di terra. |
4.2.4. Interfaccia fisica SWD
L'interfaccia ARM SWD è un sottoinsieme dell'interfaccia JTAG interfaccia, facendo uso di pin TCK e TMS. L'ARM JTAG e AVR JTAG i connettori, tuttavia, non sono compatibili con i pin, quindi quando si progetta un'applicazione PCB, che utilizza un dispositivo SAM con SWD o JTAG interfaccia, si consiglia di utilizzare il pinout ARM mostrato nella figura seguente. La porta del connettore SAM sull'Atmel-ICE può connettersi direttamente a questa piedinatura.
Figura 4-4. Raccomandato ARM SWD/JTAG Piedinatura dell'intestazione
Atmel-ICE è in grado di eseguire lo streaming della traccia ITM in formato UART al computer host. La traccia viene acquisita sul pin TRACE/SWO dell'intestazione a 10 pin (JTAG perno TDO). I dati vengono memorizzati internamente su Atmel-ICE e inviati tramite l'interfaccia HID al computer host. La velocità dati massima affidabile è di circa 3 MB/s.
4.2.5. Connessione a una destinazione SWD
L'interfaccia ARM SWD è un sottoinsieme dell'interfaccia JTAG interfaccia, facendo uso dei pin TCK e TMS, il che significa che quando ci si collega a un dispositivo SWD, il J a 10 pinTAG connettore può essere tecnicamente utilizzato. L'ARM JTAG e AVR JTAG i connettori, tuttavia, non sono compatibili con i pin, quindi ciò dipende dal layout della scheda di destinazione in uso. Quando si utilizza un STK600 o una scheda che utilizza l'AVR JTAG pinout, deve essere utilizzata la porta del connettore AVR su Atmel-ICE. Quando ci si collega a una scheda che utilizza ARM JTAG piedinatura, deve essere utilizzata la porta del connettore SAM su Atmel-ICE.
Il pinout consigliato per il connettore Cortex Debug a 10 pin è mostrato nella Figura 4-4.
Connessione a un'intestazione Cortex a 10 pin da 50 mil
Utilizzare il cavo piatto (incluso in alcuni kit) per il collegamento a un'intestazione Cortex standard da 50 mil.
Connessione a un'intestazione con layout Cortex da 10 mil a 100 pin
Utilizzare la scheda adattatore (inclusa in alcuni kit) per connettersi a un'intestazione con piedinatura Cortex da 100 mil.
Connessione a un'intestazione SAM da 20 mil a 100 pin
Utilizzare la scheda adattatore (inclusa in alcuni kit) per il collegamento a un'intestazione SAM da 20 mil a 100 pin.
Connessione a un'intestazione personalizzata da 100 mil
Il cavo mini-squid a 10 pin deve essere utilizzato per il collegamento tra la porta del connettore Atmel-ICE AVR o SAM e la scheda di destinazione. Sono necessarie sei connessioni, come descritto nella tabella sottostante.
Tabella 4-4. Mappatura dei pin SWD Atmel-ICE
Nome | AVR perno porta | SAM perno porta | Descrizione |
SWDC LK | 1 | 4 | Orologio di debug del cavo seriale. |
SWDIO | 5 | 2 | Ingresso/uscita dati di debug del cavo seriale. |
SWO | 3 | 6 | Serial Wire Output (opzionale, non implementato su tutti i dispositivi). |
nSRST | 6 | 10 | Reset. |
Vintage-vintage | 4 | 1 | Obiettivo voltage riferimento. |
Terra | 2, 10 | 3, 5, 9 | Terra. |
4.2.6 Considerazioni speciali
CANCELLA perno
Alcuni dispositivi SAM includono un pin ERASE che si afferma esegua una cancellazione completa del chip e sblocchi i dispositivi su cui è impostato il bit di sicurezza. Questa funzione è accoppiata al dispositivo stesso e al controller flash e non fa parte del core ARM.
Il pin ERASE NON fa parte di alcuna intestazione di debug e Atmel-ICE non è quindi in grado di affermare questo segnale per sbloccare un dispositivo. In tali casi l'utente dovrebbe eseguire la cancellazione manualmente prima di avviare una sessione di debug.
Interfacce fisiche JTAG interfaccia
La linea RESET deve essere sempre collegata in modo che l'Atmel-ICE possa abilitare il JTAG interfaccia.
Interfaccia SWD
La linea RESET deve essere sempre collegata in modo che l'Atmel-ICE possa abilitare l'interfaccia SWD.
4.3 Dispositivi AVR UC3 con JTAG/un cavo
Tutti i dispositivi AVR UC3 presentano JTAG interfaccia per la programmazione e il debug. Inoltre, alcuni dispositivi AVR UC3 presentano l'interfaccia aWire con funzionalità identiche utilizzando un singolo cavo. Controlla la scheda tecnica del dispositivo per le interfacce supportate di quel dispositivo
4.3.1 Sistema di debug su chip Atmel AVR UC3
Il sistema OCD Atmel AVR UC3 è progettato in conformità con lo standard Nexus 2.0 (IEEE-ISTO 5001™-2003), che è uno standard di debug su chip aperto altamente flessibile e potente per microcontrollori a 32 bit. Supporta le seguenti funzionalità:
- Soluzione di debug conforme a Nexus
- OCD supporta qualsiasi velocità della CPU
- Sei punti di interruzione hardware del contatore del programma
- Due punti di interruzione dei dati
- I breakpoint possono essere configurati come watchpoint
- I punti di interruzione hardware possono essere combinati per fornire intervalli di interruzione
- Numero illimitato di punti di interruzione del programma utente (utilizzando BREAK)
- Traccia ramo contatore programma in tempo reale, traccia dati, traccia processo (supportato solo da debugger con porta di acquisizione traccia parallela)
Per ulteriori informazioni sul sistema OCD AVR UC3, consultare i manuali di riferimento tecnico AVR32UC, disponibili su www.atmel.com/uc3.
4.3.2. ETAG Interfaccia fisica
Il JTAG l'interfaccia è costituita da un controller TAP (Test Access Port) a 4 fili conforme a IEEE® 1149.1 standard. Lo standard IEEE è stato sviluppato per fornire un modo standard del settore per testare in modo efficiente la connettività del circuito stampato (Boundary Scan). I dispositivi Atmel AVR e SAM hanno esteso questa funzionalità per includere il supporto completo per la programmazione e il debug su chip.
Figura 4-5. JTAG Nozioni di base sull'interfaccia
4.3.2.1 Controllo automatico della velocità JTAG Pinout
Durante la progettazione di un'applicazione PCB, che include un Atmel AVR con JTAG interfaccia, si consiglia di utilizzare il pinout come mostrato nella figura sottostante. Sono supportate entrambe le varianti da 100 e 50 mil di questa piedinatura, a seconda del cablaggio e degli adattatori inclusi nel kit specifico.
Figura 4-6. AVR JTAG Piedinatura dell'intestazione
Tavolo 4-5. AVR JTAG Descrizione del pin
Nome | Spillo | Descrizione |
TCK | 1 | Test Clock (segnale di clock dall'Atmel-ICE al dispositivo di destinazione). |
Stimolazione magnetica | 5 | Test Mode Select (segnale di controllo dall'Atmel-ICE al dispositivo target). |
TDI | 9 | Test Data In (dati trasmessi dall'Atmel-ICE al dispositivo di destinazione). |
TDO | 3 | Test Data Out (dati trasmessi dal dispositivo target all'Atmel-ICE). |
nTRST | 8 | Ripristino test (opzionale, solo su alcuni dispositivi AVR). Usato per resettare il JTAG Controllore TAP. |
nSRST | 6 | Reimposta (facoltativo). Utilizzato per reimpostare il dispositivo di destinazione. Il collegamento di questo pin è consigliato poiché consente all'Atmel-ICE di mantenere il dispositivo di destinazione in uno stato di ripristino, che può essere essenziale per il debug in determinati scenari. |
Vintage-vintage | 4 | Obiettivo voltage riferimento. L'Atmel-ICE samples il target voltage su questo pin per alimentare correttamente i convertitori di livello. L'Atmel-ICE assorbe meno di 3 mA da questo pin in modalità debugWIRE e meno di 1 mA in altre modalità. |
Terra | 2, 10 | Terra. Entrambi devono essere collegati per garantire che l'Atmel-ICE e il dispositivo target condividano lo stesso riferimento di terra. |
Mancia: Ricordarsi di includere un condensatore di disaccoppiamento tra il pin 4 e GND.
4.3.2.2 ETAG Margherita Concatenamento
Il JTAG L'interfaccia consente di collegare più dispositivi a un'unica interfaccia in una configurazione a margherita. I dispositivi target devono essere tutti alimentati dalla stessa alimentazione voltage, condividono un nodo di terra comune e devono essere collegati come mostrato nella figura sottostante.
Figura 4-7. JTAG Catena di margherite
Quando si collegano dispositivi in un collegamento a margherita, è necessario considerare i seguenti punti:
- Tutti i dispositivi devono condividere una terra comune, collegata a GND sulla sonda Atmel-ICE
- Tutti i dispositivi devono funzionare sullo stesso target voltage. VTG su Atmel-ICE deve essere collegato a questo voltage.
- TMS e TCK sono collegati in parallelo; TDI e TDO sono collegati in una catena seriale.
- nSRST sulla sonda Atmel-ICE deve essere collegato a RESET sui dispositivi se uno qualsiasi dei dispositivi della catena disabilita il suo JTAG porta
- "Dispositivi prima" si riferisce al numero di JTAG dispositivi che il segnale TDI deve attraversare nel collegamento a margherita prima di raggiungere il dispositivo di destinazione. Allo stesso modo "dispositivi dopo" è il numero di dispositivi che il segnale deve attraversare dopo il dispositivo di destinazione prima di raggiungere il TDO Atmel-ICE
- "I bit di istruzione "prima" e "dopo" si riferiscono alla somma totale di tutti i JTAG le lunghezze dei registri delle istruzioni dei dispositivi, che sono collegati prima e dopo il dispositivo di destinazione nella catena a margherita
- La lunghezza IR totale (bit di istruzione prima + lunghezza IR del dispositivo di destinazione Atmel + bit di istruzione dopo) è limitata a un massimo di 256 bit. Il numero di dispositivi nella catena è limitato a 15 prima e 15 dopo.
Mancia:
Collegamento a margherita esample: TDI → ATmega1280 → ATxmega128A1 → ATUC3A0512 → TDO.
Per connettersi all'Atmel AVR XMEGA® dispositivo, le impostazioni del collegamento a margherita sono:
- Dispositivi prima di: 1
- Dispositivi dopo: 1
- Bit di istruzioni prima di: 4 (i dispositivi AVR a 8 bit hanno 4 bit IR)
- Bit di istruzioni dopo: 5 (i dispositivi AVR a 32 bit hanno 5 bit IR)
Tabella 4-6. Lunghezze IR di Atmel MCUS
Tipo di dispositivo | Lunghezza IR |
Avr a 8 bit | 4 bit |
Avr a 32 bit | 5 bit |
SAM | 4 bit |
4.3.3.Collegamento a JTAG Bersaglio
L'Atmel-ICE è dotato di due connettori JTAG connettori. Entrambi i connettori sono collegati elettricamente direttamente, ma sono conformi a due diverse piedinature; l'AVR JTAG intestazione e l'intestazione ARM Cortex Debug. Il connettore deve essere selezionato in base al pinout della scheda di destinazione e non al tipo di MCU di destinazione, ad esampLe un dispositivo SAM montato in uno stack AVR STK600 deve utilizzare l'intestazione AVR.
Il pinout consigliato per l'AVR JTAG connettore è mostrato nella Figura 4-6.
La piedinatura consigliata per il connettore ARM Cortex Debug a 10 pin è mostrata nella Figura 4-2.
Collegamento diretto a un'intestazione standard a 10 pin da 50 mil
Utilizzare il cavo piatto da 50 mil a 10 pin (incluso in alcuni kit) per collegarsi direttamente a una scheda che supporta questo tipo di intestazione. Utilizzare la porta del connettore AVR su Atmel-ICE per le intestazioni con il pinout AVR e la porta del connettore SAM per le intestazioni conformi al pinout dell'intestazione ARM Cortex Debug.
I pinout per entrambe le porte del connettore a 10 pin sono mostrati di seguito.
Connessione a un'intestazione standard a 10 pin da 100 mil
Utilizzare un adattatore standard da 50 mil a 100 mil per connettersi alle intestazioni da 100 mil. A tale scopo può essere utilizzata una scheda adattatore (inclusa in alcuni kit) o in alternativa la scheda JTAGL'adattatore ICE3 può essere utilizzato per obiettivi AVR. Importante:
Il JTAGL'adattatore ICE3 da 100 mil non può essere utilizzato con la porta del connettore SAM, poiché i pin 2 e 10 (AVR GND) sull'adattatore sono collegati.
Connessione a un'intestazione personalizzata da 100 mil
Se la scheda di destinazione non dispone di un connettore J a 10 pin conformeTAG intestazione in 50 o 100 mil, è possibile mappare su una piedinatura personalizzata utilizzando il cavo "mini-squid" a 10 pin (incluso in alcuni kit), che consente l'accesso a dieci prese individuali da 100 mil.
Connessione a un'intestazione da 20 mil a 100 pin
Utilizzare la scheda adattatore (inclusa in alcuni kit) per connettersi a target con un'intestazione da 20 mil a 100 pin.
Tabella 4-7. Atmel-ICE JTAG Descrizione del pin
Nome | Perno porta AVR | Pin della porta SAM | Descrizione |
TCK | 1 | 4 | Test Clock (segnale di clock dall'Atmel-ICE al dispositivo di destinazione). |
Stimolazione magnetica | 5 | 2 | Test Mode Select (segnale di controllo dall'Atmel-ICE al dispositivo target). |
TDI | 9 | 8 | Test Data In (dati trasmessi dall'Atmel-ICE al dispositivo di destinazione). |
TDO | 3 | 6 | Test Data Out (dati trasmessi dal dispositivo target all'Atmel-ICE). |
nTRST | 8 | – | Ripristino test (opzionale, solo su alcuni dispositivi AVR). Usato per resettare il JTAG Controllore TAP. |
nSRST | 6 | 10 | Reimposta (facoltativo). Utilizzato per reimpostare il dispositivo di destinazione. Il collegamento di questo pin è consigliato poiché consente all'Atmel-ICE di mantenere il dispositivo di destinazione in uno stato di ripristino, che può essere essenziale per il debug in determinati scenari. |
Vintage-vintage | 4 | 1 | Obiettivo voltage riferimento. L'Atmel-ICE samples il target voltage su questo pin per alimentare correttamente i convertitori di livello. L'Atmel-ICE assorbe meno di 3 mA da questo pin in modalità debugWIRE e meno di 1 mA in altre modalità. |
Terra | 2, 10 | 3, 5, 9 | Terra. Tutti devono essere collegati per garantire che l'Atmel-ICE e il dispositivo target condividano lo stesso riferimento di terra. |
4.3.4 Interfaccia fisica aWire
L'interfaccia aWire utilizza il cavo RESET del dispositivo AVR per consentire funzioni di programmazione e debug. Una speciale sequenza di abilitazione viene trasmessa da Atmel-ICE, che disabilita la funzionalità RESET predefinita del pin. Quando si progetta un'applicazione PCB, che include un Atmel AVR con l'interfaccia aWire, si consiglia di utilizzare il pinout come mostrato nella Figura 4 -8. Sono supportate entrambe le varianti da 100 e 50 mil di questa piedinatura, a seconda del cablaggio e degli adattatori inclusi nel kit specifico.
Figura 4-8. aPinout dell'intestazione del cavo
Mancia:
Poiché aWire è un'interfaccia half-duplex, si consiglia un resistore di pull-up sulla linea RESET dell'ordine di 47kΩ per evitare il falso rilevamento del bit di avvio quando si cambia direzione.
L'interfaccia aWire può essere utilizzata sia come interfaccia di programmazione che di debug. Tutte le funzionalità del sistema OCD disponibili tramite il connettore JTAG è possibile accedere all'interfaccia anche tramite aWire.
4.3.5 Collegamento a un bersaglio aWire
L'interfaccia aWire richiede solo una linea dati oltre a VCC e GND. Sulla destinazione questa riga è la riga nRESET, sebbene il debugger utilizzi il JTAG Linea TDO come linea dati.
La piedinatura consigliata per il connettore aWire a 6 pin è illustrata nella Figura 4-8.
Collegamento a un'intestazione aWire da 6 mil a 100 pin
Utilizzare la presa a 6 pin da 100 mil sul cavo piatto (incluso in alcuni kit) per il collegamento a un'intestazione aWire standard da 100 mil.
Collegamento a un'intestazione aWire da 6 mil a 50 pin
Utilizzare la scheda adattatore (inclusa in alcuni kit) per il collegamento a un'intestazione aWire standard da 50 mil.
Connessione a un'intestazione personalizzata da 100 mil
Il cavo mini-squid a 10 pin deve essere utilizzato per il collegamento tra la porta del connettore Atmel-ICE AVR e la scheda di destinazione. Sono necessarie tre connessioni, come descritto nella tabella sottostante.
Tabella 4-8. Mappatura pin aWire Atmel-ICE
Perni porta Atmel-ICE AVR | Perni bersaglio | Pin di mini-calamari | aFilo pinout |
Perno 1 (TCK) | 1 | ||
Perno 2 (GND) | Terra | 2 | 6 |
Perno 3 (TDO) | DATI | 3 | 1 |
Perno 4 (VTG) | Vintage-vintage | 4 | 2 |
Perno 5 (TMS) | 5 | ||
Perno 6 (nSRST) | 6 | ||
Pin 7 (non connesso) | 7 | ||
Perno 8 (nTRST) | 8 | ||
Perno 9 (TDI) | 9 | ||
Perno 10 (GND) | 0 |
4.3.6. Considerazioni speciali
JTAG interfaccia
Su alcuni dispositivi Atmel AVR UC3 il JTAG la porta non è abilitata per impostazione predefinita. Quando si utilizzano questi dispositivi è indispensabile collegare la linea RESET in modo che l'Atmel-ICE possa abilitare il JTAG interfaccia.
aWire interfaccia
Il baud rate delle comunicazioni aWire dipende dalla frequenza dell'orologio di sistema, poiché i dati devono essere sincronizzati tra questi due domini. L'Atmel-ICE rileverà automaticamente che l'orologio di sistema è stato abbassato e ricalibrerà la sua velocità di trasmissione di conseguenza. La calibrazione automatica funziona solo fino a una frequenza di clock di sistema di 8kHz. Il passaggio a un clock di sistema inferiore durante una sessione di debug può causare la perdita del contatto con il target.
Se necessario, la velocità di trasmissione aWire può essere limitata impostando il parametro clock aWire. Il rilevamento automatico continuerà a funzionare, ma ai risultati verrà imposto un valore massimo.
Qualsiasi condensatore di stabilizzazione collegato al pin RESET deve essere scollegato quando si utilizza aWire poiché interferirà con il corretto funzionamento dell'interfaccia. Si consiglia un pullup esterno debole (10kΩ o superiore) su questa linea.
Spegni la modalità di sospensione
Alcuni dispositivi AVR UC3 dispongono di un regolatore interno che può essere utilizzato in modalità di alimentazione a 3.3 V con linee I/O regolate a 1.8 V. Ciò significa che il regolatore interno alimenta sia il core che la maggior parte degli I/O. Solo Atmel AVR ONE! debugger supporta il debug durante l'utilizzo delle modalità di sospensione in cui questo regolatore è disattivato.
4.3.7. Utilizzo EVTI/EVTO
I pin EVTI ed EVTO non sono accessibili su Atmel-ICE. Tuttavia, possono ancora essere utilizzati insieme ad altre apparecchiature esterne.
EVTI può essere utilizzato per i seguenti scopi:
- La destinazione può essere forzata a interrompere l'esecuzione in risposta a un evento esterno. Se i bit Event In Control (EIC) nel registro DC vengono scritti su 0b01, la transizione da alto a basso sul pin EVTI genererà una condizione di punto di interruzione. EVTI deve rimanere basso per un ciclo di clock della CPU per garantire che un punto di interruzione sia Il bit EXB (External Breakpoint) in DS viene impostato quando ciò si verifica.
- Generazione di messaggi di sincronizzazione della traccia. Non utilizzato dall'Atmel-ICE.
EVTO può essere utilizzato per i seguenti scopi:
- Indica che la CPU è entrata nel debug L'impostazione dei bit EOS in DC su 0b01 fa sì che il pin EVTO venga abbassato per un ciclo di clock della CPU quando il dispositivo di destinazione entra in modalità di debug. Questo segnale può essere utilizzato come sorgente di trigger per un oscilloscopio esterno.
- Indica che la CPU ha raggiunto un breakpoint o watchpoint. Impostando il bit EOC in un registro di controllo Breakpoint/Watchpoint corrispondente, lo stato del punto di interruzione o del punto di controllo viene indicato sul pin EVTO. I bit EOS in DC devono essere impostati su 0xb10 per abilitare questa funzione. Il pin EVTO può quindi essere collegato a un oscilloscopio esterno per esaminare il punto di controllo
- Generazione di segnali di temporizzazione della traccia. Non utilizzato dall'Atmel-ICE.
4.4 Dispositivi tinyAVR, megaAVR e XMEGA
I dispositivi AVR sono dotati di varie interfacce di programmazione e debug. Controlla la scheda tecnica del dispositivo per le interfacce supportate di quel dispositivo.
- Alcuni minuscoli AVR® i dispositivi hanno un TPI TPI può essere utilizzato solo per programmare il dispositivo e questi dispositivi non hanno alcuna capacità di debug su chip.
- Alcuni dispositivi tinyAVR e alcuni dispositivi megaAVR hanno l'interfaccia debugWIRE, che si collega a un sistema di debug su chip noto come tinyOCD. Tutti i dispositivi con debugWIRE hanno anche l'interfaccia SPI per il sistema
- Alcuni dispositivi megaAVR hanno un JTAG interfaccia per la programmazione e il debug, con un sistema di debug su chip noto anche come Tutti i dispositivi con JTAG presentano anche l'interfaccia SPI come interfaccia alternativa per la programmazione nel sistema.
- Tutti i dispositivi AVR XMEGA hanno l'interfaccia PDI per la programmazione e alcuni dispositivi AVR XMEGA hanno anche un JTAG interfaccia con funzionalità identiche.
- I nuovi dispositivi tinyAVR hanno un'interfaccia UPDI, che viene utilizzata per la programmazione e il debug
Tabella 4-9. Riepilogo delle interfacce di programmazione e debug
AGGIORNAMENTO | TPI | SPI | debugWIR E | JTAG | PDI | un cavo | SWD | |
tinyAVR | Nuovi dispositivi | Alcuni dispositivi | Alcuni dispositivi | Alcuni dispositivi | ||||
megaAV R | Tutti i dispositivi | Alcuni dispositivi | Alcuni dispositivi | |||||
AVRXMEGA | Alcuni dispositivi | Tutti i dispositivi | ||||||
AVRUC | Tutti i dispositivi | Alcuni dispositivi | ||||||
SAM | Alcuni dispositivi | Tutti i dispositivi |
4.4.1. ETAG Interfaccia fisica
Il JTAG l'interfaccia è costituita da un controller TAP (Test Access Port) a 4 fili conforme a IEEE® 1149.1 standard. Lo standard IEEE è stato sviluppato per fornire un modo standard del settore per testare in modo efficiente la connettività del circuito stampato (Boundary Scan). I dispositivi Atmel AVR e SAM hanno esteso questa funzionalità per includere il supporto completo per la programmazione e il debug su chip.
Figura 4-9. JTAG Nozioni di base sull'interfaccia4.4.2. Collegamento a un JTAG Bersaglio
L'Atmel-ICE è dotato di due connettori JTAG connettori. Entrambi i connettori sono collegati elettricamente direttamente, ma sono conformi a due diverse piedinature; l'AVR JTAG intestazione e l'intestazione ARM Cortex Debug. Il connettore deve essere selezionato in base al pinout della scheda di destinazione e non al tipo di MCU di destinazione, ad esampLe un dispositivo SAM montato in uno stack AVR STK600 deve utilizzare l'intestazione AVR.
Il pinout consigliato per l'AVR JTAG connettore è mostrato nella Figura 4-6.
La piedinatura consigliata per il connettore ARM Cortex Debug a 10 pin è mostrata nella Figura 4-2.
Collegamento diretto a un'intestazione standard a 10 pin da 50 mil
Utilizzare il cavo piatto da 50 mil a 10 pin (incluso in alcuni kit) per collegarsi direttamente a una scheda che supporta questo tipo di intestazione. Utilizzare la porta del connettore AVR su Atmel-ICE per le intestazioni con il pinout AVR e la porta del connettore SAM per le intestazioni conformi al pinout dell'intestazione ARM Cortex Debug.
I pinout per entrambe le porte del connettore a 10 pin sono mostrati di seguito.
Connessione a un'intestazione standard a 10 pin da 100 mil
Utilizzare un adattatore standard da 50 mil a 100 mil per connettersi alle intestazioni da 100 mil. A tale scopo può essere utilizzata una scheda adattatore (inclusa in alcuni kit) o in alternativa la scheda JTAGL'adattatore ICE3 può essere utilizzato per obiettivi AVR. Importante:
Il JTAGL'adattatore ICE3 da 100 mil non può essere utilizzato con la porta del connettore SAM, poiché i pin 2 e 10 (AVR GND) sull'adattatore sono collegati.
Connessione a un'intestazione personalizzata da 100 mil
Se la scheda di destinazione non dispone di un connettore J a 10 pin conformeTAG intestazione in 50 o 100 mil, è possibile mappare su una piedinatura personalizzata utilizzando il cavo "mini-squid" a 10 pin (incluso in alcuni kit), che consente l'accesso a dieci prese individuali da 100 mil.
Connessione a un'intestazione da 20 mil a 100 pin
Utilizzare la scheda adattatore (inclusa in alcuni kit) per connettersi a target con un'intestazione da 20 mil a 100 pin.
Tabella 4-10. Atmel-ICE JTAG Descrizione del pin
Nome | AVR perno porta | SAM perno porta | Descrizione |
TCK | 1 | 4 | Test Clock (segnale di clock dall'Atmel-ICE al dispositivo di destinazione). |
Stimolazione magnetica | 5 | 2 | Test Mode Select (segnale di controllo dall'Atmel-ICE al dispositivo target). |
TDI | 9 | 8 | Test Data In (dati trasmessi dall'Atmel-ICE al dispositivo di destinazione). |
TDO | 3 | 6 | Test Data Out (dati trasmessi dal dispositivo target all'Atmel-ICE). |
nTRST | 8 | – | Ripristino test (opzionale, solo su alcuni dispositivi AVR). Usato per resettare il JTAG Controllore TAP. |
nSRST | 6 | 10 | Reimposta (facoltativo). Utilizzato per reimpostare il dispositivo di destinazione. Il collegamento di questo pin è consigliato poiché consente all'Atmel-ICE di mantenere il dispositivo di destinazione in uno stato di ripristino, che può essere essenziale per il debug in determinati scenari. |
Vintage-vintage | 4 | 1 | Obiettivo voltage riferimento. L'Atmel-ICE samples il target voltage su questo pin per alimentare correttamente i convertitori di livello. L'Atmel-ICE assorbe meno di 3 mA da questo pin in modalità debugWIRE e meno di 1 mA in altre modalità. |
Terra | 2, 10 | 3, 5, 9 | Terra. Tutti devono essere collegati per garantire che l'Atmel-ICE e il dispositivo target condividano lo stesso riferimento di terra. |
4.4.3.Interfaccia fisica SPI
La programmazione In-System utilizza la SPI (Serial Peripheral Interface) interna dell'AVR Atmel di destinazione per scaricare il codice nelle memorie flash ed EEPROM. Non è un'interfaccia di debug. Quando si progetta un PCB dell'applicazione, che include un AVR con l'interfaccia SPI, è necessario utilizzare il pinout come mostrato nella figura seguente.
Figura 4-10. Piedinatura dell'intestazione SPI4.4.4. Connessione a un target SPI
La piedinatura consigliata per il connettore SPI a 6 pin è illustrata nella Figura 4-10.
Connessione a un'intestazione SPI da 6 mil a 100 pin
Utilizzare la presa da 6 mil a 100 pin sul cavo piatto (incluso in alcuni kit) per il collegamento a un'intestazione SPI standard da 100 mil.
Connessione a un'intestazione SPI da 6 mil a 50 pin
Utilizzare la scheda adattatore (inclusa in alcuni kit) per connettersi a un'intestazione SPI standard da 50 mil.
Connessione a un'intestazione personalizzata da 100 mil
Il cavo mini-squid a 10 pin deve essere utilizzato per il collegamento tra la porta del connettore Atmel-ICE AVR e la scheda di destinazione. Sono necessarie sei connessioni, come descritto nella tabella sottostante. Importante:
L'interfaccia SPI è effettivamente disabilitata quando è programmato il fusibile di abilitazione debugWIRE (DWEN), anche se è programmato anche il fusibile SPIEN. Per riattivare l'interfaccia SPI, è necessario eseguire il comando 'disable debugWIRE' durante una sessione di debugging debugWIRE. La disabilitazione di debugWIRE in questo modo richiede che il fusibile SPIEN sia già programmato. Se Atmel Studio non riesce a disabilitare debugWIRE, è probabile perché il fusibile SPIEN NON è programmato. Se questo è il caso, è necessario utilizzare un high-voltage interfaccia di programmazione per programmare il fusibile SPIEN. Informazioni:
L'interfaccia SPI viene spesso definita "ISP", poiché è stata la prima interfaccia di programmazione In System sui prodotti Atmel AVR. Altre interfacce sono ora disponibili per In System Programming.
Tabella 4-11. Mappatura dei pin SPI Atmel-ICE
Perni porta Atmel-ICE AVR | Perni bersaglio | Pin di mini-calamari | Piedinatura SPI |
Perno 1 (TCK) | SCK | 1 | 3 |
Perno 2 (GND) | Terra | 2 | 6 |
Perno 3 (TDO) | MISO | 3 | 1 |
Perno 4 (VTG) | Vintage-vintage | 4 | 2 |
Perno 5 (TMS) | 5 | ||
Perno 6 (nSRST) | / RIPRISTINA | 6 | 5 |
Pin 7 (non connesso) | 7 | ||
Perno 8 (nTRST) | 8 | ||
Perno 9 (TDI) | MOSI | 9 | 4 |
Perno 10 (GND) | 0 |
4.4.5. PDI
L'interfaccia di programma e debug (PDI) è un'interfaccia proprietaria Atmel per la programmazione esterna e il debug su chip di un dispositivo. PDI Physical è un'interfaccia a 2 pin che fornisce una comunicazione sincrona half-duplex bidirezionale con il dispositivo di destinazione.
Quando si progetta un PCB dell'applicazione, che include un Atmel AVR con l'interfaccia PDI, è necessario utilizzare il pinout mostrato nella figura seguente. È quindi possibile utilizzare uno degli adattatori a 6 pin forniti con il kit Atmel-ICE per collegare la sonda Atmel-ICE al PCB dell'applicazione.
Figura 4-11. Piedinatura dell'intestazione PDI4.4.6.Connessione a un PDI Target
La piedinatura consigliata per il connettore PDI a 6 pin è mostrata nella Figura 4-11.
Connessione a un'intestazione PDI da 6 mil a 100 pin
Utilizzare la presa da 6 mil a 100 pin sul cavo piatto (incluso in alcuni kit) per il collegamento a un'intestazione PDI standard da 100 mil.
Connessione a un'intestazione PDI da 6 mil a 50 pin
Utilizzare la scheda adattatore (inclusa in alcuni kit) per il collegamento a un'intestazione PDI standard da 50 mil.
Connessione a un'intestazione personalizzata da 100 mil
Il cavo mini-squid a 10 pin deve essere utilizzato per il collegamento tra la porta del connettore Atmel-ICE AVR e la scheda di destinazione. Sono necessarie quattro connessioni, come descritto nella tabella sottostante. Importante:
Il pinout richiesto è diverso dal JTAGICE mk II JTAG probe, dove PDI_DATA è connesso al pin 9. L'Atmel-ICE è compatibile con il pinout utilizzato dall'Atmel-ICE, JTAGICE3, AVR ONE! e AVR Dragon™ prodotti.
Tabella 4-12. Mappatura pin PDI Atmel-ICE
Perno porta Atmel-ICE AVR | Perni bersaglio | Pin di mini-calamari | Piedinatura PDI Atmel STK600 |
Perno 1 (TCK) | 1 | ||
Perno 2 (GND) | Terra | 2 | 6 |
Perno 3 (TDO) | PDI_DATI | 3 | 1 |
Perno 4 (VTG) | Vintage-vintage | 4 | 2 |
Perno 5 (TMS) | 5 | ||
Perno 6 (nSRST) | PDI_CLK | 6 | 5 |
Pin 7 (non connesso) | 7 | ||
Perno 8 (nTRST) | 8 | ||
Perno 9 (TDI) | 9 | ||
Perno 10 (GND) | 0 |
4.4.7. Interfaccia fisica UPDI
L'Unified Program and Debug Interface (UPDI) è un'interfaccia proprietaria Atmel per la programmazione esterna e il debug su chip di un dispositivo. È un successore dell'interfaccia fisica a 2 fili PDI, che si trova su tutti i dispositivi AVR XMEGA. UPDI è un'interfaccia a filo singolo che fornisce una comunicazione asincrona half-duplex bidirezionale con il dispositivo di destinazione per scopi di programmazione e debug.
Quando si progetta un'applicazione PCB, che include un Atmel AVR con l'interfaccia UPDI, è necessario utilizzare il pinout mostrato di seguito. È quindi possibile utilizzare uno degli adattatori a 6 pin forniti con il kit Atmel-ICE per collegare la sonda Atmel-ICE al PCB dell'applicazione.
Figura 4-12. Piedinatura dell'intestazione UPDI4.4.7.1 UPDI e /RESET
L'interfaccia UPDI a un filo può essere un pin dedicato o un pin condiviso, a seconda del dispositivo AVR di destinazione. Consultare la scheda tecnica del dispositivo per ulteriori informazioni.
Quando l'interfaccia UPDI si trova su un pin condiviso, il pin può essere configurato per essere UPDI, /RESET o GPIO impostando i fusibili RSTPINCFG[1:0].
I fusibili RSTPINCFG[1:0] hanno le seguenti configurazioni, come descritto nel datasheet. Le implicazioni pratiche di ogni scelta sono qui fornite.
Tabella 4-13. RSTPINCFG[1:0] Configurazione fusibili
RSTPINCFG[1:0] | Configurazione | Utilizzo |
00 | GPIO | Pin I/O per uso generico. Per accedere a UPDI, è necessario applicare un impulso a 12V a questo pin. Non è disponibile alcuna sorgente di ripristino esterna. |
01 | AGGIORNAMENTO | Pin di programmazione e debug dedicato. Non è disponibile alcuna sorgente di ripristino esterna. |
10 | Reset | Reimpostare l'ingresso del segnale. Per accedere a UPDI, è necessario applicare un impulso a 12V a questo pin. |
11 | Prenotato | NA |
Nota: I vecchi dispositivi AVR hanno un'interfaccia di programmazione, nota come "High-Voltage Programming” (esistono sia varianti seriali che parallele). In generale questa interfaccia richiede l'applicazione di 12V al pin /RESET per la durata della sessione di programmazione. L'interfaccia UPDI è un'interfaccia completamente diversa. Il pin UPDI è principalmente un pin di programmazione e debug, che può essere fuso per avere una funzione alternativa (/RESET o GPIO). Se viene selezionata la funzione alternativa, è necessario un impulso a 12V su quel pin per riattivare la funzionalità UPDI.
Nota: Se un progetto richiede la condivisione del segnale UPDI a causa di vincoli di pin, è necessario adottare misure per garantire che il dispositivo possa essere programmato. Per garantire che il segnale UPDI possa funzionare correttamente, nonché per evitare danni ai componenti esterni dall'impulso 12V, si consiglia di scollegare qualsiasi componente su questo pin quando si tenta di eseguire il debug o programmare il dispositivo. Questo può essere fatto utilizzando un resistore da 0Ω, che è montato per impostazione predefinita e rimosso o sostituito da un'intestazione pin durante il debug. Questa configurazione significa effettivamente che la programmazione deve essere eseguita prima di montare il dispositivo. Importante: L'Atmel-ICE non supporta 12V sulla linea UPDI. In altre parole, se il pin UPDI è stato configurato come GPIO o RESET, l'Atmel-ICE non sarà in grado di abilitare l'interfaccia UPDI.
4.4.8.Connessione a una destinazione UPDI
La piedinatura consigliata per il connettore UPDI a 6 pin è illustrata nella Figura 4-12.
Connessione a un'intestazione UPDI da 6 mil a 100 pin
Utilizzare la presa a 6 pin da 100 mil sul cavo piatto (incluso in alcuni kit) per il collegamento a un'intestazione UPDI standard da 100 mil.
Connessione a un'intestazione UPDI da 6 mil a 50 pin
Utilizzare la scheda adattatore (inclusa in alcuni kit) per il collegamento a un'intestazione UPDI standard da 50 mil.
Connessione a un'intestazione personalizzata da 100 mil
Il cavo mini-squid a 10 pin deve essere utilizzato per il collegamento tra la porta del connettore Atmel-ICE AVR e la scheda di destinazione. Sono necessarie tre connessioni, come descritto nella tabella sottostante.
Tabella 4-14. Mappatura pin UPDI Atmel-ICE
Perno porta Atmel-ICE AVR | Perni bersaglio | Pin di mini-calamari | Piedinatura UPDI Atmel STK600 |
Perno 1 (TCK) | 1 | ||
Perno 2 (GND) | Terra | 2 | 6 |
Perno 3 (TDO) | UPDI_DATI | 3 | 1 |
Perno 4 (VTG) | Vintage-vintage | 4 | 2 |
Perno 5 (TMS) | 5 | ||
Perno 6 (nSRST) | [/RESET senso] | 6 | 5 |
Pin 7 (non connesso) | 7 | ||
Perno 8 (nTRST) | 8 | ||
Perno 9 (TDI) | 9 | ||
Perno 10 (GND) | 0 |
4.4.9 Interfaccia fisica TPI
TPI è un'interfaccia di sola programmazione per alcuni dispositivi AVR ATtiny. Non è un'interfaccia di debug e questi dispositivi non hanno funzionalità OCD. Quando si progetta un'applicazione PCB che include un AVR con l'interfaccia TPI, è necessario utilizzare il pinout mostrato nella figura seguente.
Figura 4-13. Piedinatura dell'intestazione TPI4.4.10.Connessione a un target TPI
La piedinatura consigliata per il connettore TPI a 6 pin è mostrata nella Figura 4-13.
Connessione a un'intestazione TPI da 6 mil a 100 pin
Utilizzare la presa a 6 pin da 100 mil sul cavo piatto (incluso in alcuni kit) per il collegamento a un'intestazione TPI standard da 100 mil.
Connessione a un'intestazione TPI da 6 mil a 50 pin
Utilizzare la scheda adattatore (inclusa in alcuni kit) per il collegamento a un'intestazione TPI standard da 50 mil.
Connessione a un'intestazione personalizzata da 100 mil
Il cavo mini-squid a 10 pin deve essere utilizzato per il collegamento tra la porta del connettore Atmel-ICE AVR e la scheda di destinazione. Sono necessarie sei connessioni, come descritto nella tabella sottostante.
Tabella 4-15. Mappatura dei pin TPI Atmel-ICE
Perni porta Atmel-ICE AVR | Perni bersaglio | Pin di mini-calamari | Piedinatura TPI |
Perno 1 (TCK) | OROLOGIO | 1 | 3 |
Perno 2 (GND) | Terra | 2 | 6 |
Perno 3 (TDO) | DATI | 3 | 1 |
Perno 4 (VTG) | Vintage-vintage | 4 | 2 |
Perno 5 (TMS) | 5 | ||
Perno 6 (nSRST) | / RIPRISTINA | 6 | 5 |
Pin 7 (non connesso) | 7 | ||
Perno 8 (nTRST) | 8 | ||
Perno 9 (TDI) | 9 | ||
Perno 10 (GND) | 0 |
4.4.11. Debug avanzato (AVR JTAG /debugWIRE dispositivi)
periferiche I/O
La maggior parte delle periferiche di I/O continuerà a funzionare anche se l'esecuzione del programma viene interrotta da un punto di interruzione. Example: se viene raggiunto un punto di interruzione durante una trasmissione UART, la trasmissione verrà completata e i bit corrispondenti verranno impostati. Il flag TXC (trasmissione completa) verrà impostato e sarà disponibile nel singolo passaggio successivo del codice anche se normalmente si verificherebbe successivamente in un dispositivo reale.
Tutti i moduli I/O continueranno a funzionare in modalità arrestata con le seguenti due eccezioni:
- Timer/Contatori (configurabili tramite il front-end del software)
- Watchdog Timer (sempre fermato per evitare reset durante il debug)
Accesso I/O a passo singolo
Poiché l'I/O continua a funzionare in modalità interrotta, è necessario prestare attenzione per evitare determinati problemi di temporizzazione. Per esample, il codice:
Quando si esegue questo codice normalmente, il registro TEMP non rilegge 0xAA perché i dati non sarebbero ancora stati agganciati fisicamente al pin nel momento in cui è sampguidata dall'operazione IN. Un'istruzione NOP deve essere inserita tra l'istruzione OUT e l'istruzione IN per garantire che il valore corretto sia presente nel registro PIN.
Tuttavia, quando si esegue un singolo passaggio di questa funzione attraverso l'OCD, questo codice restituirà sempre 0xAA nel registro PIN poiché l'I/O funziona a piena velocità anche quando il core viene arrestato durante il singolo passaggio.
Passo singolo e temporizzazione
Alcuni registri devono essere letti o scritti entro un determinato numero di cicli dopo aver abilitato un segnale di controllo. Poiché il clock di I/O e le periferiche continuano a funzionare alla massima velocità in modalità di arresto, un singolo passaggio attraverso tale codice non soddisferà i requisiti di temporizzazione. Tra due singoli passaggi, il clock I/O potrebbe aver eseguito milioni di cicli. Per leggere o scrivere correttamente registri con tali requisiti di temporizzazione, l'intera sequenza di lettura o scrittura dovrebbe essere eseguita come un'operazione atomica che fa funzionare il dispositivo alla massima velocità. Questo può essere fatto utilizzando una macro o una chiamata di funzione per eseguire il codice, oppure utilizzare la funzione run-to-cursor nell'ambiente di debug
Accesso a registri a 16 bit
Le periferiche Atmel AVR contengono tipicamente diversi registri a 16 bit a cui è possibile accedere tramite il bus dati a 8 bit (ad esempio: TCNTn di un timer a 16 bit). Il registro a 16 bit deve essere accessibile tramite byte utilizzando due operazioni di lettura o scrittura. L'interruzione nel mezzo di un accesso a 16 bit o un singolo passaggio attraverso questa situazione può causare valori errati.
Accesso limitato al registro I/O
Alcuni registri non possono essere letti senza alterarne il contenuto. Tali registri includono quelli che contengono flag che vengono cancellati tramite lettura o registri di dati bufferizzati (es: UDR). Il front-end del software impedirà la lettura di questi registri in modalità di arresto per preservare la natura non intrusiva prevista del debug OCD. Inoltre, alcuni registri non possono essere scritti in sicurezza senza che si verifichino effetti collaterali: questi registri sono di sola lettura. Per esampon:
- Registri flag, in cui un flag viene cancellato scrivendo '1' in qualsiasi Questi registri sono di sola lettura.
- I registri UDR e SPDR non possono essere letti senza influenzare lo stato del modulo. Questi registri non lo sono
4.4.12. megaAVR Considerazioni speciali
Punti di interruzione del software
Poiché contiene una versione precedente del modulo OCD, ATmega128[A] non supporta l'uso dell'istruzione BREAK per i breakpoint software.
JTAG orologio
La frequenza di clock di destinazione deve essere specificata accuratamente nel front-end del software prima di avviare una sessione di debug. Per motivi di sincronizzazione, il JTAG Il segnale TCK deve essere inferiore a un quarto della frequenza di clock target per un debugging affidabile. Quando si programma tramite JTAG interfaccia, la frequenza TCK è limitata dalla frequenza massima nominale del dispositivo di destinazione e non dalla frequenza di clock effettiva utilizzata.
Quando si utilizza l'oscillatore RC interno, tenere presente che la frequenza può variare da dispositivo a dispositivo ed è influenzata dalla temperatura e dal VCC i cambiamenti. Sii prudente quando specifichi la frequenza di clock di destinazione.
JTAGFusibili EN e OCDEN
Il JTAG l'interfaccia è abilitata utilizzando l'interfaccia JTAGEN fusibile, che è programmato per impostazione predefinita. Ciò consente l'accesso al JTAG interfaccia di programmazione. Attraverso questo meccanismo è possibile programmare il fusibile OCDEN (di default OCDEN non è programmato). Ciò consente l'accesso all'OCD per facilitare il debug del dispositivo. Il front-end del software assicurerà sempre che il fusibile OCDEN non venga programmato al termine di una sessione, limitando così il consumo di energia non necessario da parte del modulo OCD. Se il JTAGIl fusibile EN viene disattivato involontariamente, può essere riattivato solo utilizzando SPI o High Voltage metodi di programmazione.
Se il JTAGEN è programmato, il fusibile JTAG l'interfaccia può ancora essere disabilitata nel firmware impostando il bit JTD. Questo renderà il codice non debuggabile e non dovrebbe essere fatto quando si tenta una sessione di debug. Se tale codice è già in esecuzione sul dispositivo Atmel AVR quando si avvia una sessione di debug, Atmel-ICE asserirà la riga RESET durante la connessione. Se questa linea è cablata correttamente, forzerà il ripristino del dispositivo AVR di destinazione, consentendo così un JTAG connessione.
Se il JTAG l'interfaccia è abilitata, l'interfaccia JTAG i pin non possono essere utilizzati per funzioni pin alternative. Rimarranno dedicati JTAG perni fino a quando il JTAG l'interfaccia viene disabilitata impostando il bit JTD dal codice del programma o cancellando il JTAGEN fusibile tramite un'interfaccia di programmazione.
Mancia:
Assicurati di selezionare la casella di controllo "usa ripristino esterno" sia nella finestra di dialogo di programmazione che nella finestra di dialogo delle opzioni di debug per consentire ad Atmel-ICE di affermare la linea RESET e riattivare JTAG interfaccia su dispositivi che eseguono codice che disabilita JTAG interfaccia impostando il bit JTD.
Eventi IDR/OCDR
L'IDR (In-out Data Register) è anche noto come OCDR (On Chip Debug Register) ed è ampiamente utilizzato dal debugger per leggere e scrivere informazioni sull'MCU quando è in modalità di arresto durante una sessione di debug. Quando il programma applicativo in modalità di esecuzione scrive un byte di dati nel registro OCDR del dispositivo AVR sottoposto a debug, Atmel-ICE legge questo valore e lo visualizza nella finestra dei messaggi del front-end del software. Il registro OCDR viene interrogato ogni 50 ms, quindi scriverlo a una frequenza più elevata NON produrrà risultati affidabili. Quando il dispositivo AVR perde alimentazione durante il debug, potrebbero essere segnalati eventi OCDR spuri. Ciò accade perché l'Atmel-ICE potrebbe ancora eseguire il polling del dispositivo come target voltage scende al di sotto del volume operativo minimo dell'AVRtage.
4.4.13. AVR XMEGA Considerazioni speciali
DOC e clock
Quando l'MCU entra in modalità di arresto, l'orologio OCD viene utilizzato come orologio MCU. L'orologio OCD è il JTAG TCK se JTAG viene utilizzata l'interfaccia o PDI_CLK se viene utilizzata l'interfaccia PDI.
Moduli I/O in modalità di arresto
A differenza dei precedenti dispositivi Atmel megaAVR, in XMEGA i moduli I/O vengono arrestati in modalità di arresto. Ciò significa che le trasmissioni USART verranno interrotte, i timer (e il PWM) verranno interrotti.
Punti di interruzione hardware
Esistono quattro comparatori di punti di interruzione hardware: due comparatori di indirizzi e due comparatori di valori. Hanno alcune restrizioni:
- Tutti i punti di interruzione devono essere dello stesso tipo (programma o dati)
- Tutti i punti di interruzione dei dati devono trovarsi nella stessa area di memoria (I/O, SRAM o XRAM)
- Può esserci un solo punto di interruzione se viene utilizzato l'intervallo di indirizzi
Ecco le diverse combinazioni impostabili:
- Due singoli punti di interruzione dell'indirizzo di dati o di programma
- Un punto di interruzione dell'intervallo di indirizzi di dati o programmi
- Due singoli punti di interruzione dell'indirizzo dati con confronto di un singolo valore
- Un punto di interruzione dati con intervallo di indirizzi, intervallo di valori o entrambi
Atmel Studio ti dirà se non è possibile impostare il punto di interruzione e perché. I punti di interruzione dei dati hanno la priorità sui punti di interruzione del programma, se sono disponibili punti di interruzione del software.
Reset esterno e PDI fisico
L'interfaccia fisica PDI utilizza la linea di reset come clock. Durante il debug, il pullup di ripristino dovrebbe essere 10k o più o essere rimosso. Tutti i condensatori di ripristino devono essere rimossi. Altre fonti di ripristino esterne devono essere disconnesse.
Debug con sleep per ATxmegaA1 rev H e versioni precedenti
Nelle prime versioni dei dispositivi ATxmegaA1 esisteva un bug che impediva l'abilitazione dell'OCD mentre il dispositivo era in determinate modalità di sospensione. Esistono due soluzioni alternative per riattivare OCD:
- Entra nell'Atmel-ICE. Opzioni nel menu Strumenti e abilitare "Attiva sempre il ripristino esterno durante la riprogrammazione del dispositivo".
- Eseguire una cancellazione del chip
Le modalità di sospensione che attivano questo bug sono:
- Spegnimento
- Risparmio energetico
- Stand-by
- Standby prolungato
4.4.1.debugWIRE Considerazioni speciali
Il pin di comunicazione debugWIRE (dW) si trova fisicamente sullo stesso pin del reset esterno (RESET). Una sorgente di ripristino esterna non è quindi supportata quando l'interfaccia debugWIRE è abilitata.
Il fusibile debugWIRE Enable (DWEN) deve essere impostato sul dispositivo di destinazione affinché l'interfaccia debugWIRE funzioni. Questo fusibile è per impostazione predefinita non programmato quando il dispositivo Atmel AVR viene spedito dalla fabbrica. L'interfaccia debugWIRE stessa non può essere utilizzata per impostare questo fusibile. Per impostare il fusibile DWEN, deve essere utilizzata la modalità SPI. Il front-end del software lo gestisce automaticamente a condizione che i pin SPI necessari siano collegati. Può anche essere impostato utilizzando la programmazione SPI dalla finestra di dialogo di programmazione di Atmel Studio.
O: Tentativo di avviare una sessione di debug sulla parte debugWIRE. Se l'interfaccia debugWIRE non è abilitata, Atmel Studio offrirà di riprovare o tenterà di abilitare debugWIRE utilizzando la programmazione SPI. Se hai collegato l'intestazione SPI completa, debugWIRE sarà abilitato e ti verrà chiesto di attivare o disattivare l'alimentazione sul target. Ciò è necessario affinché le modifiche ai fusibili siano effettive.
O: Aprire la finestra di dialogo di programmazione in modalità SPI e verificare che la firma corrisponda al dispositivo corretto. Controllare il fusibile DWEN per abilitare debugWIRE. Importante:
È importante lasciare il fusibile SPIEN programmato, il fusibile RSTDISBL non programmato! In caso contrario, il dispositivo si bloccherà in modalità debugWIRE e High VoltagLa programmazione sarà necessaria per ripristinare l'impostazione DWEN.
Per disabilitare l'interfaccia debugWIRE, usa High Voltage programmazione per annullare la programmazione del fusibile DWEN. In alternativa, utilizzare l'interfaccia debugWIRE stessa per disabilitarsi temporaneamente, il che consentirà la programmazione SPI, a condizione che il fusibile SPIEN sia impostato. Importante:
Se il fusibile SPIEN NON è stato lasciato programmato, Atmel Studio non sarà in grado di completare questa operazione e High VoltagÈ necessario utilizzare la programmazione.
Durante una sessione di debug, seleziona l'opzione di menu 'Disabilita debugWIRE e chiudi' dal menu 'Debug'. DebugWIRE sarà temporaneamente disabilitato e Atmel Studio utilizzerà la programmazione SPI per annullare la programmazione del fusibile DWEN.
La programmazione del fusibile DWEN consente ad alcune parti del sistema dell'orologio di funzionare in tutte le modalità di sospensione. Ciò aumenterà il consumo energetico dell'AVR durante le modalità di sospensione. Il fusibile DWEN dovrebbe quindi essere sempre disabilitato quando debugWIRE non viene utilizzato.
Quando si progetta un PCB dell'applicazione target in cui verrà utilizzato debugWIRE, è necessario fare le seguenti considerazioni per il corretto funzionamento:
- Le resistenze di pull-up sulla linea dW/(RESET) non devono essere inferiori (più forti) di 10kΩ. La resistenza di pull-up non è richiesta per la funzionalità debugWIRE, poiché lo strumento debugger fornisce
- Eventuali condensatori di stabilizzazione collegati al pin RESET devono essere scollegati quando si utilizza debugWIRE, poiché interferirebbero con il corretto funzionamento dell'interfaccia
- Tutte le fonti esterne di ripristino o altri driver attivi sulla linea RESET devono essere scollegati, poiché potrebbero interferire con il corretto funzionamento dell'interfaccia
Non programmare mai i bit di blocco sul dispositivo di destinazione. L'interfaccia debugWIRE richiede che i bit di blocco siano cancellati per funzionare correttamente.
4.4.15. Punti di interruzione del software debugWIRE
L'OCD debugWIRE è drasticamente ridotto rispetto all'Atmel megaAVR (JTAG) DOC. Ciò significa che non dispone di alcun comparatore di punto di interruzione del contatore del programma disponibile per l'utente a scopo di debug. Uno di questi comparatori esiste ai fini delle operazioni run-to-cursor e single-step, ma nell'hardware non sono supportati punti di interruzione utente aggiuntivi.
Invece, il debugger deve utilizzare l'istruzione AVR BREAK. Questa istruzione può essere inserita in FLASH e, quando viene caricata per l'esecuzione, la CPU dell'AVR entrerà in modalità di arresto. Per supportare i punti di interruzione durante il debug, il debugger deve inserire un'istruzione BREAK in FLASH nel punto in cui gli utenti richiedono un punto di interruzione. L'istruzione originale deve essere memorizzata nella cache per la successiva sostituzione.
Quando si esegue un singolo passaggio su un'istruzione BREAK, il debugger deve eseguire l'istruzione originale memorizzata nella cache per preservare il comportamento del programma. In casi estremi, il BREAK deve essere rimosso da FLASH e sostituito successivamente. Tutti questi scenari possono causare apparenti ritardi durante il passaggio singolo dai punti di interruzione, che saranno esacerbati quando la frequenza di clock target è molto bassa.
Si raccomanda pertanto di osservare le seguenti linee guida, ove possibile:
- Eseguire sempre la destinazione alla frequenza più alta possibile durante il debug. L'interfaccia fisica debugWIRE è sincronizzata dal clock di destinazione.
- Cerca di ridurre al minimo il numero di aggiunte e rimozioni di punti di interruzione, poiché ognuno richiede la sostituzione di una pagina FLASH sul target
- Prova ad aggiungere o rimuovere un piccolo numero di punti di interruzione alla volta, per ridurre al minimo il numero di operazioni di scrittura della pagina FLASH
- Se possibile, evitare di inserire punti di interruzione nelle istruzioni di doppia parola
4.4.16. Comprendere debugWIRE e DWEN Fuse
Se abilitata, l'interfaccia debugWIRE prende il controllo del pin /RESET del dispositivo, il che la rende mutuamente esclusiva rispetto all'interfaccia SPI, che necessita anch'essa di questo pin. Quando si abilita e disabilita il modulo debugWIRE, seguire uno di questi due approcci:
- Lascia che Atmel Studio si occupi delle cose (consigliato)
- Imposta e cancella DWEN manualmente (prestare attenzione, solo per utenti esperti!)
Importante: Quando si manipola manualmente DWEN, è importante che il fusibile SPIEN rimanga impostato per evitare di dover utilizzare High-Voltage programmazione
Figura 4-14. Comprendere debugWIRE e DWEN Fuse4.4.17.TinyX-OCD (UPDI) Considerazioni speciali
Il pin dati UPDI (UPDI_DATA) può essere un pin dedicato o un pin condiviso, a seconda del dispositivo AVR di destinazione. Un pin UPDI condiviso è tollerante a 12V e può essere configurato per essere utilizzato come /RESET o GPIO. Per ulteriori dettagli su come utilizzare il pin in queste configurazioni, vedere UPDI Physical Interface.
Sui dispositivi che includono il modulo CRCSCAN (Cyclic Redundancy Check Memory Scan) questo modulo non deve essere utilizzato in modalità continua in background durante il debug. Il modulo OCD dispone di risorse limitate per il comparatore di punti di interruzione hardware, quindi le istruzioni BREAK possono essere inserite in flash (punti di interruzione software) quando sono richiesti più punti di interruzione o anche durante l'esecuzione del codice a livello di sorgente. Il modulo CRC potrebbe rilevare erroneamente questo punto di interruzione come danneggiamento del contenuto della memoria flash.
Il modulo CRCSCAN può anche essere configurato per eseguire una scansione CRC prima dell'avvio. In caso di mancata corrispondenza CRC, il dispositivo non si avvierà e sembrerà bloccato. L'unico modo per ripristinare il dispositivo da questo stato è eseguire una cancellazione completa del chip e programmare un'immagine flash valida o disabilitare il CRCSCAN di preavvio. (Una semplice cancellazione del chip risulterà in un flash vuoto con CRC non valido e la parte quindi non si avvierà ancora.) Atmel Studio disabiliterà automaticamente i fusibili CRCSCAN durante la cancellazione del chip di un dispositivo in questo stato.
Quando si progetta un PCB dell'applicazione di destinazione in cui verrà utilizzata l'interfaccia UPDI, è necessario effettuare le seguenti considerazioni per il corretto funzionamento:
- Le resistenze di pull-up sulla linea UPDI non devono essere inferiori (più forti) di 10kΩ. Un resistore pull-down non deve essere utilizzato o deve essere rimosso quando si utilizza UPDI. Il fisico UPDI è compatibile con il push-pull, quindi è necessario solo un debole resistore di pull-up per impedire l'attivazione del bit di falsa partenza quando la linea è
- Se il pin UPDI deve essere utilizzato come pin RESET, qualsiasi condensatore di stabilizzazione deve essere scollegato quando si utilizza UPDI, poiché interferirà con il corretto funzionamento dell'interfaccia
- Se il pin UPDI viene utilizzato come pin RESET o GPIO, tutti i driver esterni sulla linea devono essere disconnessi durante la programmazione o il debug poiché potrebbero interferire con il corretto funzionamento dell'interfaccia.
Descrizione hardware
5.1 LED
Il pannello superiore di Atmel-ICE dispone di tre LED che indicano lo stato delle sessioni di debug o programmazione correnti.
Tavolo 5-1. LED
GUIDATO | Funzione | Descrizione |
Sinistra | Potenza bersaglio | VERDE quando la potenza target è OK. Lampeggiante indica un errore di alimentazione target. Non si accende finché non viene avviata una connessione di sessione di programmazione/debug. |
Mezzo | Potenza principale | ROSSO quando l'alimentazione della scheda madre è OK. |
Giusto | Stato | VERDE lampeggiante quando il bersaglio sta correndo/avanzando. OFF quando il bersaglio è fermo. |
5.2. Pannello posteriore
Il pannello posteriore dell'Atmel-ICE ospita il connettore USB Micro-B.5.3. Pannello inferiore
Il pannello inferiore dell'Atmel-ICE ha un adesivo che mostra il numero di serie e la data di produzione. Quando cerchi supporto tecnico, includi questi dettagli.5.4 .Descrizione dell'architettura
L'architettura Atmel-ICE è mostrata nel diagramma a blocchi della Figura 5-1.
Figura 5-1. Diagramma a blocchi Atmel-ICE5.4.1. Scheda madre Atmel-ICE
L'alimentazione viene fornita all'Atmel-ICE dal bus USB, regolato a 3.3 V da un regolatore di modalità di commutazione step-down. Il pin VTG viene utilizzato solo come ingresso di riferimento e un alimentatore separato alimenta la variabile voltage lato dei convertitori di livello a bordo. Il cuore della scheda madre Atmel-ICE è il microcontrollore Atmel AVR UC3 AT32UC3A4256, che funziona tra 1 MHz e 60 MHz a seconda delle attività in fase di elaborazione. Il microcontrollore include un modulo ad alta velocità USB 2.0 su chip, che consente un elevato throughput di dati da e verso il debugger.
La comunicazione tra Atmel-ICE e il dispositivo target avviene tramite un banco di convertitori di livello che spostano i segnali tra il volume operativo del targettage e il vol internotage livello sull'Atmel-ICE. Anche nel percorso del segnale sono zener overvoltage diodi di protezione, resistori di terminazione in serie, filtri induttivi e diodi di protezione ESD. Tutti i canali di segnale possono essere utilizzati nell'intervallo da 1.62 V a 5.5 V, sebbene l'hardware Atmel-ICE non possa emettere un volume più altotage di 5.0 V. La frequenza operativa massima varia in base all'interfaccia di destinazione in uso.
5.4.2.Connettori target Atmel-ICE
L'Atmel-ICE non ha una sonda attiva. Un cavo IDC da 50 mil viene utilizzato per connettersi all'applicazione di destinazione direttamente o tramite gli adattatori inclusi in alcuni kit. Per ulteriori informazioni sul cablaggio e sugli adattatori, vedere la sezione Assemblaggio dell'Atmel-ICE
5.4.3. Numeri di parte dei connettori di destinazione Atmel-ICE
Per collegare il cavo IDC Atmel-ICE da 50 mil direttamente a una scheda di destinazione, dovrebbe essere sufficiente qualsiasi header standard da 50 mil a 10 pin. Si consiglia di utilizzare intestazioni con chiave per garantire il corretto orientamento durante il collegamento al target, come quelle utilizzate sulla scheda adattatore inclusa nel kit.
Il numero di parte per questa intestazione è: FTSH-105-01-L-DV-KAP di SAMTEC
Integrazione software
6.1. Studio Atmel
6.1.1.Integrazione software in Atmel Studio
Atmel Studio è un ambiente di sviluppo integrato (IDE) per la scrittura e il debug delle applicazioni Atmel AVR e Atmel SAM in ambienti Windows. Atmel Studio fornisce uno strumento di gestione dei progetti, fonte file editor, simulatore, assemblatore e front-end per C/C++, programmazione, emulazione e debug su chip.
Atmel Studio versione 6.2 o successiva deve essere utilizzato insieme ad Atmel-ICE.
6.1.2. Opzioni di programmazione
Atmel Studio supporta la programmazione dei dispositivi Atmel AVR e Atmel SAM ARM utilizzando Atmel-ICE. La finestra di dialogo di programmazione può essere configurata per utilizzare JTAG, aWire, SPI, PDI, TPI, SWD, a seconda del dispositivo target selezionato.
Quando si configura la frequenza di clock, si applicano regole diverse per diverse interfacce e famiglie di destinazione:
- La programmazione SPI utilizza il target clock. Configurare la frequenza di clock in modo che sia inferiore a un quarto della frequenza alla quale è attualmente in esecuzione il dispositivo di destinazione.
- JTAG la programmazione sui dispositivi Atmel megaAVR è cadenzata dal Ciò significa che la frequenza del clock di programmazione è limitata alla massima frequenza operativa del dispositivo stesso. (Di solito 16 MHz.)
- Programmazione AVR XMEGA sia su JTAG e le interfacce PDI sono sincronizzate dal programmatore. Ciò significa che la frequenza del clock di programmazione è limitata alla frequenza operativa massima del dispositivo (solitamente 32 MHz).
- Programmazione AVR UC3 su JTAG l'interfaccia è sincronizzata dal programmatore. Ciò significa che la frequenza del clock di programmazione è limitata alla massima frequenza operativa del dispositivo stesso. (Limitato a 33MHz.)
- La programmazione dell'AVR UC3 sull'interfaccia aWire è sincronizzata dalla La frequenza ottimale è data dalla velocità del bus SAB nel dispositivo target. Il debugger Atmel-ICE ottimizzerà automaticamente la velocità di trasmissione di aWire per soddisfare questi criteri. Anche se di solito non è necessario, l'utente può limitare il baud rate massimo se necessario (ad esempio in ambienti rumorosi).
- La programmazione del dispositivo SAM sull'interfaccia SWD è temporizzata dal programmatore. La frequenza massima supportata da Atmel-ICE è 2MHz. La frequenza non deve superare la frequenza della CPU di destinazione moltiplicata per 10, fSWD ≤ 10fSYSCLK .
6.1.3.Opzioni di debug
Quando si esegue il debug di un dispositivo Atmel AVR utilizzando Atmel Studio, la scheda "Strumenti" nelle proprietà del progetto view contiene alcune importanti opzioni di configurazione. Le opzioni che richiedono ulteriori spiegazioni sono dettagliate qui.
Frequenza di clock target
L'impostazione accurata della frequenza di clock di destinazione è fondamentale per ottenere un debug affidabile del dispositivo Atmel megaAVR su JTAG interfaccia. Questa impostazione dovrebbe essere inferiore a un quarto della frequenza operativa più bassa del dispositivo di destinazione AVR nell'applicazione sottoposta a debug. Vedere Considerazioni speciali megaAVR per ulteriori informazioni.
Le sessioni di debug sui dispositivi di destinazione debugWIRE sono sincronizzate dal dispositivo di destinazione stesso e pertanto non è richiesta alcuna impostazione della frequenza. L'Atmel-ICE selezionerà automaticamente la velocità di trasmissione corretta per la comunicazione all'inizio di una sessione di debug. Tuttavia, se si verificano problemi di affidabilità relativi a un ambiente di debug rumoroso, alcuni strumenti offrono la possibilità di forzare la velocità di debugWIRE a una frazione della sua impostazione "consigliata".
Le sessioni di debug sui dispositivi di destinazione AVR XMEGA possono essere sincronizzate fino alla velocità massima del dispositivo stesso (solitamente 32 MHz).
Sessioni di debug su dispositivi target AVR UC3 tramite JTAG l'interfaccia può essere sincronizzata fino alla velocità massima del dispositivo stesso (limitata a 33 MHz). Tuttavia, la frequenza ottimale sarà leggermente inferiore all'orologio SAB corrente sul dispositivo di destinazione.
Le sessioni di debug sui dispositivi target UC3 tramite l'interfaccia aWire verranno regolate automaticamente sulla velocità di trasmissione ottimale dallo stesso Atmel-ICE. Tuttavia, se si riscontrano problemi di affidabilità legati a un ambiente di debug rumoroso, alcuni strumenti offrono la possibilità di forzare la velocità di aWire al di sotto di un limite configurabile.
Le sessioni di debug sui dispositivi di destinazione SAM sull'interfaccia SWD possono essere sincronizzate fino a dieci volte il clock della CPU (ma limitato a 2 MHz max.)
Conserva la EEPROM
Selezionare questa opzione per evitare di cancellare la EEPROM durante la riprogrammazione del target prima di una sessione di debug.
Utilizzare il ripristino esterno
Se l'applicazione di destinazione disabilita JTAG interfaccia, il reset esterno deve essere abbassato durante la programmazione. Selezionando questa opzione si evita di chiedere ripetutamente se utilizzare il reset esterno.
6.2 Utilità della riga di comando
Atmel Studio viene fornito con un'utilità della riga di comando chiamata atprogram che può essere utilizzata per programmare obiettivi utilizzando Atmel-ICE. Durante l'installazione di Atmel Studio un collegamento chiamato "Atmel Studio 7.0. Prompt dei comandi” sono stati creati nella cartella Atmel nel menu Start. Facendo doppio clic su questa scorciatoia verrà aperto un prompt dei comandi e sarà possibile immettere i comandi di programmazione. L'utilità della riga di comando è installata nel percorso di installazione di Atmel Studio nella cartella Atmel/Atmel Studio 7.0/atbackend/.
Per ottenere ulteriore assistenza sull'utilità della riga di comando, digitare il comando:
atprogram –aiuto
Tecniche avanzate di debug
7.1. Obiettivi Atmel AVR UC3
7.1.1. Utilizzo EVTI/EVTO
I pin EVTI ed EVTO non sono accessibili su Atmel-ICE. Tuttavia, possono ancora essere utilizzati insieme ad altre apparecchiature esterne.
EVTI può essere utilizzato per i seguenti scopi:
- La destinazione può essere forzata a interrompere l'esecuzione in risposta a un evento esterno. Se i bit Event In Control (EIC) nel registro DC vengono scritti su 0b01, la transizione da alto a basso sul pin EVTI genererà una condizione di punto di interruzione. EVTI deve rimanere basso per un ciclo di clock della CPU per garantire che un punto di interruzione sia Il bit EXB (External Breakpoint) in DS viene impostato quando ciò si verifica.
- Generazione di messaggi di sincronizzazione della traccia. Non utilizzato dall'Atmel-ICE. EVTO può essere utilizzato per i seguenti scopi:
- Indica che la CPU è entrata nel debug L'impostazione dei bit EOS in DC su 0b01 fa sì che il pin EVTO venga abbassato per un ciclo di clock della CPU quando il dispositivo di destinazione entra in modalità di debug. Questo segnale può essere utilizzato come sorgente di trigger per un oscilloscopio esterno.
- Indica che la CPU ha raggiunto un breakpoint o watchpoint. Impostando il bit EOC in un registro di controllo Breakpoint/Watchpoint corrispondente, lo stato del punto di interruzione o del punto di controllo viene indicato sul pin EVTO. I bit EOS in DC devono essere impostati su 0xb10 per abilitare questa funzione. Il pin EVTO può quindi essere collegato a un oscilloscopio esterno per esaminare il punto di controllo
- Generazione di segnali di temporizzazione della traccia. Non utilizzato dall'Atmel-ICE.
7.2 Destinazioni debugWIRE
7.2.1.debugWIRE Software Breakpoint
L'OCD debugWIRE è drasticamente ridotto rispetto all'Atmel megaAVR (JTAG) DOC. Ciò significa che non dispone di alcun comparatore di punto di interruzione del contatore del programma disponibile per l'utente a scopo di debug. Uno di questi comparatori esiste ai fini delle operazioni run-to-cursor e single-step, ma nell'hardware non sono supportati punti di interruzione utente aggiuntivi.
Invece, il debugger deve utilizzare l'istruzione AVR BREAK. Questa istruzione può essere inserita in FLASH e, quando viene caricata per l'esecuzione, la CPU dell'AVR entrerà in modalità di arresto. Per supportare i punti di interruzione durante il debug, il debugger deve inserire un'istruzione BREAK in FLASH nel punto in cui gli utenti richiedono un punto di interruzione. L'istruzione originale deve essere memorizzata nella cache per la successiva sostituzione.
Quando si esegue un singolo passaggio su un'istruzione BREAK, il debugger deve eseguire l'istruzione originale memorizzata nella cache per preservare il comportamento del programma. In casi estremi, il BREAK deve essere rimosso da FLASH e sostituito successivamente. Tutti questi scenari possono causare apparenti ritardi durante il passaggio singolo dai punti di interruzione, che saranno esacerbati quando la frequenza di clock target è molto bassa.
Si raccomanda pertanto di osservare le seguenti linee guida, ove possibile:
- Eseguire sempre la destinazione alla frequenza più alta possibile durante il debug. L'interfaccia fisica debugWIRE è sincronizzata dal clock di destinazione.
- Cerca di ridurre al minimo il numero di aggiunte e rimozioni di punti di interruzione, poiché ognuno richiede la sostituzione di una pagina FLASH sul target
- Prova ad aggiungere o rimuovere un piccolo numero di punti di interruzione alla volta, per ridurre al minimo il numero di operazioni di scrittura della pagina FLASH
- Se possibile, evitare di inserire punti di interruzione nelle istruzioni di doppia parola
Cronologia delle versioni e problemi noti
8.1 .Cronologia delle versioni del firmware
Tabella 8-1. Revisioni firmware pubbliche
Versione firmware (decimale) | Data | Modifiche rilevanti |
1.36 | 29.09.2016 | Aggiunto il supporto per l'interfaccia UPDI (dispositivi tinyX) Resa configurabile la dimensione dell'endpoint USB |
1.28 | 27.05.2015 | Aggiunto il supporto per le interfacce SPI e USART DGI. Velocità SWD migliorata. Correzioni di bug minori. |
1.22 | 03.10.2014 | Aggiunta la profilazione del codice. Risolto il problema relativo a JTAG daisy chain con più di 64 bit di istruzioni. Correzione dell'estensione di ripristino ARM. Risolto il problema del led di alimentazione del bersaglio. |
1.13 | 08.04.2014 | JTAG correzione della frequenza di clock. Fix per debugWIRE con SUT lungo. Corretto il comando di calibrazione dell'oscillatore. |
1.09 | 12.02.2014 | Prima versione di Atmel-ICE. |
8.2 Problemi noti riguardanti l'Atmel-ICE
8.2.1.General
- I lotti Atmel-ICE iniziali avevano un USB debole È stata effettuata una nuova revisione con un connettore USB nuovo e più robusto. Come soluzione provvisoria è stata applicata colla epossidica alle unità già prodotte della prima versione per migliorare la stabilità meccanica.
8.2.2. Atmel AVR XMEGA OCD Problemi specifici
- Per la famiglia ATxmegaA1, è supportata solo la revisione G o successiva
8.2.1. Atmel AVR – Problemi specifici del dispositivo
- Riaccendere l'ATmega32U6 durante una sessione di debug può causare una perdita di contatto con il dispositivo
Conformità del prodotto
9.1. RoHS e RAEE
L'Atmel-ICE e tutti gli accessori sono prodotti in conformità alla Direttiva RoHS (2002/95/CE) e alla Direttiva WEEE (2002/96/CE).
9.2. CE e FCC
L'unità Atmel-ICE è stata testata in conformità ai requisiti essenziali e ad altre disposizioni pertinenti delle Direttive:
- Direttiva 2004/108/CE (classe B)
- FCC parte 15 sottoparte B
- 2002/95/CE (RoHS, RAEE)
Per la valutazione vengono utilizzati i seguenti standard:
- EN 61000-6-1 (2007)
- EN 61000-6-3 (2007) + A1(2011)
- FCC CFR 47 Parte 15 (2013)
La Costruzione Tecnica File si trova a:
È stato fatto ogni sforzo per ridurre al minimo le emissioni elettromagnetiche di questo prodotto. Tuttavia, in determinate condizioni, il sistema (questo prodotto collegato a un circuito dell'applicazione target) può emettere singole frequenze dei componenti elettromagnetici che superano i valori massimi consentiti dalle norme sopra menzionate. La frequenza e l'entità delle emissioni saranno determinate da diversi fattori, tra cui il layout e il percorso dell'applicazione target con cui viene utilizzato il prodotto.
Cronologia delle revisioni
Doc. rev. | Data | Commenti |
42330C | 10/2016 | Aggiunta l'interfaccia UPDI e aggiornata la cronologia delle versioni del firmware |
42330B | 03/2016 | • Rivisto il capitolo sul debug su chip • Nuova formattazione della cronologia delle versioni del firmware nel capitolo Cronologia delle versioni e problemi noti • Aggiunta la piedinatura del cavo di debug |
42330A | 06/2014 | Rilascio del documento iniziale |
Atmel®, logo Atmel e relative combinazioni, abilitazione di possibilità illimitate®, AVR®, megaAVR®, STK®, piccoloAVR®, XMEGA®e altri sono marchi o marchi registrati di Atmel Corporation negli Stati Uniti e in altri paesi. BRACCIO®, BRACCIO connesso® logo, corteccia®e altri sono marchi o marchi registrati di ARM Ltd. Windows® è un marchio registrato di Microsoft Corporation negli Stati Uniti e/o in altri paesi. Altri termini e nomi di prodotti possono essere marchi di altri.
DISCLAIMER: Le informazioni contenute in questo documento sono fornite in relazione ai prodotti Atmel. Nessuna licenza, espressa o implicita, preclusione o altro, a qualsiasi diritto di proprietà intellettuale è concessa dal presente documento o in connessione con la vendita di prodotti Atmel. SALVO QUANTO PREVISTO NEI TERMINI E CONDIZIONI DI VENDITA LOCALI ATMEL WEBSITE, ATMEL NON SI ASSUME ALCUNA RESPONSABILITÀ E NEGA QUALSIASI GARANZIA ESPLICITA, IMPLICITA O LEGALE RELATIVA AI SUOI PRODOTTI INCLUSE, MA NON LIMITATE A, GARANZIE IMPLICITE DI COMMERCIABILITÀ, IDONEITÀ PER UNO SCOPO PARTICOLARE O NON VIOLAZIONE. IN NESSUN CASO ATMEL SARÀ RESPONSABILE PER QUALSIASI DANNO DIRETTO, INDIRETTO, CONSEQUENZIALE, PUNITIVO, SPECIALE O INCIDENTALE (INCLUSI, SENZA LIMITAZIONI, DANNI PER PERDITE E PROFITTI, INTERRUZIONE DI ATTIVITÀ O PERDITA DI INFORMAZIONI) DERIVANTI DALL'UTILIZZO O DALL'INCAPACITÀ D'USO QUESTO DOCUMENTO, ANCHE SE ATMEL È STATA AVVISATA
DELLA POSSIBILITÀ DI TALI DANNI. Atmel non rilascia alcuna dichiarazione o garanzia in merito all'accuratezza o alla completezza dei contenuti di questo documento e si riserva il diritto di apportare modifiche alle specifiche e alle descrizioni dei prodotti in qualsiasi momento senza preavviso. Atmel non si impegna ad aggiornare le informazioni qui contenute. Se non diversamente specificato, i prodotti Atmel non sono adatti e non devono essere utilizzati in applicazioni automobilistiche. I prodotti Atmel non sono destinati, autorizzati o garantiti per l'uso come componenti in applicazioni destinate a supportare o sostenere la vita.
ESCLUSIONE DI RESPONSABILITÀ PER APPLICAZIONI CRITICHE PER LA SICUREZZA, MILITARI E AUTOMOBILISTICHE: i prodotti Atmel non sono progettati e non saranno utilizzati in connessione con applicazioni in cui si prevede ragionevolmente che il guasto di tali prodotti provochi lesioni personali significative o morte ("critici per la sicurezza domande”) senza lo specifico consenso scritto di un funzionario Atmel. Le applicazioni critiche per la sicurezza includono, a titolo esemplificativo, dispositivi e sistemi di supporto vitale, apparecchiature o sistemi per il funzionamento di impianti nucleari e sistemi d'arma. I prodotti Atmel non sono progettati né destinati all'uso in applicazioni o ambienti militari o aerospaziali, a meno che non siano specificatamente designati da Atmel come di livello militare. I prodotti Atmel non sono progettati né destinati all'uso in applicazioni automobilistiche a meno che non siano specificatamente designati da Atmel come di qualità automobilistica.
Società Atmel
1600 Technology Drive, San Jose, CA 95110 Stati Uniti
T: (+1)(408) 441.0311
F: (+1)(408) 436.4200
www.atmel.com
© 2016 Atmel Corporation.
Rev.: Atmel-42330C-Atmel-ICE_Guida utente-10/2016
Documenti / Risorse
![]() | Atmel I programmatori del debugger Atmel-ICE [pdf] Guida utente I programmatori debugger Atmel-ICE, The Atmel-ICE, programmatori debugger, programmatori |