Mga Programmer ng ICE Debugger
Gabay sa Gumagamit Mga Programmer at Debugger
Atmel-ICE
GABAY NG USER
Ang Atmel-ICE Debugger
Ang Atmel-ICE ay isang mahusay na tool sa pag-develop para sa pag-debug at pagprograma ng ARM® Cortex®-M na nakabatay sa Atmel ®SAM at Atmel AVR microcontroller na may kakayahan sa ® On-Chip Debug.
Sinusuportahan nito ang:
- Programming at on-chip debugging ng lahat ng Atmel AVR 32-bit microcontrollers sa parehong JTAG at mga interface ng aWire
- Programming at on-chip debugging ng lahat ng Atmel AVR XMEGA® family device sa parehong JTAG at PDI 2-wire na mga interface
- Programming (JTAG, SPI, UPDI) at pag-debug ng lahat ng Atmel AVR 8-bit microcontroller na may suporta sa OCD sa alinmang JTAG, mga interface ng debugWIRE o UPDI
- Pagprograma at pag-debug ng lahat ng Atmel SAM ARM Cortex-M na nakabatay sa microcontroller sa parehong SWD at JTAG mga interface
- Programming (TPI) ng lahat ng Atmel tinyAVR® 8-bit microcontrollers na may suporta para sa interface na ito
Kumonsulta sa listahan ng mga sinusuportahang device sa Gabay sa Gumagamit ng Atmel Studio para sa buong listahan ng mga device at interface na sinusuportahan ng paglabas ng firmware na ito.
Panimula
1.1. Panimula sa Atmel-ICE
Ang Atmel-ICE ay isang mahusay na tool sa pag-develop para sa pag-debug at pagprograma ng ARM Cortex-M na nakabatay sa Atmel SAM at Atmel AVR microcontroller na may kakayahan sa On-Chip Debug.
Sinusuportahan nito ang:
- Programming at on-chip debugging ng lahat ng Atmel AVR UC3 microcontroller sa parehong JTAG at mga interface ng aWire
- Programming at on-chip debugging ng lahat ng AVR XMEGA family device sa parehong JTAG at mga interface ng PDI 2wire
- Programming (JTAG at SPI) at pag-debug ng lahat ng AVR 8-bit microcontroller na may suporta sa OCD sa parehong JTAG o mga interface ng debugWIRE
- Pagprograma at pag-debug ng lahat ng Atmel SAM ARM Cortex-M na nakabatay sa microcontroller sa parehong SWD at JTAG mga interface
- Programming (TPI) ng lahat ng Atmel tinyAVR 8-bit microcontrollers na may suporta para sa interface na ito
1.2. Mga Tampok ng Atmel-ICE
- Ganap na katugma sa Atmel Studio
- Sinusuportahan ang programming at pag-debug ng lahat ng Atmel AVR UC3 32-bit microcontrollers
- Sinusuportahan ang programming at pag-debug ng lahat ng 8-bit na AVR XMEGA device
- Sinusuportahan ang programming at pag-debug ng lahat ng 8-bit na Atmel megaAVR® at tinyAVR device na may OCD
- Sinusuportahan ang programming at pag-debug ng lahat ng SAM ARM Cortex-M na nakabatay sa microcontroller
- Target na operating voltage saklaw ng 1.62V hanggang 5.5V
- Gumuhit ng mas mababa sa 3mA mula sa target na VTref kapag gumagamit ng debugWIRE interface at mas mababa sa 1mA para sa lahat ng iba pang interface
- Sinusuportahan si JTAG mga frequency ng orasan mula 32kHz hanggang 7.5MHz
- Sinusuportahan ang PDI clock frequency mula 32kHz hanggang 7.5MHz
- Sinusuportahan ang debugWIRE baud rate mula 4kbit/s hanggang 0.5Mbit/s
- Sinusuportahan ang aWire baud rate mula 7.5kbit/s hanggang 7Mbit/s
- Sinusuportahan ang mga frequency ng orasan ng SPI mula 8kHz hanggang 5MHz
- Sinusuportahan ang UPDI baud rate mula hanggang 750kbit/s
- Sinusuportahan ang mga frequency ng orasan ng SWD mula 32kHz hanggang 10MHz
- USB 2.0 high-speed host interface
- ITM serial trace capture sa hanggang 3MB/s
- Sinusuportahan ang mga interface ng DGI SPI at USART kapag hindi nagde-debug o nagprograma
- Sinusuportahan ang 10-pin 50-mil JTAG connector na may parehong AVR at Cortex pinout. Sinusuportahan ng karaniwang probe cable ang AVR 6-pin ISP/PDI/TPI 100-mil header pati na rin ang 10-pin 50-mil. Available ang adapter para suportahan ang 6-pin 50-mil, 10-pin 100-mil, at 20-pin 100-mil na mga header. Maraming opsyon sa kit ang available na may iba't ibang paglalagay ng kable at mga adaptor.
1.3. Mga Kinakailangan sa System
Kinakailangan ng unit ng Atmel-ICE na naka-install sa iyong computer ang isang front-end na debugging environment na Atmel Studio na bersyon 6.2 o mas bago.
Ang Atmel-ICE ay dapat na konektado sa host computer gamit ang ibinigay na USB cable, o isang certified Micro-USB cable.
Pagsisimula sa Atmel-ICE
2.1. Mga Nilalaman ng Buong Kit
Ang buong kit ng Atmel-ICE ay naglalaman ng mga item na ito:
- Atmel-ICE unit
- USB cable (1.8m, high-speed, Micro-B)
- Adapter board na naglalaman ng 50-mil AVR, 100-mil AVR/SAM, at 100-mil 20-pin SAM adapters
- IDC flat cable na may 10-pin 50-mil connector at 6-pin 100-mil connector
- 50-mil 10-pin mini squid cable na may 10 x 100-mil socket
Larawan 2-1. Mga Nilalaman ng Buong Kit ng Atmel-ICE2.2. Pangunahing Nilalaman ng Kit
Ang pangunahing kit ng Atmel-ICE ay naglalaman ng mga item na ito:
- Atmel-ICE unit
- USB cable (1.8m, high-speed, Micro-B)
- IDC flat cable na may 10-pin 50-mil connector at 6-pin 100-mil connector
Larawan 2-2. Mga Nilalaman ng Atmel-ICE Basic Kit2.3. Mga Nilalaman ng PCBA Kit
Ang Atmel-ICE PCBA kit ay naglalaman ng mga item na ito:
- Atmel-ICE unit na walang plastic encapsulation
Larawan 2-3. Mga Nilalaman ng Atmel-ICE PCBA Kit2.4. Mga Spare Parts Kit
Available ang mga sumusunod na spare parts kit:
- Adapter kit
- Cable kit
Larawan 2-4. Mga Nilalaman ng Atmel-ICE Adapter Kit2.5. Tapos na ang Kitview
Ang mga opsyon sa Atmel-ICE kit ay ipinapakita sa diagrammatically dito:
Larawan 2-6. Atmel-ICE Kit Overview2.6. Pagtitipon ng Atmel-ICE
Ang unit ng Atmel-ICE ay ipinadala nang walang mga kable na nakakabit. Dalawang opsyon sa cable ang ibinibigay sa buong kit:
- 50-mil 10-pin IDC flat cable na may 6-pin ISP at 10-pin connector
- 50-mil 10-pin mini-squid cable na may 10 x 100-mil socket
Larawan 2-7. Mga Kable ng Atmel-ICEPara sa karamihan ng mga layunin, maaaring gamitin ang 50-mil 10-pin IDC flat cable, kumokonekta sa alinman sa natively sa 10-pin o 6-pin connector nito, o kumokonekta sa pamamagitan ng adapter board. Tatlong adapter ang ibinibigay sa isang maliit na PCBA. Ang mga sumusunod na adapter ay kasama:
- 100-mil 10-pin JTAG/SWD adapter
- 100-mil 20-pin SAM JTAG/SWD adapter
- 50-mil 6-pin SPI/debugWIRE/PDI/aWire adapter
Larawan 2-8. Mga Adapter ng Atmel-ICETandaan:
Isang 50-mil JTAG hindi ibinigay ang adapter – ito ay dahil ang 50-mil 10-pin IDC cable ay maaaring gamitin upang direktang kumonekta sa isang 50-mil JTAG header. Para sa part number ng component na ginamit para sa 50-mil 10-pin connector, tingnan ang Atmel-ICE Target Connectors Part Numbers.
Ang 6-pin na ISP/PDI header ay kasama bilang bahagi ng 10-pin IDC cable. Ang pagwawakas na ito ay maaaring putulin kung hindi ito kinakailangan.
Upang i-assemble ang iyong Atmel-ICE sa default na configuration nito, ikonekta ang 10-pin 50-mil IDC cable sa unit tulad ng ipinapakita sa ibaba. Siguraduhing i-orient ang cable upang ang pulang wire (pin 1) sa cable ay nakahanay sa triangular indicator sa asul na sinturon ng enclosure. Ang cable ay dapat kumonekta paitaas mula sa yunit. Tiyaking kumonekta sa port na tumutugma sa pinout ng iyong target - AVR o SAM.
Larawan 2-9. Koneksyon ng Atmel-ICE CableLarawan 2-10. Koneksyon ng Atmel-ICE AVR Probe
Larawan 2-11. Koneksyon ng Atmel-ICE SAM Probe
2.7. Binuksan ang Atmel-ICE
Tandaan:
Para sa normal na operasyon, hindi dapat buksan ang unit ng Atmel-ICE. Ang pagbubukas ng yunit ay ginagawa sa iyong sariling peligro.
Dapat gawin ang mga anti-static na pag-iingat.
Binubuo ang Atmel-ICE enclosure ng tatlong magkahiwalay na bahagi ng plastic – takip sa itaas, takip sa ibaba, at asul na sinturon – na pinagsasama-sama sa panahon ng pagpupulong. Para buksan ang unit, ipasok lang ang isang malaking flat screwdriver sa mga butas sa asul na sinturon, ilapat ang ilang papasok na presyon at i-twist nang malumanay. Ulitin ang proseso sa iba pang mga butas ng snapper, at lalabas ang tuktok na takip.
Larawan 2-12. Pagbubukas ng Atmel-ICE (1)
Larawan 2-13. Pagbubukas ng Atmel-ICE (2)
Larawan 2-14. Pagbubukas ng Atmel-ICE(3)
Upang isara muli ang unit, ihanay lang nang tama ang tuktok at ibabang mga takip, at pindutin nang mahigpit nang magkasabay.
2.8. Pinapagana ang Atmel-ICE
Ang Atmel-ICE ay pinapagana ng USB bus voltage. Nangangailangan ito ng mas mababa sa 100mA upang gumana, at samakatuwid ay maaaring paganahin sa pamamagitan ng USB hub. Mag-iilaw ang power LED kapag nakasaksak ang unit. Kapag hindi nakakonekta sa isang aktibong programming o debugging session, papasok ang unit sa low-power consumption mode upang mapanatili ang baterya ng iyong computer. Ang Atmel-ICE ay hindi maaaring patayin - dapat itong i-unplug kapag hindi ginagamit.
2.9. Pagkonekta sa Host Computer
Ang Atmel-ICE ay pangunahing nakikipag-usap gamit ang isang karaniwang HID interface, at hindi nangangailangan ng isang espesyal na driver sa host computer. Para magamit ang advanced na Data Gateway functionality ng Atmel-ICE, tiyaking i-install ang USB driver sa host computer. Awtomatiko itong ginagawa kapag ini-install ang front-end na software na ibinigay ng Atmel nang libre. Tingnan mo www.atmel.com para sa karagdagang impormasyon o upang i-download ang pinakabagong front-end na software.
Ang Atmel-ICE ay dapat na konektado sa isang available na USB port sa host computer gamit ang ibinigay na USB cable, o angkop na USB certified micro cable. Ang Atmel-ICE ay naglalaman ng USB 2.0 compliant controller, at maaaring gumana sa parehong full-speed at high-speed mode. Para sa pinakamahusay na mga resulta, direktang ikonekta ang Atmel-ICE sa isang USB 2.0 compliant high-speed hub sa host computer gamit ang ibinigay na cable.
2.10. Pag-install ng USB Driver
2.10.1. Windows
Kapag ini-install ang Atmel-ICE sa isang computer na nagpapatakbo ng Microsoft® Windows® , ang USB driver ay na-load kapag ang Atmel-ICE ay unang nakasaksak.
Tandaan:
Tiyaking i-install ang mga front-end na software package bago isaksak ang unit sa unang pagkakataon.
Kapag matagumpay na na-install, lalabas ang Atmel-ICE sa device manager bilang isang "Human Interface Device".
Pagkonekta sa Atmel-ICE
3.1. Kumokonekta sa AVR at SAM Target na Mga Device
Ang Atmel-ICE ay nilagyan ng dalawang 50-mil 10-pin na JTAG mga konektor. Ang parehong mga konektor ay direktang konektado sa kuryente, ngunit umaayon sa dalawang magkaibang mga pinout; ang AVR JTAG header at ang ARM Cortex Debug header. Dapat piliin ang connector batay sa pinout ng target na board, at hindi sa target na uri ng MCU – para sa halampAng isang SAM device na naka-mount sa isang AVR STK® 600 stack ay dapat gumamit ng AVR header.
Available ang iba't ibang mga paglalagay ng kable at adapter sa iba't ibang mga Atmel-ICE kit. Isang taposview ng mga opsyon sa koneksyon ay ipinapakita.
Larawan 3-1. Mga Opsyon sa Koneksyon ng Atmel-ICEAng pulang wire ay nagmamarka ng pin 1 ng 10-pin 50-mil connector. Ang pin 1 ng 6-pin 100-mil connector ay inilalagay sa kanan ng keying kapag ang connector ay nakikita mula sa cable. Ang pin 1 ng bawat connector sa adapter ay minarkahan ng puting tuldok. Ipinapakita ng figure sa ibaba ang pinout ng debug cable. Ang connector na may markang A ay nakasaksak sa debugger habang ang B na bahagi ay nakasaksak sa target na board.
Larawan 3-2. Debug Cable Pinout
3.2. Kumokonekta sa isang JTAG Target
Ang Atmel-ICE ay nilagyan ng dalawang 50-mil 10-pin na JTAG mga konektor. Ang parehong mga konektor ay direktang konektado sa kuryente, ngunit umaayon sa dalawang magkaibang mga pinout; ang AVR JTAG header at ang ARM Cortex Debug header. Dapat piliin ang connector batay sa pinout ng target na board, at hindi sa target na uri ng MCU – para sa halampAng isang SAM device na naka-mount sa isang AVR STK600 stack ay dapat gumamit ng AVR header.
Ang inirerekomendang pinout para sa 10-pin na AVR JTAG connector ay ipinapakita sa Figure 4-6. Ang inirerekomendang pinout para sa 10-pin ARM Cortex Debug connector ay ipinapakita sa Figure 4-2.
Direktang koneksyon sa isang karaniwang 10-pin 50-mil na header
Gamitin ang 50-mil 10-pin flat cable (kasama sa ilang kit) para direktang kumonekta sa isang board na sumusuporta sa ganitong uri ng header. Gamitin ang AVR connector port sa Atmel-ICE para sa mga header na may AVR pinout, at ang SAM connector port para sa mga header na sumusunod sa ARM Cortex Debug header pinout.
Ang mga pinout para sa parehong 10-pin connector port ay ipinapakita sa ibaba.
Koneksyon sa isang karaniwang 10-pin 100-mil na header
Gumamit ng karaniwang 50-mil hanggang 100-mil na adaptor para kumonekta sa 100-mil na mga header. Maaaring gamitin ang adapter board (kasama sa ilang kit) para sa layuning ito, o bilang kahalili ang JTAGMaaaring gamitin ang ICE3 adapter para sa mga target ng AVR.
Mahalaga:
Ang JTAGAng ICE3 100-mil adapter ay hindi magagamit sa SAM connector port, dahil ang mga pin 2 at 10 (AVR GND) sa adapter ay konektado.
Koneksyon sa isang custom na 100-mil na header
Kung ang iyong target na board ay walang sumusunod na 10-pin na JTAG header sa 50- o 100-mil, maaari kang mag-map sa isang custom na pinout gamit ang 10-pin na "mini-squid" cable (kasama sa ilang kit), na nagbibigay ng access sa sampung indibidwal na 100-mil socket.
Koneksyon sa isang 20-pin 100-mil header
Gamitin ang adapter board (kasama sa ilang kit) para kumonekta sa mga target na may 20-pin 100-mil na header.
Talahanayan 3-1. Atmel-ICE JTAG Paglalarawan ng Pin
Pangalan | AVR port pin | SAM port pin | Paglalarawan |
TCK | 1 | 4 | Pagsubok na Orasan (signal ng orasan mula sa Atmel-ICE papunta sa target na device). |
TMS | 5 | 2 | Test Mode Select (control signal mula sa Atmel-ICE papunta sa target na device). |
TDI | 9 | 8 | Test Data In (data na ipinadala mula sa Atmel-ICE papunta sa target na device). |
TDO | 3 | 6 | Test Data Out (data na ipinadala mula sa target na device papunta sa Atmel-ICE). |
nTRST | 8 | – | Test Reset (opsyonal, sa ilang AVR device lang). Ginamit upang i-reset ang JTAG TAP controller. |
nSRST | 6 | 10 | I-reset (opsyonal). Ginagamit para i-reset ang target na device. Inirerekomenda ang pagkonekta sa pin na ito dahil pinapayagan nito ang Atmel-ICE na hawakan ang target na device sa isang estado ng pag-reset, na maaaring maging mahalaga sa pag-debug sa ilang partikular na sitwasyon. |
VTG | 4 | 1 | Target voltage sanggunian. Ang Atmel-ICE samples ang target voltage sa pin na ito upang paganahin nang tama ang mga level converter. Ang Atmel-ICE ay kumukuha ng mas mababa sa 3mA mula sa pin na ito sa debugWIRE mode at mas mababa sa 1mA sa iba pang mga mode. |
GND | 2, 10 | 3, 5, 9 | Lupa. Dapat na konektado ang lahat upang matiyak na ang Atmel-ICE at ang target na device ay nagbabahagi ng parehong ground reference. |
3.3. Pagkonekta sa isang aWire Target
Ang interface ng aWire ay nangangailangan lamang ng isang linya ng data bilang karagdagan sa VCC at GND. Sa target na linyang ito ay ang nRESET na linya, bagaman ginagamit ng debugger ang JTAG TDO line bilang linya ng data.
Ang inirerekomendang pinout para sa 6-pin aWire connector ay ipinapakita sa Figure 4-8.
Koneksyon sa isang 6-pin 100-mil aWire header
Gamitin ang 6-pin 100-mil tap sa flat cable (kasama sa ilang kit) para kumonekta sa isang standard na 100-mil aWire header.
Koneksyon sa isang 6-pin 50-mil aWire header
Gamitin ang adapter board (kasama sa ilang kit) para kumonekta sa isang karaniwang 50-mil aWire header.
Koneksyon sa isang custom na 100-mil na header
Ang 10-pin na mini-squid cable ay dapat gamitin para kumonekta sa pagitan ng Atmel-ICE AVR connector port at ng target board. Tatlong koneksyon ang kinakailangan, tulad ng inilarawan sa talahanayan sa ibaba.
Talahanayan 3-2. Atmel-ICE aWire Pin Mapping
Atmel-ICE AVR port pin |
Mga target na pin | Mini-squid pin |
aWire pinout |
Pin 1 (TCK) | 1 | ||
Pin 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | DATA | 3 | 1 |
Pin 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | 6 | ||
Pin 7 (Hindi konektado) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Pin 10 (GND) | 0 |
3.4. Pagkonekta sa isang PDI Target
Ang inirerekomendang pinout para sa 6-pin PDI connector ay ipinapakita sa Figure 4-11.
Koneksyon sa isang 6-pin 100-mil PDI header
Gamitin ang 6-pin 100-mil tap sa flat cable (kasama sa ilang kit) para kumonekta sa isang karaniwang 100-mil PDI header.
Koneksyon sa isang 6-pin 50-mil PDI header
Gamitin ang adapter board (kasama sa ilang kit) upang kumonekta sa isang karaniwang 50-mil na PDI header.
Koneksyon sa isang custom na 100-mil na header
Ang 10-pin na mini-squid cable ay dapat gamitin para kumonekta sa pagitan ng Atmel-ICE AVR connector port at ng target board. Apat na koneksyon ang kailangan, gaya ng inilarawan sa talahanayan sa ibaba.
Mahalaga:
Ang kinakailangang pinout ay iba sa JTAGICE mkII JTAG probe, kung saan nakakonekta ang PDI_DATA sa pin 9. Ang Atmel-ICE ay katugma sa pinout na ginamit ng Atmel-ICE, JTAGMga produkto ng ICE3, AVR ONE!, at AVR Dragon™.
Talahanayan 3-3. Atmel-ICE PDI Pin Mapping
Atmel-ICE AVR port pin | Mga target na pin | Mini-squid pin |
aWire pinout |
Pin 1 (TCK) | 1 | ||
Pin 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | DATA | 3 | 1 |
Pin 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | 6 | ||
Pin 7 (Hindi konektado) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Pin 10 (GND) | 0 |
3.4 Pagkonekta sa isang PDI Target
Ang inirerekomendang pinout para sa 6-pin PDI connector ay ipinapakita sa Figure 4-11.
Koneksyon sa isang 6-pin 100-mil PDI header
Gamitin ang 6-pin 100-mil tap sa flat cable (kasama sa ilang kit) para kumonekta sa isang karaniwang 100-mil PDI header.
Koneksyon sa isang 6-pin 50-mil PDI header
Gamitin ang adapter board (kasama sa ilang kit) upang kumonekta sa isang karaniwang 50-mil na PDI header.
Koneksyon sa isang custom na 100-mil na header
Ang 10-pin na mini-squid cable ay dapat gamitin para kumonekta sa pagitan ng Atmel-ICE AVR connector port at ng target board. Apat na koneksyon ang kailangan, gaya ng inilarawan sa talahanayan sa ibaba.
Mahalaga:
Ang kinakailangang pinout ay iba sa JTAGICE mkII JTAG probe, kung saan nakakonekta ang PDI_DATA sa pin 9. Ang Atmel-ICE ay katugma sa pinout na ginamit ng Atmel-ICE, JTAGICE3, AVR ONE!, at AVR Dragon™ mga produkto.
Talahanayan 3-3. Atmel-ICE PDI Pin Mapping
Atmel-ICE AVR port pin | Mga target na pin | Mini-squid pin | Atmel STK600 PDI pinout |
Pin 1 (TCK) | 1 | ||
Pin 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | PDI_DATA | 3 | 1 |
Pin 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | PDI_CLK | 6 | 5 |
Pin 7 (hindi konektado) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Pin 10 (GND) | 0 |
3.5 Pagkonekta sa isang Target ng UPDI
Ang inirerekomendang pinout para sa 6-pin na UPDI connector ay ipinapakita sa Figure 4-12.
Koneksyon sa isang 6-pin 100-mil UPDI header
Gamitin ang 6-pin 100-mil tap sa flat cable (kasama sa ilang kit) para kumonekta sa isang standard na 100-mil UPDI header.
Koneksyon sa isang 6-pin 50-mil UPDI header
Gamitin ang adapter board (kasama sa ilang kit) para kumonekta sa isang standard na 50-mil UPDI header.
Koneksyon sa isang custom na 100-mil na header
Ang 10-pin na mini-squid cable ay dapat gamitin para kumonekta sa pagitan ng Atmel-ICE AVR connector port at ng target board. Tatlong koneksyon ang kinakailangan, tulad ng inilarawan sa talahanayan sa ibaba.
Talahanayan 3-4. Atmel-ICE UPDI Pin Mapping
Atmel-ICE AVR port pin | Mga target na pin | Mini-squid pin |
Atmel STK600 UPDI pinout |
Pin 1 (TCK) | 1 | ||
Pin 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | UPDI_DATA | 3 | 1 |
Pin 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | [/RESET sense] | 6 | 5 |
Pin 7 (Hindi konektado) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Pin 10 (GND) | 0 |
3.6 Pagkonekta sa isang debugWIRE Target
Ang inirerekomendang pinout para sa 6-pin debugWIRE (SPI) connector ay ipinapakita sa Talahanayan 3-6.
Koneksyon sa isang 6-pin 100-mil SPI header
Gamitin ang 6-pin 100-mil tap sa flat cable (kasama sa ilang kit) para kumonekta sa isang standard na 100-mil SPI header.
Koneksyon sa isang 6-pin 50-mil SPI header
Gamitin ang adapter board (kasama sa ilang kit) para kumonekta sa isang standard na 50-mil SPI header.
Koneksyon sa isang custom na 100-mil na header
Ang 10-pin na mini-squid cable ay dapat gamitin para kumonekta sa pagitan ng Atmel-ICE AVR connector port at ng target board. Tatlong koneksyon ang kailangan, gaya ng inilarawan sa Talahanayan 3-5.
Bagama't ang interface ng debugWIRE ay nangangailangan lamang ng isang linya ng signal (RESET), ang VCC at GND upang gumana nang tama, pinapayuhan na magkaroon ng access sa buong SPI connector upang ang interface ng debugWIRE ay ma-enable at ma-disable gamit ang SPI programming.
Kapag ang DWEN fuse ay pinagana, ang interface ng SPI ay na-override sa loob upang ang OCD module ay magkaroon ng kontrol sa RESET pin. Ang debugWIRE OCD ay may kakayahang pansamantalang i-disable ang sarili nito (gamit ang button sa tab na pag-debug sa dialog ng mga katangian sa Atmel Studio), kaya inilalabas ang kontrol ng linya ng RESET. Ang interface ng SPI ay magagamit muli (lamang kung ang SPIEN fuse ay naka-program), na nagpapahintulot sa DWEN fuse na ma-unprogram gamit ang SPI interface. Kung i-toggle ang power bago ma-unprogram ang DWEN fuse, ang debugWIRE module ang muling kukuha ng kontrol sa RESET pin.
Tandaan:
Lubos na pinapayuhan na hayaan lang ang Atmel Studio na pangasiwaan ang setting at pag-clear ng DWEN fuse.
Hindi posibleng gamitin ang interface ng debugWIRE kung naka-program ang mga lockbit sa target na AVR device. Laging siguraduhin na ang mga lockbit ay na-clear bago i-program ang DWEN fuse at hindi kailanman itakda ang lockbits habang ang DWEN fuse ay naka-program. Kung parehong nakatakda ang debugWIRE enable fuse (DWEN) at lockbits, magagamit ng isa ang High Voltage Programming upang gawin ang isang chip bura, at sa gayon ay i-clear ang lockbits.
Kapag na-clear ang mga lockbit, muling papaganahin ang interface ng debugWIRE. Ang SPI Interface ay may kakayahan lamang na magbasa ng mga piyus, magbasa ng lagda at magsagawa ng pagbubura ng chip kapag ang DWEN fuse ay hindi nakaprograma.
Talahanayan 3-5. Atmel-ICE debugWIRE Pin Mapping
Atmel-ICE AVR port pin | Mga target na pin |
Mini-squid pin |
Pin 1 (TCK) | 1 | |
Pin 2 (GND) | GND | 2 |
Pin 3 (TDO) | 3 | |
Pin 4 (VTG) | VTG | 4 |
Pin 5 (TMS) | 5 | |
Pin 6 (nSRST) | I-RESET | 6 |
Pin 7 (Hindi konektado) | 7 | |
Pin 8 (nTRST) | 8 | |
Pin 9 (TDI) | 9 | |
Pin 10 (GND) | 0 |
3.7 Pagkonekta sa isang Target ng SPI
Ang inirerekomendang pinout para sa 6-pin na SPI connector ay ipinapakita sa Figure 4-10.
Koneksyon sa isang 6-pin 100-mil SPI header
Gamitin ang 6-pin 100-mil tap sa flat cable (kasama sa ilang kit) para kumonekta sa isang standard na 100-mil SPI header.
Koneksyon sa isang 6-pin 50-mil SPI header
Gamitin ang adapter board (kasama sa ilang kit) para kumonekta sa isang standard na 50-mil SPI header.
Koneksyon sa isang custom na 100-mil na header
Ang 10-pin na mini-squid cable ay dapat gamitin para kumonekta sa pagitan ng Atmel-ICE AVR connector port at ng target board. Anim na koneksyon ang kinakailangan, tulad ng inilarawan sa talahanayan sa ibaba.
Mahalaga:
Ang interface ng SPI ay epektibong hindi pinagana kapag ang debugWIRE enable fuse (DWEN) ay na-program, kahit na ang SPIEN fuse ay naka-program din. Upang muling paganahin ang interface ng SPI, ang command na 'disable debugWIRE' ay dapat na ibigay habang nasa isang debugWIRE debugging session. Ang hindi pagpapagana ng debugWIRE sa ganitong paraan ay nangangailangan na ang SPIEN fuse ay naka-program na. Kung nabigo ang Atmel Studio na i-disable ang debugWIRE, malamang dahil HINDI naka-program ang SPIEN fuse. Kung ito ang kaso, kinakailangang gumamit ng high-voltage programming interface upang i-program ang SPIEN fuse.
impormasyon:
Ang interface ng SPI ay madalas na tinutukoy bilang "ISP", dahil ito ang unang In System Programming interface sa mga produkto ng Atmel AVR. Available na ngayon ang iba pang mga interface para sa In System Programming.
Talahanayan 3-6. Atmel-ICE SPI Pin Mapping
Atmel-ICE AVR port pin | Mga target na pin | Mini-squid pin |
SPI pinout |
Pin 1 (TCK) | SCK | 1 | 3 |
Pin 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | MISO | 3 | 1 |
Pin 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | / I-reset | 6 | 5 |
Pin 7 (hindi konektado) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | DAWDLE | 9 | 4 |
Pin 10 (GND) | 0 |
3.8 Pagkonekta sa isang Target ng TPI
Ang inirerekomendang pinout para sa 6-pin TPI connector ay ipinapakita sa Figure 4-13.
Koneksyon sa isang 6-pin 100-mil TPI header
Gamitin ang 6-pin 100-mil tap sa flat cable (kasama sa ilang kit) para kumonekta sa isang standard na 100-mil TPI header.
Koneksyon sa isang 6-pin 50-mil TPI header
Gamitin ang adapter board (kasama sa ilang kit) para kumonekta sa isang karaniwang 50-mil TPI header.
Koneksyon sa isang custom na 100-mil na header
Ang 10-pin na mini-squid cable ay dapat gamitin para kumonekta sa pagitan ng Atmel-ICE AVR connector port at ng target board. Anim na koneksyon ang kinakailangan, tulad ng inilarawan sa talahanayan sa ibaba.
Talahanayan 3-7. Atmel-ICE TPI Pin Mapping
Atmel-ICE AVR port pin | Mga target na pin | Mini-squid pin |
TPI pinout |
Pin 1 (TCK) | Orasan | 1 | 3 |
Pin 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | DATA | 3 | 1 |
Pin 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 |
Pin 6 (nSRST) | / I-reset | 6 | 5 |
Pin 7 (hindi konektado) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Pin 10 (GND) | 0 |
3.9 Pagkonekta sa isang Target ng SWD
Ang interface ng ARM SWD ay isang subset ng JTAG interface, gamit ang TCK at TMS pin, na nangangahulugang kapag kumokonekta sa isang SWD device, ang 10-pin JTAG maaaring teknikal na gamitin ang connector. Ang ARM JTAG at AVR JTAG Ang mga konektor ay, gayunpaman, ay hindi tugma sa pin, kaya depende ito sa layout ng target na board na ginagamit. Kapag gumagamit ng STK600 o board na gumagamit ng AVR JTAG pinout, dapat gamitin ang AVR connector port sa Atmel-ICE. Kapag kumokonekta sa isang board, na gumagamit ng ARM JTAG pinout, dapat gamitin ang SAM connector port sa Atmel-ICE.
Ang inirerekomendang pinout para sa 10-pin Cortex Debug connector ay ipinapakita sa Figure 4-4.
Koneksyon sa isang 10-pin 50-mil Cortex header
Gamitin ang flat cable (kasama sa ilang kit) para kumonekta sa isang karaniwang 50-mil Cortex header.
Koneksyon sa isang 10-pin 100-mil Cortex-layout header
Gamitin ang adapter board (kasama sa ilang kit) para kumonekta sa isang 100-mil Cortex-pinout header.
Koneksyon sa isang 20-pin 100-mil SAM header
Gamitin ang adapter board (kasama sa ilang kit) para kumonekta sa isang 20-pin 100-mil SAM header.
Koneksyon sa isang custom na 100-mil na header
Dapat gamitin ang 10-pin na mini-squid cable para kumonekta sa pagitan ng Atmel-ICE AVR o SAM connector port at ng target board. Anim na koneksyon ang kinakailangan, tulad ng inilarawan sa talahanayan sa ibaba.
Talahanayan 3-8. Atmel-ICE SWD Pin Mapping
Pangalan | AVR port pin | SAM port pin | Paglalarawan |
SWDC LK | 1 | 4 | Serial Wire Debug Clock. |
SWIDIO | 5 | 2 | Serial Wire Debug Data Input/Output. |
SWO | 3 | 6 | Serial Wire Output (opsyonal- hindi ipinatupad sa lahat ng device). |
nSRST | 6 | 10 | I-reset. |
VTG | 4 | 1 | Target voltage sanggunian. |
GND | 2, 10 | 3, 5, 9 | Lupa. |
3.10 Pagkonekta sa Data Gateway Interface
Sinusuportahan ng Atmel-ICE ang limitadong Data Gateway Interface (DGI) kapag hindi ginagamit ang pag-debug at programming. Ang functionality ay kapareho ng makikita sa Atmel Xplained Pro kit na pinapagana ng Atmel EDBG device.
Ang Data Gateway Interface ay isang interface para sa pag-stream ng data mula sa target na device patungo sa isang computer. Ito ay sinadya bilang tulong sa pag-debug ng application pati na rin para sa pagpapakita ng mga feature sa application na tumatakbo sa target na device.
Ang DGI ay binubuo ng maraming channel para sa data streaming. Sinusuportahan ng Atmel-ICE ang mga sumusunod na mode:
- USART
- SPI
Talahanayan 3-9. Atmel-ICE DGI USART Pinout
AVR port |
SAM port | DGI USART pin |
Paglalarawan |
3 | 6 | TX | Ipadala ang pin mula sa Atmel-ICE patungo sa target na device |
4 | 1 | VTG | Target voltage (sanggunian voltage) |
8 | 7 | RX | Tumanggap ng pin mula sa target na device patungo sa Atmel-ICE |
9 | 8 | CLK | USART orasan |
2, 10 | 3, 5, 9 | GND | Lupa |
Talahanayan 3-10. Atmel-ICE DGI SPI Pinout
AVR port |
SAM port | DGI SPI pin |
Paglalarawan |
1 | 4 | SCK | SPI orasan |
3 | 6 | MISO | Master In Slave Out |
4 | 1 | VTG | Target voltage (sanggunian voltage) |
5 | 2 | nCS | Chip piliin ang aktibong mababa |
9 | 8 | DAWDLE | Master Out Alipin Sa |
2, 10 | 3, 5, 9 | GND | Lupa |
Mahalaga: Ang mga interface ng SPI at USART ay hindi maaaring gamitin nang sabay.
Mahalaga: Ang DGI at programming o pag-debug ay hindi maaaring gamitin nang sabay-sabay.
On-chip Debugging
4.1 Panimula
On-chip Debugging
Ang on-chip debug module ay isang system na nagpapahintulot sa isang developer na subaybayan at kontrolin ang execution sa isang device mula sa isang external na platform ng pag-develop, kadalasan sa pamamagitan ng isang device na kilala bilang isang debugger o debug adapter.
Sa isang OCD system ang application ay maaaring isagawa habang pinapanatili ang eksaktong mga katangian ng elektrikal at timing sa target na sistema, habang nagagawang ihinto ang pagpapatupad nang may kondisyon o manu-mano at sinisiyasat ang daloy ng programa at memorya.
Run Mode
Kapag nasa Run mode, ang execution ng code ay ganap na independiyente sa Atmel-ICE. Patuloy na susubaybayan ng Atmel-ICE ang target na device upang makita kung may nangyaring break condition. Kapag nangyari ito, itatanong ng OCD system ang device sa pamamagitan ng interface ng debug nito, na magbibigay-daan sa user view ang panloob na estado ng device.
Huminto ang Mode
Kapag naabot ang isang breakpoint, ihihinto ang pagpapatupad ng programa, ngunit maaaring patuloy na tumakbo ang ilang I/O na parang walang naganap na breakpoint. Para kay example, ipagpalagay na ang isang USART transmit ay sinimulan lamang kapag naabot ang isang breakpoint. Sa kasong ito ang USART ay patuloy na tumatakbo sa buong bilis na nakumpleto ang paghahatid, kahit na ang core ay nasa stop mode.
Mga Breakpoint ng Hardware
Ang target na OCD module ay naglalaman ng isang bilang ng mga program counter comparator na ipinatupad sa hardware. Kapag ang program counter ay tumugma sa halagang nakaimbak sa isa sa mga comparator register, ang OCD ay papasok sa stop mode. Dahil ang mga breakpoint ng hardware ay nangangailangan ng dedikadong hardware sa OCD module, ang bilang ng mga breakpoint na available ay depende sa laki ng OCD module na ipinatupad sa target. Karaniwan ang isang naturang hardware comparator ay 'nakareserba' ng debugger para sa panloob na paggamit.
Mga Breakpoint ng Software
Ang software breakpoint ay isang BREAK na pagtuturo na inilagay sa memory ng program sa target na device. Kapag na-load ang pagtuturo na ito, masisira ang pagpapatupad ng programa at ang OCD ay papasok sa stop mode. Upang ipagpatuloy ang pagpapatupad ng isang "simula" na utos ay kailangang ibigay mula sa OCD. Hindi lahat ng Atmel device ay may mga OCD module na sumusuporta sa BREAK na pagtuturo.
4.2 Mga SAM Device na may JTAG/SWD
Nagtatampok ang lahat ng SAM device ng interface ng SWD para sa programming at pag-debug. Bilang karagdagan, ang ilang SAM device ay nagtatampok ng JTAG interface na may magkaparehong pag-andar. Suriin ang datasheet ng device para sa mga sinusuportahang interface ng device na iyon.
4.2.1.Mga Bahagi ng ARM CoreSight
Ang mga microcontroller na nakabase sa Atmel ARM Cortex-M ay nagpapatupad ng mga bahagi ng OCD na sumusunod sa CoreSight. Maaaring mag-iba ang mga feature ng mga bahaging ito sa bawat device. Para sa karagdagang impormasyon kumonsulta sa datasheet ng device pati na rin ang dokumentasyon ng CoreSight na ibinigay ng ARM.
4.2.1. JTAG Pisikal na Interface
Ang JTAG ang interface ay binubuo ng isang 4-wire Test Access Port (TAP) controller na sumusunod sa IEEE® 1149.1 pamantayan. Ang pamantayang IEEE ay binuo upang magbigay ng isang pamantayang pang-industriya na paraan upang mahusay na masuri ang pagkakakonekta ng circuit board (Boundary Scan). Pinalawak ng mga Atmel AVR at SAM na device ang functionality na ito para isama ang buong Programming at On-chip Debugging na suporta.
Larawan 4-1. JTAG Mga Pangunahing Kaalaman sa Interface
4.2.2.1 SAM JTAG Pinout (Cortex-M debug connector)
Kapag nagdidisenyo ng isang application PCB na may kasamang Atmel SAM na may JTAG interface, inirerekumenda na gamitin ang pinout tulad ng ipinapakita sa figure sa ibaba. Parehong sinusuportahan ang 100-mil at 50-mil na variant ng pinout na ito, depende sa paglalagay ng kable at mga adapter na kasama sa partikular na kit.
Larawan 4-2. SAM JTAG Pinout ng Header
Talahanayan 4-1. SAM JTAG Paglalarawan ng Pin
Pangalan | Pin |
Paglalarawan |
TCK | 4 | Pagsubok na Orasan (signal ng orasan mula sa Atmel-ICE papunta sa target na device). |
TMS | 2 | Test Mode Select (control signal mula sa Atmel-ICE papunta sa target na device). |
TDI | 8 | Test Data In (data na ipinadala mula sa Atmel-ICE papunta sa target na device). |
TDO | 6 | Test Data Out (data na ipinadala mula sa target na device papunta sa Atmel-ICE). |
nRESET | 10 | I-reset (opsyonal). Ginagamit para i-reset ang target na device. Inirerekomenda ang pagkonekta sa pin na ito dahil pinapayagan nito ang Atmel-ICE na hawakan ang target na device sa isang estado ng pag-reset, na maaaring maging mahalaga sa pag-debug sa ilang partikular na sitwasyon. |
VTG | 1 | Target voltage sanggunian. Ang Atmel-ICE samples ang target voltage sa pin na ito upang paganahin nang tama ang mga level converter. Ang Atmel-ICE ay kumukuha ng mas mababa sa 1mA mula sa pin na ito sa mode na ito. |
GND | 3, 5, 9 | Lupa. Dapat na konektado ang lahat upang matiyak na ang Atmel-ICE at ang target na device ay nagbabahagi ng parehong ground reference. |
SUSI | 7 | Nakakonekta sa loob sa TRST pin sa AVR connector. Inirerekomenda bilang hindi konektado. |
Tip: Tandaan na magsama ng decoupling capacitor sa pagitan ng pin 1 at GND.
4.2.2.2 JTAG Daisy Pagkakadena
Ang JTAG interface ay nagbibigay-daan para sa ilang mga aparato na konektado sa isang solong interface sa isang daisy chain configuration. Ang mga target na device ay dapat lahat ay pinapagana ng parehong supply voltage, magbahagi ng common ground node, at dapat na konektado gaya ng ipinapakita sa figure sa ibaba.
Larawan 4-3. JTAG Daisy Chain
Kapag nagkokonekta ng mga device sa isang daisy chain, dapat isaalang-alang ang mga sumusunod na punto:
- Ang lahat ng mga device ay dapat magbahagi ng isang karaniwang lupa, na konektado sa GND sa Atmel-ICE probe
- Ang lahat ng mga aparato ay dapat na gumagana sa parehong target voltage. Ang VTG sa Atmel-ICE ay dapat na konektado sa vol na itotage.
- TMS at TCK ay konektado sa parallel; Ang TDI at TDO ay konektado sa isang serial
- Dapat na konektado ang nSRST sa Atmel-ICE probe sa RESET sa mga device kung ang alinman sa mga device sa chain ay hindi pinagana ang J nito.TAG daungan
- Ang "mga device dati" ay tumutukoy sa bilang ng JTAG mga device na kailangang dumaan ng signal ng TDI sa daisy chain bago maabot ang target na device. Katulad nito, ang “devices after” ay ang bilang ng mga device na kailangang dumaan ng signal pagkatapos ng target na device bago maabot ang Atmel-ICE TDO
- Ang "mga bit ng tagubilin "bago" at "pagkatapos" ay tumutukoy sa kabuuang kabuuan ng lahat ng JTAG mga haba ng rehistro ng pagtuturo ng mga device, na konektado bago at pagkatapos ng target na device sa daisy chain
- Ang kabuuang haba ng IR (mga bit ng tagubilin bago + haba ng IR ng target na device ng Atmel + mga bit ng pagtuturo pagkatapos) ay limitado sa maximum na 256 bit. Ang bilang ng mga device sa chain ay limitado sa 15 bago at 15 pagkatapos.
Tip:
Daisy chaining example: TDI → ATmega1280 → ATxmega128A1 → ATUC3A0512 → TDO.
Upang kumonekta sa Atmel AVR XMEGA® device, ang mga setting ng daisy chain ay:
- Mga device bago: 1
- Mga device pagkatapos ng: 1
- Instruction bits bago: 4 (8-bit AVR device has 4 IR bits)
- Instruction bits pagkatapos ng: 5 (32-bit AVR device ay may 5 IR bits)
Talahanayan 4-2. IR Haba ng Atmel MCUs
Uri ng device | haba ng IR |
AVR 8-bit | 4 bits |
AVR 32-bit | 5 bits |
SAM | 4 bits |
4.2.3. Kumokonekta sa isang JTAG Target
Ang Atmel-ICE ay nilagyan ng dalawang 50-mil 10-pin na JTAG mga konektor. Ang parehong mga konektor ay direktang konektado sa kuryente, ngunit umaayon sa dalawang magkaibang mga pinout; ang AVR JTAG header at ang ARM Cortex Debug header. Dapat piliin ang connector batay sa pinout ng target na board, at hindi sa target na uri ng MCU – para sa halampAng isang SAM device na naka-mount sa isang AVR STK600 stack ay dapat gumamit ng AVR header.
Ang inirerekomendang pinout para sa 10-pin na AVR JTAG connector ay ipinapakita sa Figure 4-6.
Ang inirerekomendang pinout para sa 10-pin ARM Cortex Debug connector ay ipinapakita sa Figure 4-2.
Direktang koneksyon sa isang karaniwang 10-pin 50-mil na header
Gamitin ang 50-mil 10-pin flat cable (kasama sa ilang kit) para direktang kumonekta sa isang board na sumusuporta sa ganitong uri ng header. Gamitin ang AVR connector port sa Atmel-ICE para sa mga header na may AVR pinout, at ang SAM connector port para sa mga header na sumusunod sa ARM Cortex Debug header pinout.
Ang mga pinout para sa parehong 10-pin connector port ay ipinapakita sa ibaba.
Koneksyon sa isang karaniwang 10-pin 100-mil na header
Gumamit ng karaniwang 50-mil hanggang 100-mil na adaptor para kumonekta sa 100-mil na mga header. Maaaring gamitin ang adapter board (kasama sa ilang kit) para sa layuning ito, o bilang kahalili ang JTAGMaaaring gamitin ang ICE3 adapter para sa mga target ng AVR.
Mahalaga:
Ang JTAGAng ICE3 100-mil adapter ay hindi magagamit sa SAM connector port, dahil ang mga pin 2 at 10 (AVR GND) sa adapter ay konektado.
Koneksyon sa isang custom na 100-mil na header
Kung ang iyong target na board ay walang sumusunod na 10-pin na JTAG header sa 50- o 100-mil, maaari kang mag-map sa isang custom na pinout gamit ang 10-pin na "mini-squid" cable (kasama sa ilang kit), na nagbibigay ng access sa sampung indibidwal na 100-mil socket.
Koneksyon sa isang 20-pin na 100-mil na header
Gamitin ang adapter board (kasama sa ilang kit) para kumonekta sa mga target na may 20-pin 100-mil na header.
Talahanayan 4-3. Atmel-ICE JTAG Paglalarawan ng Pin
Pangalan | AVR port pin | SAM port pin | Paglalarawan |
TCK | 1 | 4 | Pagsubok na Orasan (signal ng orasan mula sa Atmel-ICE papunta sa target na device). |
TMS | 5 | 2 | Test Mode Select (control signal mula sa Atmel-ICE papunta sa target na device). |
TDI | 9 | 8 | Test Data In (data na ipinadala mula sa Atmel-ICE papunta sa target na device). |
TDO | 3 | 6 | Test Data Out (data na ipinadala mula sa target na device papunta sa Atmel-ICE). |
nTRST | 8 | – | Test Reset (opsyonal, sa ilang AVR device lang). Ginamit upang i-reset ang JTAG TAP controller. |
nSRST | 6 | 10 | I-reset (opsyonal). Ginagamit para i-reset ang target na device. Inirerekomenda ang pagkonekta sa pin na ito dahil pinapayagan nito ang Atmel-ICE na hawakan ang target na device sa isang estado ng pag-reset, na maaaring maging mahalaga sa pag-debug sa ilang partikular na sitwasyon. |
VTG | 4 | 1 | Target voltage sanggunian. Ang Atmel-ICE samples ang target voltage sa pin na ito upang paganahin nang tama ang mga level converter. Ang Atmel-ICE ay kumukuha ng mas mababa sa 3mA mula sa pin na ito sa debugWIRE mode at mas mababa sa 1mA sa iba pang mga mode. |
GND | 2, 10 | 3, 5, 9 | Lupa. Dapat na konektado ang lahat upang matiyak na ang Atmel-ICE at ang target na device ay nagbabahagi ng parehong ground reference. |
4.2.4. Pisikal na Interface ng SWD
Ang interface ng ARM SWD ay isang subset ng JTAG interface, gamit ang mga TCK at TMS pin. Ang ARM JTAG at AVR JTAG ang mga konektor, gayunpaman, ay hindi tugma sa pin, kaya kapag nagdidisenyo ng isang application PCB, na gumagamit ng SAM device na may SWD o JTAG interface, inirerekomendang gamitin ang ARM pinout na ipinapakita sa figure sa ibaba. Ang SAM connector port sa Atmel-ICE ay maaaring direktang kumonekta sa pinout na ito.
Larawan 4-4. Inirerekomenda ang ARM SWD/JTAG Pinout ng Header
Ang Atmel-ICE ay may kakayahang mag-stream ng UART-format na ITM trace sa host computer. Nakukuha ang bakas sa TRACE/SWO pin ng 10-pin na header (JTAG TDO pin). Ang data ay nasa loob ng buffer sa Atmel-ICE at ipinapadala sa HID interface sa host computer. Ang maximum na maaasahang rate ng data ay humigit-kumulang 3MB/s.
4.2.5. Pagkonekta sa isang SWD Target
Ang interface ng ARM SWD ay isang subset ng JTAG interface, gamit ang TCK at TMS pin, na nangangahulugang kapag kumokonekta sa isang SWD device, ang 10-pin JTAG maaaring teknikal na gamitin ang connector. Ang ARM JTAG at AVR JTAG Ang mga konektor ay, gayunpaman, ay hindi tugma sa pin, kaya depende ito sa layout ng target na board na ginagamit. Kapag gumagamit ng STK600 o board na gumagamit ng AVR JTAG pinout, dapat gamitin ang AVR connector port sa Atmel-ICE. Kapag kumokonekta sa isang board, na gumagamit ng ARM JTAG pinout, dapat gamitin ang SAM connector port sa Atmel-ICE.
Ang inirerekomendang pinout para sa 10-pin Cortex Debug connector ay ipinapakita sa Figure 4-4.
Koneksyon sa isang 10-pin 50-mil Cortex header
Gamitin ang flat cable (kasama sa ilang kit) para kumonekta sa isang karaniwang 50-mil Cortex header.
Koneksyon sa isang 10-pin 100-mil Cortex-layout header
Gamitin ang adapter board (kasama sa ilang kit) para kumonekta sa isang 100-mil Cortex-pinout header.
Koneksyon sa isang 20-pin 100-mil SAM header
Gamitin ang adapter board (kasama sa ilang kit) para kumonekta sa isang 20-pin 100-mil SAM header.
Koneksyon sa isang custom na 100-mil na header
Dapat gamitin ang 10-pin na mini-squid cable para kumonekta sa pagitan ng Atmel-ICE AVR o SAM connector port at ng target board. Anim na koneksyon ang kinakailangan, tulad ng inilarawan sa talahanayan sa ibaba.
Talahanayan 4-4. Atmel-ICE SWD Pin Mapping
Pangalan | AVR port pin | SAM port pin | Paglalarawan |
SWDC LK | 1 | 4 | Serial Wire Debug Clock. |
SWIDIO | 5 | 2 | Serial Wire Debug Data Input/Output. |
SWO | 3 | 6 | Serial Wire Output (opsyonal- hindi ipinatupad sa lahat ng device). |
nSRST | 6 | 10 | I-reset. |
VTG | 4 | 1 | Target voltage sanggunian. |
GND | 2, 10 | 3, 5, 9 | Lupa. |
4.2.6 Mga Espesyal na Pagsasaalang-alang
Burahin ang pin
Ang ilang SAM device ay may kasamang ERASE pin na iginiit na magsagawa ng kumpletong pagbubura ng chip at pag-unlock ng mga device kung saan nakatakda ang security bit. Ang feature na ito ay isinama sa mismong device pati na rin sa flash controller at hindi bahagi ng ARM core.
Ang ERASE pin ay HINDI bahagi ng anumang debug header, at sa gayon ang Atmel-ICE ay hindi maigigiit ang signal na ito upang i-unlock ang isang device. Sa ganitong mga kaso, dapat manu-manong isagawa ng user ang pagbura bago magsimula ng session ng pag-debug.
Mga pisikal na interface JTAG interface
Ang linya ng RESET ay dapat palaging konektado upang mapagana ng Atmel-ICE ang JTAG interface.
Interface ng SWD
Ang linya ng RESET ay dapat palaging konektado upang ma-enable ng Atmel-ICE ang interface ng SWD.
4.3 AVR UC3 Device na may JTAG/isang wire
Nagtatampok ang lahat ng AVR UC3 device ng JTAG interface para sa programming at debugging. Bilang karagdagan, nagtatampok ang ilang AVR UC3 device ng interface ng aWire na may magkaparehong functionality gamit ang isang wire. Suriin ang datasheet ng device para sa mga sinusuportahang interface ng device na iyon
4.3.1 Atmel AVR UC3 On-chip Debug System
Ang Atmel AVR UC3 OCD system ay idinisenyo alinsunod sa Nexus 2.0 standard (IEEE-ISTO 5001™-2003), na isang napaka-flexible at mahusay na open on-chip debug standard para sa 32-bit microcontrollers. Sinusuportahan nito ang mga sumusunod na tampok:
- Solusyon sa pag-debug na sumusunod sa Nexus
- Sinusuportahan ng OCD ang anumang bilis ng CPU
- Anim na program counter hardware breakpoints
- Dalawang breakpoint ng data
- Maaaring i-configure ang mga breakpoint bilang mga watchpoint
- Maaaring pagsamahin ang mga breakpoint ng hardware upang magbigay ng break sa mga hanay
- Walang limitasyong bilang ng mga breakpoint ng user program (gamit ang BREAK)
- Real-time na program counter branch tracing, data trace, process trace (sinusuportahan lang ng mga debugger na may parallel trace capture port)
Para sa karagdagang impormasyon tungkol sa AVR UC3 OCD system, kumonsulta sa AVR32UC Technical Reference Manuals, na matatagpuan sa www.atmel.com/uc3.
4.3.2. JTAG Pisikal na Interface
Ang JTAG ang interface ay binubuo ng isang 4-wire Test Access Port (TAP) controller na sumusunod sa IEEE® 1149.1 pamantayan. Ang pamantayang IEEE ay binuo upang magbigay ng isang pamantayang pang-industriya na paraan upang mahusay na masuri ang pagkakakonekta ng circuit board (Boundary Scan). Pinalawak ng mga Atmel AVR at SAM na device ang functionality na ito para isama ang buong Programming at On-chip Debugging na suporta.
Larawan 4-5. JTAG Mga Pangunahing Kaalaman sa Interface
4.3.2.1 AVR JTAG Pinout
Kapag nagdidisenyo ng isang application PCB, na kinabibilangan ng Atmel AVR na may JTAG interface, inirerekumenda na gamitin ang pinout tulad ng ipinapakita sa figure sa ibaba. Parehong sinusuportahan ang 100-mil at 50-mil na variant ng pinout na ito, depende sa paglalagay ng kable at mga adapter na kasama sa partikular na kit.
Larawan 4-6. AVR JTAG Pinout ng Header
mesa 4-5. AVR JTAG Paglalarawan ng Pin
Pangalan | Pin |
Paglalarawan |
TCK | 1 | Pagsubok na Orasan (signal ng orasan mula sa Atmel-ICE papunta sa target na device). |
TMS | 5 | Test Mode Select (control signal mula sa Atmel-ICE papunta sa target na device). |
TDI | 9 | Test Data In (data na ipinadala mula sa Atmel-ICE papunta sa target na device). |
TDO | 3 | Test Data Out (data na ipinadala mula sa target na device papunta sa Atmel-ICE). |
nTRST | 8 | Test Reset (opsyonal, sa ilang AVR device lang). Ginamit upang i-reset ang JTAG TAP controller. |
nSRST | 6 | I-reset (opsyonal). Ginagamit para i-reset ang target na device. Inirerekomenda ang pagkonekta sa pin na ito dahil pinapayagan nito ang Atmel-ICE na hawakan ang target na device sa isang estado ng pag-reset, na maaaring maging mahalaga sa pag-debug sa ilang partikular na sitwasyon. |
VTG | 4 | Target voltage sanggunian. Ang Atmel-ICE samples ang target voltage sa pin na ito upang paganahin nang tama ang mga level converter. Ang Atmel-ICE ay kumukuha ng mas mababa sa 3mA mula sa pin na ito sa debugWIRE mode at mas mababa sa 1mA sa iba pang mga mode. |
GND | 2, 10 | Lupa. Parehong dapat na konektado upang matiyak na ang Atmel-ICE at ang target na device ay nagbabahagi ng parehong ground reference. |
Tip: Tandaan na magsama ng decoupling capacitor sa pagitan ng pin 4 at GND.
4.3.2.2 JTAG Daisy Pagkakadena
Ang JTAG interface ay nagbibigay-daan para sa ilang mga aparato na konektado sa isang solong interface sa isang daisy chain configuration. Ang mga target na device ay dapat lahat ay pinapagana ng parehong supply voltage, magbahagi ng common ground node, at dapat na konektado gaya ng ipinapakita sa figure sa ibaba.
Larawan 4-7. JTAG Daisy Chain
Kapag nagkokonekta ng mga device sa isang daisy chain, dapat isaalang-alang ang mga sumusunod na punto:
- Ang lahat ng mga device ay dapat magbahagi ng isang karaniwang lupa, na konektado sa GND sa Atmel-ICE probe
- Ang lahat ng mga aparato ay dapat na gumagana sa parehong target voltage. Ang VTG sa Atmel-ICE ay dapat na konektado sa vol na itotage.
- TMS at TCK ay konektado sa parallel; Ang TDI at TDO ay konektado sa isang serial chain.
- Dapat na konektado ang nSRST sa Atmel-ICE probe sa RESET sa mga device kung ang alinman sa mga device sa chain ay hindi pinagana ang J nito.TAG daungan
- Ang "mga device dati" ay tumutukoy sa bilang ng JTAG mga device na kailangang dumaan ng signal ng TDI sa daisy chain bago maabot ang target na device. Katulad nito, ang “devices after” ay ang bilang ng mga device na kailangang dumaan ng signal pagkatapos ng target na device bago maabot ang Atmel-ICE TDO
- Ang "mga bit ng tagubilin "bago" at "pagkatapos" ay tumutukoy sa kabuuang kabuuan ng lahat ng JTAG mga haba ng rehistro ng pagtuturo ng mga device, na konektado bago at pagkatapos ng target na device sa daisy chain
- Ang kabuuang haba ng IR (mga bit ng tagubilin bago + haba ng IR ng target na device ng Atmel + mga bit ng pagtuturo pagkatapos) ay limitado sa maximum na 256 bit. Ang bilang ng mga device sa chain ay limitado sa 15 bago at 15 pagkatapos.
Tip:
Daisy chaining example: TDI → ATmega1280 → ATxmega128A1 → ATUC3A0512 → TDO.
Upang kumonekta sa Atmel AVR XMEGA® device, ang mga setting ng daisy chain ay:
- Mga device bago: 1
- Mga device pagkatapos ng: 1
- Instruction bits bago: 4 (8-bit AVR device has 4 IR bits)
- Instruction bits pagkatapos ng: 5 (32-bit AVR device ay may 5 IR bits)
Talahanayan 4-6. IR Mga Haba ng Atmel MCUS
Uri ng device | haba ng IR |
AVR 8-bit | 4 bits |
AVR 32-bit | 5 bits |
SAM | 4 bits |
4.3.3. Kumokonekta sa isang JTAG Target
Ang Atmel-ICE ay nilagyan ng dalawang 50-mil 10-pin na JTAG mga konektor. Ang parehong mga konektor ay direktang konektado sa kuryente, ngunit umaayon sa dalawang magkaibang mga pinout; ang AVR JTAG header at ang ARM Cortex Debug header. Dapat piliin ang connector batay sa pinout ng target na board, at hindi sa target na uri ng MCU – para sa halampAng isang SAM device na naka-mount sa isang AVR STK600 stack ay dapat gumamit ng AVR header.
Ang inirerekomendang pinout para sa 10-pin na AVR JTAG connector ay ipinapakita sa Figure 4-6.
Ang inirerekomendang pinout para sa 10-pin ARM Cortex Debug connector ay ipinapakita sa Figure 4-2.
Direktang koneksyon sa isang karaniwang 10-pin 50-mil na header
Gamitin ang 50-mil 10-pin flat cable (kasama sa ilang kit) para direktang kumonekta sa isang board na sumusuporta sa ganitong uri ng header. Gamitin ang AVR connector port sa Atmel-ICE para sa mga header na may AVR pinout, at ang SAM connector port para sa mga header na sumusunod sa ARM Cortex Debug header pinout.
Ang mga pinout para sa parehong 10-pin connector port ay ipinapakita sa ibaba.
Koneksyon sa isang karaniwang 10-pin 100-mil na header
Gumamit ng karaniwang 50-mil hanggang 100-mil na adaptor para kumonekta sa 100-mil na mga header. Maaaring gamitin ang adapter board (kasama sa ilang kit) para sa layuning ito, o bilang kahalili ang JTAGMaaaring gamitin ang ICE3 adapter para sa mga target ng AVR.
Mahalaga:
Ang JTAGAng ICE3 100-mil adapter ay hindi magagamit sa SAM connector port, dahil ang mga pin 2 at 10 (AVR GND) sa adapter ay konektado.
Koneksyon sa isang custom na 100-mil na header
Kung ang iyong target na board ay walang sumusunod na 10-pin na JTAG header sa 50- o 100-mil, maaari kang mag-map sa isang custom na pinout gamit ang 10-pin na "mini-squid" cable (kasama sa ilang kit), na nagbibigay ng access sa sampung indibidwal na 100-mil socket.
Koneksyon sa isang 20-pin na 100-mil na header
Gamitin ang adapter board (kasama sa ilang kit) para kumonekta sa mga target na may 20-pin 100-mil na header.
Talahanayan 4-7. Atmel-ICE JTAG Paglalarawan ng Pin
Pangalan |
AVR port pin | SAM port pin |
Paglalarawan |
TCK | 1 | 4 | Pagsubok na Orasan (signal ng orasan mula sa Atmel-ICE papunta sa target na device). |
TMS | 5 | 2 | Test Mode Select (control signal mula sa Atmel-ICE papunta sa target na device). |
TDI | 9 | 8 | Test Data In (data na ipinadala mula sa Atmel-ICE papunta sa target na device). |
TDO | 3 | 6 | Test Data Out (data na ipinadala mula sa target na device papunta sa Atmel-ICE). |
nTRST | 8 | – | Test Reset (opsyonal, sa ilang AVR device lang). Ginamit upang i-reset ang JTAG TAP controller. |
nSRST | 6 | 10 | I-reset (opsyonal). Ginagamit para i-reset ang target na device. Inirerekomenda ang pagkonekta sa pin na ito dahil pinapayagan nito ang Atmel-ICE na hawakan ang target na device sa isang estado ng pag-reset, na maaaring maging mahalaga sa pag-debug sa ilang partikular na sitwasyon. |
VTG | 4 | 1 | Target voltage sanggunian. Ang Atmel-ICE samples ang target voltage sa pin na ito upang paganahin nang tama ang mga level converter. Ang Atmel-ICE ay kumukuha ng mas mababa sa 3mA mula sa pin na ito sa debugWIRE mode at mas mababa sa 1mA sa iba pang mga mode. |
GND | 2, 10 | 3, 5, 9 | Lupa. Dapat na konektado ang lahat upang matiyak na ang Atmel-ICE at ang target na device ay nagbabahagi ng parehong ground reference. |
4.3.4 aWire Physical Interface
Ginagamit ng interface ng aWire ang RESET wire ng AVR device para payagan ang mga function ng programming at debugging. Ang isang espesyal na enable sequence ay ipinadala ng Atmel-ICE, na hindi pinapagana ang default na RESET functionality ng pin. Kapag nagdidisenyo ng application PCB, na kinabibilangan ng Atmel AVR na may aWire interface, inirerekomendang gamitin ang pinout tulad ng ipinapakita sa Figure 4 -8. Parehong sinusuportahan ang 100-mil at 50-mil na variant ng pinout na ito, depende sa paglalagay ng kable at mga adapter na kasama sa partikular na kit.
Larawan 4-8. aWire Header Pinout
Tip:
Dahil ang aWire ay isang half-duplex interface, ang isang pull-up resistor sa linya ng RESET sa pagkakasunud-sunod ng 47kΩ ay inirerekomenda upang maiwasan ang maling pag-detect ng start-bit kapag nagbabago ng direksyon.
Ang interface ng aWire ay maaaring gamitin bilang parehong programming at debugging interface. Ang lahat ng mga tampok ng sistema ng OCD ay magagamit sa pamamagitan ng 10-pin na JTAG ang interface ay maaari ding ma-access gamit ang aWire.
4.3.5 Pagkonekta sa isang aWire Target
Ang interface ng aWire ay nangangailangan lamang ng isang linya ng data bilang karagdagan sa VCC at GND. Sa target na linyang ito ay ang nRESET na linya, bagaman ginagamit ng debugger ang JTAG TDO line bilang linya ng data.
Ang inirerekomendang pinout para sa 6-pin aWire connector ay ipinapakita sa Figure 4-8.
Koneksyon sa isang 6-pin 100-mil aWire header
Gamitin ang 6-pin 100-mil tap sa flat cable (kasama sa ilang kit) para kumonekta sa isang standard na 100-mil aWire header.
Koneksyon sa isang 6-pin 50-mil aWire header
Gamitin ang adapter board (kasama sa ilang kit) para kumonekta sa isang karaniwang 50-mil aWire header.
Koneksyon sa isang custom na 100-mil na header
Ang 10-pin na mini-squid cable ay dapat gamitin para kumonekta sa pagitan ng Atmel-ICE AVR connector port at ng target board. Tatlong koneksyon ang kinakailangan, tulad ng inilarawan sa talahanayan sa ibaba.
Talahanayan 4-8. Atmel-ICE aWire Pin Mapping
Atmel-ICE AVR port pin | Mga target na pin | Mini-squid pin |
aWire pinout |
Pin 1 (TCK) | 1 | ||
Pin 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | DATA | 3 | 1 |
Pin 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | 6 | ||
Pin 7 (Hindi konektado) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Pin 10 (GND) | 0 |
4.3.6. Mga Espesyal na Pagsasaalang-alang
JTAG interface
Sa ilang mga Atmel AVR UC3 device ang JTAG port ay hindi pinagana bilang default. Kapag ginagamit ang mga device na ito, mahalagang ikonekta ang linya ng RESET upang mapagana ng Atmel-ICE ang JTAG interface.
aWire interface
Ang baud rate ng mga komunikasyon sa aWire ay nakasalalay sa dalas ng orasan ng system, dahil ang data ay dapat na naka-synchronize sa pagitan ng dalawang domain na ito. Awtomatikong matutukoy ng Atmel-ICE na ibinaba ang system clock, at muling i-calibrate ang baud rate nito nang naaayon. Gumagana lang ang awtomatikong pag-calibrate hanggang sa frequency ng system clock na 8kHz. Ang paglipat sa isang mas mababang system clock sa panahon ng isang debug session ay maaaring maging sanhi ng pagkawala ng contact sa target.
Kung kinakailangan, ang aWire baud rate ay maaaring paghigpitan sa pamamagitan ng pagtatakda ng aWire clock parameter. Gagana pa rin ang awtomatikong pag-detect, ngunit may ipapataw na halaga sa kisame sa mga resulta.
Ang anumang stabilizing capacitor na konektado sa RESET pin ay dapat na idiskonekta kapag gumagamit ng aWire dahil ito ay makagambala sa tamang operasyon ng interface. Inirerekomenda ang mahinang panlabas na pullup (10kΩ o mas mataas) sa linyang ito.
I-shutdown ang sleep mode
Ang ilang AVR UC3 device ay may internal regulator na maaaring gamitin sa 3.3V supply mode na may 1.8V regulated I/O lines. Nangangahulugan ito na pinapagana ng internal regulator ang core at karamihan sa I/O. Tanging Atmel AVR ONE! Sinusuportahan ng debugger ang pag-debug habang gumagamit ng mga sleep mode kung saan naka-shut off ang regulator na ito.
4.3.7. Paggamit ng EVTI / EVTO
Ang EVTI at EVTO pin ay hindi naa-access sa Atmel-ICE. Gayunpaman, maaari pa ring gamitin ang mga ito kasabay ng iba pang panlabas na kagamitan.
Maaaring gamitin ang EVTI para sa mga sumusunod na layunin:
- Maaaring pilitin ang target na ihinto ang pagpapatupad bilang tugon sa isang panlabas na kaganapan. Kung ang Event In Control (EIC) bits sa DC register ay isinulat sa 0b01, ang high-to-low transition sa EVTI pin ay bubuo ng breakpoint condition. Dapat manatiling mababa ang EVTI para sa isang ikot ng orasan ng CPU upang matiyak na ang isang breakpoint ay Ang External Breakpoint bit (EXB) sa DS ay nakatakda kapag nangyari ito.
- Bumubuo ng mga trace synchronization na mensahe. Hindi ginagamit ng Atmel-ICE.
Maaaring gamitin ang EVTO para sa mga sumusunod na layunin:
- Isinasaad na ang CPU ay pumasok sa debug Ang pagtatakda ng EOS bits sa DC sa 0b01 ay nagiging sanhi ng EVTO pin na mahila pababa para sa isang CPU clock cycle kapag ang target na device ay pumasok sa debug mode. Ang signal na ito ay maaaring gamitin bilang trigger source para sa isang panlabas na oscilloscope.
- Isinasaad na ang CPU ay umabot sa isang breakpoint o watchpoint. Sa pamamagitan ng pagtatakda ng EOC bit sa isang katumbas na Breakpoint/Watchpoint Control Register, ang breakpoint o watchpoint status ay ipinahiwatig sa EVTO pin. Ang mga bit ng EOS sa DC ay dapat na nakatakda sa 0xb10 upang paganahin ang tampok na ito. Ang EVTO pin ay maaaring ikonekta sa isang panlabas na oscilloscope upang masuri ang watchpoint
- Bumubuo ng mga trace timing signal. Hindi ginagamit ng Atmel-ICE.
4.4 tinyAVR, megaAVR, at XMEGA Devices
Nagtatampok ang mga AVR device ng iba't ibang programming at debugging interface. Suriin ang datasheet ng device para sa mga sinusuportahang interface ng device na iyon.
- Ilang tinyAVR® ang mga device ay may TPI TPI ay maaaring gamitin para sa pagprograma ng device lamang, at ang mga device na ito ay walang kakayahan sa pag-debug ng on-chip.
- Ang ilang tinyAVR device at ilang megaAVR device ay may debugWIRE interface, na kumokonekta sa isang on-chip debug system na kilala bilang tinyOCD. Ang lahat ng mga device na may debugWIRE ay mayroon ding interface ng SPI para sa in-system
- Ang ilang megaAVR device ay may JTAG interface para sa programming at pag-debug, na may on-chip na debug system na kilala rin bilang Lahat ng device na may JTAG itinatampok din ang interface ng SPI bilang alternatibong interface para sa in-system programming.
- Ang lahat ng AVR XMEGA device ay may PDI interface para sa programming at ang ilang AVR XMEGA device ay mayroon ding JTAG interface na may magkaparehong pag-andar.
- Ang mga bagong tinyAVR device ay may interface ng UPDI, na ginagamit para sa programming at pag-debug
Talahanayan 4-9. Buod ng Mga Interface ng Programming at Pag-debug
|
UPDI | TPI | SPI | debugWIR E | JTAG | PDI | isang wire |
SWD |
tinyAVR | Mga bagong device | Ilang device | Ilang device | Ilang device | ||||
megaAV R | Lahat ng device | Ilang device | Ilang device | |||||
AVR XMEGA | Ilang device | Lahat ng device | ||||||
AVR UC | Lahat ng device | Ilang device | ||||||
SAM | Ilang device | Lahat ng device |
4.4.1. JTAG Pisikal na Interface
Ang JTAG ang interface ay binubuo ng isang 4-wire Test Access Port (TAP) controller na sumusunod sa IEEE® 1149.1 pamantayan. Ang pamantayang IEEE ay binuo upang magbigay ng isang pamantayang pang-industriya na paraan upang mahusay na masuri ang pagkakakonekta ng circuit board (Boundary Scan). Pinalawak ng mga Atmel AVR at SAM na device ang functionality na ito para isama ang buong Programming at On-chip Debugging na suporta.
Larawan 4-9. JTAG Mga Pangunahing Kaalaman sa Interface4.4.2. Kumokonekta sa isang JTAG Target
Ang Atmel-ICE ay nilagyan ng dalawang 50-mil 10-pin na JTAG mga konektor. Ang parehong mga konektor ay direktang konektado sa kuryente, ngunit umaayon sa dalawang magkaibang mga pinout; ang AVR JTAG header at ang ARM Cortex Debug header. Dapat piliin ang connector batay sa pinout ng target na board, at hindi sa target na uri ng MCU – para sa halampAng isang SAM device na naka-mount sa isang AVR STK600 stack ay dapat gumamit ng AVR header.
Ang inirerekomendang pinout para sa 10-pin na AVR JTAG connector ay ipinapakita sa Figure 4-6.
Ang inirerekomendang pinout para sa 10-pin ARM Cortex Debug connector ay ipinapakita sa Figure 4-2.
Direktang koneksyon sa isang karaniwang 10-pin 50-mil na header
Gamitin ang 50-mil 10-pin flat cable (kasama sa ilang kit) para direktang kumonekta sa isang board na sumusuporta sa ganitong uri ng header. Gamitin ang AVR connector port sa Atmel-ICE para sa mga header na may AVR pinout, at ang SAM connector port para sa mga header na sumusunod sa ARM Cortex Debug header pinout.
Ang mga pinout para sa parehong 10-pin connector port ay ipinapakita sa ibaba.
Koneksyon sa isang karaniwang 10-pin 100-mil na header
Gumamit ng karaniwang 50-mil hanggang 100-mil na adaptor para kumonekta sa 100-mil na mga header. Maaaring gamitin ang adapter board (kasama sa ilang kit) para sa layuning ito, o bilang kahalili ang JTAGMaaaring gamitin ang ICE3 adapter para sa mga target ng AVR.
Mahalaga:
Ang JTAGAng ICE3 100-mil adapter ay hindi magagamit sa SAM connector port, dahil ang mga pin 2 at 10 (AVR GND) sa adapter ay konektado.
Koneksyon sa isang custom na 100-mil na header
Kung ang iyong target na board ay walang sumusunod na 10-pin na JTAG header sa 50- o 100-mil, maaari kang mag-map sa isang custom na pinout gamit ang 10-pin na "mini-squid" cable (kasama sa ilang kit), na nagbibigay ng access sa sampung indibidwal na 100-mil socket.
Koneksyon sa isang 20-pin na 100-mil na header
Gamitin ang adapter board (kasama sa ilang kit) para kumonekta sa mga target na may 20-pin 100-mil na header.
Talahanayan 4-10. Atmel-ICE JTAG Paglalarawan ng Pin
Pangalan | AVR port pin | SAM port pin | Paglalarawan |
TCK | 1 | 4 | Pagsubok na Orasan (signal ng orasan mula sa Atmel-ICE papunta sa target na device). |
TMS | 5 | 2 | Test Mode Select (control signal mula sa Atmel-ICE papunta sa target na device). |
TDI | 9 | 8 | Test Data In (data na ipinadala mula sa Atmel-ICE papunta sa target na device). |
TDO | 3 | 6 | Test Data Out (data na ipinadala mula sa target na device papunta sa Atmel-ICE). |
nTRST | 8 | – | Test Reset (opsyonal, sa ilang AVR device lang). Ginamit upang i-reset ang JTAG TAP controller. |
nSRST | 6 | 10 | I-reset (opsyonal). Ginagamit para i-reset ang target na device. Inirerekomenda ang pagkonekta sa pin na ito dahil pinapayagan nito ang Atmel-ICE na hawakan ang target na device sa isang estado ng pag-reset, na maaaring maging mahalaga sa pag-debug sa ilang partikular na sitwasyon. |
VTG | 4 | 1 | Target voltage sanggunian. Ang Atmel-ICE samples ang target voltage sa pin na ito upang paganahin nang tama ang mga level converter. Ang Atmel-ICE ay kumukuha ng mas mababa sa 3mA mula sa pin na ito sa debugWIRE mode at mas mababa sa 1mA sa iba pang mga mode. |
GND | 2, 10 | 3, 5, 9 | Lupa. Dapat na konektado ang lahat upang matiyak na ang Atmel-ICE at ang target na device ay nagbabahagi ng parehong ground reference. |
4.4.3.SPI Pisikal na Interface
Ginagamit ng In-System Programming ang target na Atmel AVR's internal SPI (Serial Peripheral Interface) upang mag-download ng code sa flash at EEPROM na mga alaala. Ito ay hindi isang debugging interface. Kapag nagdidisenyo ng isang application PCB, na kinabibilangan ng AVR na may interface ng SPI, ang pinout na ipinapakita sa figure sa ibaba ay dapat gamitin.
Larawan 4-10. SPI Header Pinout4.4.4. Pagkonekta sa isang SPI Target
Ang inirerekomendang pinout para sa 6-pin na SPI connector ay ipinapakita sa Figure 4-10.
Koneksyon sa isang 6-pin 100-mil SPI header
Gamitin ang 6-pin 100-mil tap sa flat cable (kasama sa ilang kit) para kumonekta sa isang standard na 100-mil SPI header.
Koneksyon sa isang 6-pin 50-mil SPI header
Gamitin ang adapter board (kasama sa ilang kit) para kumonekta sa isang standard na 50-mil SPI header.
Koneksyon sa isang custom na 100-mil na header
Ang 10-pin na mini-squid cable ay dapat gamitin para kumonekta sa pagitan ng Atmel-ICE AVR connector port at ng target board. Anim na koneksyon ang kinakailangan, tulad ng inilarawan sa talahanayan sa ibaba.
Mahalaga:
Ang interface ng SPI ay epektibong hindi pinagana kapag ang debugWIRE enable fuse (DWEN) ay na-program, kahit na ang SPIEN fuse ay naka-program din. Upang muling paganahin ang interface ng SPI, ang command na 'disable debugWIRE' ay dapat na ibigay habang nasa isang debugWIRE debugging session. Ang hindi pagpapagana ng debugWIRE sa ganitong paraan ay nangangailangan na ang SPIEN fuse ay naka-program na. Kung nabigo ang Atmel Studio na i-disable ang debugWIRE, malamang dahil HINDI naka-program ang SPIEN fuse. Kung ito ang kaso, kinakailangang gumamit ng high-voltage programming interface upang i-program ang SPIEN fuse.
impormasyon:
Ang interface ng SPI ay madalas na tinutukoy bilang "ISP", dahil ito ang unang In System Programming interface sa mga produkto ng Atmel AVR. Available na ngayon ang iba pang mga interface para sa In System Programming.
Talahanayan 4-11. Atmel-ICE SPI Pin Mapping
Atmel-ICE AVR port pin | Mga target na pin | Mini-squid pin |
SPI pinout |
Pin 1 (TCK) | SCK | 1 | 3 |
Pin 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | MISO | 3 | 1 |
Pin 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | / I-reset | 6 | 5 |
Pin 7 (hindi konektado) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | DAWDLE | 9 | 4 |
Pin 10 (GND) | 0 |
4.4.5. PDI
Ang Program and Debug Interface (PDI) ay isang interface ng pagmamay-ari ng Atmel para sa panlabas na programming at on-chip na pag-debug ng isang device. Ang PDI Physical ay isang 2-pin na interface na nagbibigay ng bi-directional half-duplex synchronous na komunikasyon sa target na device.
Kapag nagdidisenyo ng isang application PCB, na kinabibilangan ng Atmel AVR na may PDI interface, ang pinout na ipinapakita sa figure sa ibaba ay dapat gamitin. Ang isa sa mga 6-pin na adapter na ibinigay kasama ng Atmel-ICE kit ay maaaring gamitin upang ikonekta ang Atmel-ICE probe sa application na PCB.
Larawan 4-11. Pinout ng PDI Header4.4.6.Pagkonekta sa isang PDI Target
Ang inirerekomendang pinout para sa 6-pin PDI connector ay ipinapakita sa Figure 4-11.
Koneksyon sa isang 6-pin 100-mil PDI header
Gamitin ang 6-pin 100-mil tap sa flat cable (kasama sa ilang kit) para kumonekta sa isang karaniwang 100-mil PDI header.
Koneksyon sa isang 6-pin 50-mil PDI header
Gamitin ang adapter board (kasama sa ilang kit) upang kumonekta sa isang karaniwang 50-mil na PDI header.
Koneksyon sa isang custom na 100-mil na header
Ang 10-pin na mini-squid cable ay dapat gamitin para kumonekta sa pagitan ng Atmel-ICE AVR connector port at ng target board. Apat na koneksyon ang kailangan, gaya ng inilarawan sa talahanayan sa ibaba.
Mahalaga:
Ang kinakailangang pinout ay iba sa JTAGICE mkII JTAG probe, kung saan nakakonekta ang PDI_DATA sa pin 9. Ang Atmel-ICE ay katugma sa pinout na ginamit ng Atmel-ICE, JTAGICE3, AVR ONE!, at AVR Dragon™ mga produkto.
Talahanayan 4-12. Atmel-ICE PDI Pin Mapping
Atmel-ICE AVR port pin |
Mga target na pin | Mini-squid pin |
Atmel STK600 PDI pinout |
Pin 1 (TCK) | 1 | ||
Pin 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | PDI_DATA | 3 | 1 |
Pin 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | PDI_CLK | 6 | 5 |
Pin 7 (hindi konektado) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Pin 10 (GND) | 0 |
4.4.7. Pisikal na Interface ng UPDI
Ang Unified Program and Debug Interface (UPDI) ay isang interface ng pagmamay-ari ng Atmel para sa panlabas na programming at on-chip na pag-debug ng isang device. Ito ay isang kahalili sa PDI 2-wire physical interface, na matatagpuan sa lahat ng AVR XMEGA device. Ang UPDI ay isang single-wire interface na nagbibigay ng bi-directional half-duplex asynchronous na komunikasyon sa target na device para sa mga layunin ng programming at debugging.
Kapag nagdidisenyo ng PCB ng application, na kinabibilangan ng Atmel AVR na may interface ng UPDI, dapat gamitin ang pinout na ipinapakita sa ibaba. Ang isa sa mga 6-pin na adapter na ibinigay kasama ng Atmel-ICE kit ay maaaring gamitin upang ikonekta ang Atmel-ICE probe sa application na PCB.
Larawan 4-12. UPDI Header Pinout4.4.7.1 UPDI at /RESET
Ang UPDI one-wire interface ay maaaring isang dedikadong pin o isang shared pin, depende sa target na AVR device. Kumonsulta sa datasheet ng device para sa karagdagang impormasyon.
Kapag ang interface ng UPDI ay nasa isang nakabahaging pin, maaaring i-configure ang pin na maging UPDI, /RESET, o GPIO sa pamamagitan ng pagtatakda ng mga fuse ng RSTPINCFG[1:0].
Ang RSTPINCFG[1:0] fuse ay may mga sumusunod na configuration, gaya ng inilarawan sa datasheet. Ang mga praktikal na implikasyon ng bawat pagpili ay ibinibigay dito.
Talahanayan 4-13. RSTPINCFG[1:0] Fuse Configuration
RSPINCFG[1:0] | Configuration |
Paggamit |
00 | GPIO | Pangkalahatang layunin ng I/O pin. Upang ma-access ang UPDI, isang 12V pulse ay dapat ilapat sa pin na ito. Walang available na external reset source. |
01 | UPDI | Nakalaang programming at debugging pin. Walang available na external reset source. |
10 | I-reset | I-reset ang input ng signal. Upang ma-access ang UPDI, isang 12V pulse ay dapat ilapat sa pin na ito. |
11 | Nakareserba | NA |
Tandaan: Ang mga mas lumang AVR device ay may programming interface, na kilala bilang “High-Voltage Programming” (parehong umiiral ang mga serial at parallel na variant.) Sa pangkalahatan, ang interface na ito ay nangangailangan ng 12V na ilapat sa /RESET pin para sa tagal ng session ng programming. Ang interface ng UPDI ay isang ganap na naiibang interface. Ang UPDI pin ay pangunahing isang programming at debugging pin, na maaaring pagsamahin upang magkaroon ng alternatibong function (/RESET o GPIO). Kung napili ang alternatibong function, kinakailangan ang 12V pulse sa pin na iyon upang muling maisaaktibo ang paggana ng UPDI.
Tandaan: Kung ang isang disenyo ay nangangailangan ng pagbabahagi ng signal ng UPDI dahil sa mga hadlang sa pin, ang mga hakbang ay dapat gawin upang matiyak na ang aparato ay maaaring ma-program. Upang matiyak na ang signal ng UPDI ay maaaring gumana nang tama, gayundin upang maiwasan ang pinsala sa mga panlabas na bahagi mula sa pulso ng 12V, inirerekumenda na idiskonekta ang anumang mga bahagi sa pin na ito kapag sinusubukang i-debug o i-program ang device. Magagawa ito gamit ang isang 0Ω risistor, na naka-mount bilang default at inalis o pinapalitan ng isang pin header habang nagde-debug. Ang configuration na ito ay epektibong nangangahulugan na ang programming ay dapat gawin bago i-mount ang device.
Mahalaga: Hindi sinusuportahan ng Atmel-ICE ang 12V sa linya ng UPDI. Sa madaling salita, kung ang UPDI pin ay na-configure bilang GPIO o RESET, hindi magagawang paganahin ng Atmel-ICE ang interface ng UPDI.
4.4.8.Pagkonekta sa isang Target ng UPDI
Ang inirerekomendang pinout para sa 6-pin na UPDI connector ay ipinapakita sa Figure 4-12.
Koneksyon sa isang 6-pin 100-mil UPDI header
Gamitin ang 6-pin 100-mil tap sa flat cable (kasama sa ilang kit) para kumonekta sa isang standard na 100-mil UPDI header.
Koneksyon sa isang 6-pin 50-mil UPDI header
Gamitin ang adapter board (kasama sa ilang kit) para kumonekta sa isang standard na 50-mil UPDI header.
Koneksyon sa isang custom na 100-mil na header
Ang 10-pin na mini-squid cable ay dapat gamitin para kumonekta sa pagitan ng Atmel-ICE AVR connector port at ng target board. Tatlong koneksyon ang kinakailangan, tulad ng inilarawan sa talahanayan sa ibaba.
Talahanayan 4-14. Atmel-ICE UPDI Pin Mapping
Atmel-ICE AVR port pin | Mga target na pin | Mini-squid pin |
Atmel STK600 UPDI pinout |
Pin 1 (TCK) | 1 | ||
Pin 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | UPDI_DATA | 3 | 1 |
Pin 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | [/RESET sense] | 6 | 5 |
Pin 7 (Hindi konektado) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Pin 10 (GND) | 0 |
4.4.9 Pisikal na Interface ng TPI
Ang TPI ay isang programming-only na interface para sa ilang AVR ATtiny device. Ito ay hindi isang debugging interface, at ang mga device na ito ay walang kakayahan sa OCD. Kapag nagdidisenyo ng isang application PCB na may kasamang AVR na may TPI interface, ang pinout na ipinapakita sa figure sa ibaba ay dapat gamitin.
Larawan 4-13. TPI Header Pinout4.4.10.Pagkonekta sa isang Target ng TPI
Ang inirerekomendang pinout para sa 6-pin TPI connector ay ipinapakita sa Figure 4-13.
Koneksyon sa isang 6-pin 100-mil TPI header
Gamitin ang 6-pin 100-mil tap sa flat cable (kasama sa ilang kit) para kumonekta sa isang standard na 100-mil TPI header.
Koneksyon sa isang 6-pin 50-mil TPI header
Gamitin ang adapter board (kasama sa ilang kit) para kumonekta sa isang karaniwang 50-mil TPI header.
Koneksyon sa isang custom na 100-mil na header
Ang 10-pin na mini-squid cable ay dapat gamitin para kumonekta sa pagitan ng Atmel-ICE AVR connector port at ng target board. Anim na koneksyon ang kinakailangan, tulad ng inilarawan sa talahanayan sa ibaba.
Talahanayan 4-15. Atmel-ICE TPI Pin Mapping
Atmel-ICE AVR port pin | Mga target na pin | Mini-squid pin |
TPI pinout |
Pin 1 (TCK) | Orasan | 1 | 3 |
Pin 2 (GND) | GND | 2 | 6 |
Pin 3 (TDO) | DATA | 3 | 1 |
Pin 4 (VTG) | VTG | 4 | 2 |
Pin 5 (TMS) | 5 | ||
Pin 6 (nSRST) | / I-reset | 6 | 5 |
Pin 7 (hindi konektado) | 7 | ||
Pin 8 (nTRST) | 8 | ||
Pin 9 (TDI) | 9 | ||
Pin 10 (GND) | 0 |
4.4.11. Advanced na Pag-debug (AVR JTAG /debugWIRE device)
I/O Peripheral
Karamihan sa mga peripheral ng I/O ay patuloy na tatakbo kahit na ang pagpapatupad ng programa ay huminto sa pamamagitan ng isang breakpoint. Halample: Kung ang isang breakpoint ay naabot sa panahon ng isang UART transmission, ang paghahatid ay makukumpleto at ang mga kaukulang bit ay itatakda. Ang TXC (transmit complete) na flag ay itatakda at magiging available sa susunod na solong hakbang ng code kahit na karaniwan itong mangyayari mamaya sa isang aktwal na device.
Ang lahat ng I/O modules ay patuloy na tatakbo sa stop mode na may sumusunod na dalawang exception:
- Timer/Counter (nako-configure gamit ang front-end ng software)
- Watchdog Timer (palaging huminto upang maiwasan ang mga pag-reset sa panahon ng pag-debug)
Single Stepping I/O access
Dahil ang I/O ay patuloy na tumatakbo sa stop mode, dapat mag-ingat upang maiwasan ang ilang partikular na isyu sa timing. Para kay example, ang code:
Kapag normal na pinapatakbo ang code na ito, hindi babasahin ng TEMP register ang 0xAA dahil ang data ay hindi pa pisikal na nakakabit sa pin sa oras na ito ay s.amppinangunahan ng operasyon ng IN. Dapat maglagay ng NOP instruction sa pagitan ng OUT at IN instruction para matiyak na ang tamang value ay nasa rehistro ng PIN.
Gayunpaman, kapag nag-iisang hakbang ang function na ito sa pamamagitan ng OCD, ang code na ito ay palaging magbibigay ng 0xAA sa rehistro ng PIN dahil ang I/O ay tumatakbo nang buong bilis kahit na ang core ay huminto sa isang solong hakbang.
Single stepping at timing
Ang ilang mga rehistro ay kailangang basahin o isulat sa loob ng isang naibigay na bilang ng mga cycle pagkatapos paganahin ang isang control signal. Dahil ang orasan ng I/O at mga peripheral ay patuloy na tumatakbo sa buong bilis sa nakahintong mode, hindi matutugunan ng solong hakbang sa naturang code ang mga kinakailangan sa timing. Sa pagitan ng dalawang solong hakbang, ang I/O clock ay maaaring tumakbo ng milyun-milyong cycle. Upang matagumpay na basahin o isulat ang mga rehistro na may ganitong mga kinakailangan sa timing, ang buong read o write sequence ay dapat gawin bilang isang atomic na operasyon na nagpapatakbo ng device sa buong bilis. Magagawa ito sa pamamagitan ng paggamit ng macro o isang function na tawag para isagawa ang code, o gamitin ang run-to-cursor function sa debugging environment
Pag-access sa 16-bit na mga rehistro
Ang mga peripheral ng Atmel AVR ay karaniwang naglalaman ng ilang 16-bit na rehistro na maaaring ma-access sa pamamagitan ng 8-bit na data bus (hal: TCNTn ng isang 16-bit na timer). Ang 16-bit na rehistro ay dapat na ma-access ng byte gamit ang dalawang read o write operations. Ang pagsira sa gitna ng isang 16-bit na pag-access o isang hakbang sa sitwasyong ito ay maaaring magresulta sa mga maling halaga.
Restricted I/O register access
Ang ilang mga rehistro ay hindi mababasa nang hindi naaapektuhan ang kanilang mga nilalaman. Kasama sa mga naturang rehistro ang mga naglalaman ng mga flag na na-clear sa pamamagitan ng pagbabasa, o mga naka-buffer na rehistro ng data (hal: UDR). Pipigilan ng front-end ng software ang pagbabasa ng mga register na ito kapag nasa stop mode upang mapanatili ang nilalayong hindi mapanghimasok na katangian ng pag-debug ng OCD. Bilang karagdagan, ang ilang mga rehistro ay hindi maaaring ligtas na maisulat nang walang mga side-effects na nagaganap - ang mga register na ito ay read-only. Para kay example:
- Mga rehistro ng bandila, kung saan ang isang bandila ay na-clear sa pamamagitan ng pagsusulat ng '1' sa alinmang Ang mga register na ito ay read-only.
- Ang mga rehistro ng UDR at SPDR ay hindi mababasa nang hindi naaapektuhan ang estado ng module. Ang mga rehistrong ito ay hindi
4.4.12. Mga Espesyal na Pagsasaalang-alang ng megaAVR
Mga breakpoint ng software
Dahil naglalaman ito ng maagang bersyon ng OCD module, hindi sinusuportahan ng ATmega128[A] ang paggamit ng pagtuturo ng BREAK para sa mga breakpoint ng software.
JTAG orasan
Dapat na tumpak na tinukoy ang target na dalas ng orasan sa front-end ng software bago magsimula ng sesyon ng pag-debug. Para sa mga kadahilanang pag-synchronize, ang JTAG Ang signal ng TCK ay dapat na mas mababa sa ikaapat na bahagi ng target na dalas ng orasan para sa maaasahang pag-debug. Kapag nagprograma sa pamamagitan ng JTAG interface, ang TCK frequency ay nililimitahan ng maximum frequency rating ng target na device, at hindi ang aktwal na clock frequency na ginagamit.
Kapag ginagamit ang panloob na RC oscillator, tandaan na ang frequency ay maaaring mag-iba sa bawat device at apektado ng temperatura at VCC mga pagbabago. Maging konserbatibo kapag tinutukoy ang target na dalas ng orasan.
JTAGEN at OCDEN fuse
Ang JTAG ang interface ay pinagana gamit ang JTAGEN fuse, na naka-program bilang default. Nagbibigay-daan ito sa pag-access sa JTAG interface ng programming. Sa pamamagitan ng mekanismong ito, ang OCDEN fuse ay maaaring ma-program (sa pamamagitan ng default, ang OCDEN ay hindi naka-program). Nagbibigay-daan ito sa pag-access sa OCD upang mapadali ang pag-debug ng device. Palaging titiyakin ng front-end ng software na ang OCDEN fuse ay hindi na-program kapag tinatapos ang isang session, sa gayon ay nililimitahan ang hindi kinakailangang paggamit ng kuryente ng OCD module. Kung ang JTAGAng EN fuse ay hindi sinasadyang hindi pinagana, maaari lamang itong muling paganahin gamit ang SPI o High Voltage mga pamamaraan ng programming.
Kung ang JTAGAng EN fuse ay naka-program, ang JTAG ang interface ay maaari pa ring i-disable sa firmware sa pamamagitan ng pagtatakda ng JTD bit. Ire-render nito ang code na hindi ma-debug, at hindi dapat gawin kapag sinusubukan ang isang sesyon ng pag-debug. Kung ang naturang code ay gumagana na sa Atmel AVR device kapag nagsisimula ng isang debug session, igigiit ng Atmel-ICE ang RESET line habang kumokonekta. Kung wastong naka-wire ang linyang ito, pipilitin nitong i-reset ang target na AVR device, at sa gayon ay papayagan ang isang JTAG koneksyon.
Kung ang JTAG ang interface ay pinagana, ang JTAG hindi magagamit ang mga pin para sa mga alternatibong function ng pin. Sila ay mananatiling dedikado JTAG mga pin hanggang sa alinman sa JTAG ang interface ay hindi pinagana sa pamamagitan ng pagtatakda ng JTD bit mula sa program code, o sa pamamagitan ng pag-clear ng JTAGEN fuse sa pamamagitan ng isang programming interface.
Tip:
Tiyaking suriin ang checkbox na "use external reset" sa dialog ng programming at dialog ng mga opsyon sa pag-debug upang payagan ang Atmel-ICE na igiit ang linya ng RESET at muling paganahin ang JTAG interface sa mga device na nagpapatakbo ng code na hindi pinapagana ang JTAG interface sa pamamagitan ng pagtatakda ng JTD bit.
Mga kaganapan sa IDR/OCDR
Ang IDR (In-out Data Register) ay kilala rin bilang OCDR (On Chip Debug Register), at malawakang ginagamit ng debugger para magbasa at magsulat ng impormasyon sa MCU kapag nasa stop mode habang may session sa pag-debug. Kapag ang application program sa run mode ay nagsusulat ng isang byte ng data sa OCDR register ng AVR device na ina-debug, binabasa ng Atmel-ICE ang value na ito at ipinapakita ito sa window ng mensahe ng front-end ng software. Ang rehistro ng OCDR ay sinusuri tuwing 50ms, kaya HINDI magbubunga ng maaasahang resulta ang pagsulat dito sa mas mataas na frequency. Kapag nawalan ng kuryente ang AVR device habang ito ay na-debug, maaaring iulat ang mga huwad na kaganapan sa OCDR. Nangyayari ito dahil maaari pa ring i-poll ng Atmel-ICE ang device bilang target voltage bumababa sa minimum operating vol ng AVRtage.
4.4.13. Mga Espesyal na Pagsasaalang-alang ng AVR XMEGA
OCD at orasan
Kapag ang MCU ay pumasok sa stop mode, ang OCD na orasan ay ginagamit bilang MCU na orasan. Ang OCD na orasan ay alinman sa JTAG TCK kung ang JTAG interface ay ginagamit, o ang PDI_CLK kung ang PDI interface ay ginagamit.
I/O modules sa stop mode
Kabaligtaran sa mga naunang Atmel megaAVR na aparato, sa XMEGA ang I/O modules ay huminto sa stop mode. Nangangahulugan ito na ang mga pagpapadala ng USART ay maaantala, ang mga timer (at PWM) ay ititigil.
Mga breakpoint ng hardware
Mayroong apat na hardware breakpoint comparator – dalawang address comparator at dalawang value comparator. Mayroon silang ilang mga paghihigpit:
- Ang lahat ng mga breakpoint ay dapat na pareho ang uri (program o data)
- Ang lahat ng mga breakpoint ng data ay dapat nasa parehong lugar ng memorya (I/O, SRAM, o XRAM)
- Maaari lamang magkaroon ng isang breakpoint kung gagamitin ang hanay ng address
Narito ang iba't ibang kumbinasyon na maaaring itakda:
- Dalawang breakpoint ng solong data o address ng programa
- Isang breakpoint ng hanay ng hanay ng data o programa
- Dalawang solong breakpoint ng address ng data na may iisang halaga ang paghahambing
- Isang breakpoint ng data na may hanay ng address, hanay ng halaga, o pareho
Sasabihin sa iyo ng Atmel Studio kung hindi maitakda ang breakpoint, at bakit. Ang mga breakpoint ng data ay may priyoridad kaysa sa mga breakpoint ng program, kung available ang mga breakpoint ng software.
Panlabas na pag-reset at pisikal na PDI
Ginagamit ng pisikal na interface ng PDI ang linya ng pag-reset bilang orasan. Habang nagde-debug, ang reset pullup ay dapat na 10k o higit pa o maalis. Dapat tanggalin ang anumang mga reset capacitor. Dapat na idiskonekta ang iba pang mga panlabas na mapagkukunan ng pag-reset.
Ang pag-debug gamit ang sleep para sa ATxmegaA1 rev H at mas maaga
Umiral ang isang bug sa mga unang bersyon ng mga ATxmegaA1 device na pumigil sa OCD na ma-enable habang nasa ilang sleep mode ang device. Mayroong dalawang mga solusyon upang muling paganahin ang OCD:
- Pumunta sa Atmel-ICE. Mga opsyon sa menu na Mga Tool at paganahin ang "Palaging i-activate ang external reset kapag nagre-reprogram ng device."
- Magsagawa ng pagbubura ng chip
Ang mga sleep mode na nagpapalitaw sa bug na ito ay:
- Power-down
- Power-save
- Standby
- Extended standby
4.4.1.debugWIRE Mga Espesyal na Pagsasaalang-alang
Ang debugWIRE communication pin (dW) ay pisikal na matatagpuan sa parehong pin ng external reset (RESET). Ang isang panlabas na mapagkukunan ng pag-reset ay samakatuwid ay hindi suportado kapag ang debugWIRE interface ay pinagana.
Ang debugWIRE Enable fuse (DWEN) ay dapat itakda sa target na device para gumana ang debugWIRE interface. Ang fuse na ito ay bilang default na hindi na-program kapag ang Atmel AVR device ay ipinadala mula sa pabrika. Ang interface ng debugWIRE mismo ay hindi maaaring gamitin upang itakda ang fuse na ito. Upang maitakda ang DWEN fuse, dapat gamitin ang SPI mode. Awtomatikong pinangangasiwaan ito ng front-end ng software sa kondisyon na ang mga kinakailangang SPI pin ay konektado. Maaari rin itong itakda gamit ang SPI programming mula sa Atmel Studio programming dialog.
alinman sa: Subukang magsimula ng sesyon ng debug sa bahagi ng debugWIRE. Kung hindi pinagana ang interface ng debugWIRE, mag-aalok ang Atmel Studio na muling subukan, o subukang paganahin ang debugWIRE gamit ang SPI programming. Kung nakakonekta ang buong SPI header, ie-enable ang debugWIRE, at hihilingin sa iyong i-toggle ang power sa target. Kinakailangan ito para maging epektibo ang mga pagbabago sa fuse.
O kaya: Buksan ang dialog ng programming sa SPI mode, at i-verify na tumutugma ang lagda sa tamang device. Suriin ang DWEN fuse upang paganahin ang debugWIRE.
Mahalaga:
Mahalagang iwanan ang SPIEN fuse na naka-program, ang RSTDISBL fuse na hindi naka-program! Ang hindi paggawa nito ay magre-render ng device na natigil sa debugWIRE mode, at High Voltage programming ay kinakailangan upang ibalik ang DWEN setting.
Upang i-disable ang interface ng debugWIRE, gamitin ang High Voltage programming para i-un-program ang DWEN fuse. Bilang kahalili, gamitin ang mismong interface ng debugWIRE upang pansamantalang i-disable ang sarili nito, na magbibigay-daan sa SPI programming na maganap, basta't nakatakda ang SPIEN fuse.
Mahalaga:
Kung HINDI naiwang naka-program ang SPIEN fuse, hindi makukumpleto ng Atmel Studio ang operasyong ito, at High Voltage programming ang dapat gamitin.
Sa panahon ng sesyon ng pag-debug, piliin ang opsyon na 'Huwag paganahin ang debugWIRE at Isara' mula sa menu na 'Debug'. Pansamantalang idi-disable ang DebugWIRE, at gagamit ang Atmel Studio ng SPI programming para i-unprogram ang DWEN fuse.
Ang pagkakaroon ng DWEN fuse na naka-program ay nagbibigay-daan sa ilang bahagi ng sistema ng orasan na tumakbo sa lahat ng sleep mode. Papataasin nito ang pagkonsumo ng kuryente ng AVR habang nasa sleep mode. Samakatuwid, ang DWEN Fuse ay dapat na palaging hindi pinagana kapag ang debugWIRE ay hindi ginagamit.
Kapag nagdidisenyo ng isang target na application PCB kung saan gagamitin ang debugWIRE, ang mga sumusunod na pagsasaalang-alang ay dapat gawin para sa tamang operasyon:
- Ang mga pull-up na resistors sa dW/(RESET) na linya ay hindi dapat mas maliit (mas malakas) kaysa 10kΩ. Ang pull-up resistor ay hindi kinakailangan para sa debugWIRE functionality, dahil nagbibigay ang debugger tool
- Ang anumang nagpapatatag na kapasitor na konektado sa RESET pin ay dapat na idiskonekta kapag gumagamit ng debugWIRE, dahil sila ay makagambala sa tamang operasyon ng interface
- Ang lahat ng mga panlabas na mapagkukunan ng pag-reset o iba pang aktibong driver sa linya ng RESET ay dapat na idiskonekta, dahil maaaring makagambala ang mga ito sa tamang operasyon ng interface.
Huwag kailanman i-program ang mga lock-bit sa target na device. Ang interface ng debugWIRE ay nangangailangan na ang mga lock-bit ay na-clear upang gumana nang tama.
4.4.15. debugWIRE Software Breakpoints
Ang debugWIRE OCD ay lubhang pinaliit kung ihahambing sa Atmel megaAVR (JTAG) OCD. Nangangahulugan ito na wala itong anumang program counter breakpoint comparator na magagamit sa user para sa mga layunin ng pag-debug. Ang isang naturang comparator ay umiiral para sa mga layunin ng run-to-cursor at single-stepping na mga operasyon, ngunit ang mga karagdagang breakpoint ng user ay hindi sinusuportahan sa hardware.
Sa halip, dapat gamitin ng debugger ang pagtuturo ng AVR BREAK. Ang pagtuturo na ito ay maaaring ilagay sa FLASH, at kapag ito ay na-load para sa pagpapatupad ito ay magiging sanhi ng AVR CPU na pumasok sa stop mode. Upang suportahan ang mga breakpoint sa panahon ng pag-debug, ang debugger ay dapat magpasok ng BREAK na pagtuturo sa FLASH sa punto kung saan humiling ang mga user ng breakpoint. Ang orihinal na pagtuturo ay dapat na naka-cache para sa kapalit sa ibang pagkakataon.
Kapag nag-iisang humakbang sa isang BREAK na pagtuturo, kailangang isagawa ng debugger ang orihinal na naka-cache na pagtuturo upang mapanatili ang gawi ng program. Sa matinding mga kaso, ang BREAK ay kailangang alisin sa FLASH at palitan sa ibang pagkakataon. Ang lahat ng mga sitwasyong ito ay maaaring maging sanhi ng maliwanag na pagkaantala kapag nag-iisang hakbang mula sa mga breakpoint, na lalala kapag ang target na dalas ng orasan ay napakababa.
Kaya inirerekomenda na sundin ang mga sumusunod na alituntunin, kung posible:
- Palaging patakbuhin ang target sa kasing taas ng dalas hangga't maaari habang nagde-debug. Ang pisikal na interface ng debugWIRE ay na-clock mula sa target na orasan.
- Subukang bawasan ang bilang ng mga pagdaragdag at pag-aalis ng breakpoint, dahil ang bawat isa ay nangangailangan ng isang FLASH page na palitan sa target.
- Subukang magdagdag o mag-alis ng kaunting bilang ng mga breakpoint sa isang pagkakataon, upang mabawasan ang bilang ng mga operasyon sa pagsulat ng FLASH page
- Kung maaari, iwasan ang paglalagay ng mga breakpoint sa double-word na mga tagubilin
4.4.16. Pag-unawa sa debugWIRE at sa DWEN Fuse
Kapag pinagana, kinokontrol ng interface ng debugWIRE ang /RESET pin ng device, na ginagawa itong kapwa eksklusibo sa interface ng SPI, na nangangailangan din ng pin na ito. Kapag pinapagana at hindi pinapagana ang module ng debugWIRE, sundin ang isa sa dalawang pamamaraang ito:
- Hayaan ang Atmel Studio na mag-asikaso ng mga bagay-bagay (inirerekomenda)
- Itakda at i-clear nang manu-mano ang DWEN (mag-ingat, mga advanced na user lang!)
Mahalaga: Kapag manu-manong minamanipula ang DWEN, mahalagang manatiling nakatakda ang SPIEN fuse upang maiwasan ang paggamit ng High-Voltage programming
Larawan 4-14. Pag-unawa sa debugWIRE at sa DWEN Fuse4.4.17.TinyX-OCD (UPDI) Mga Espesyal na Pagsasaalang-alang
Ang UPDI data pin (UPDI_DATA) ay maaaring isang nakalaang pin o isang nakabahaging pin, depende sa target na AVR device. Ang isang nakabahaging UPDI pin ay 12V tolerant, at maaaring i-configure upang magamit bilang /RESET o GPIO. Para sa karagdagang detalye kung paano gamitin ang pin sa mga pagsasaayos na ito, tingnan ang UPDI Physical Interface.
Sa mga device na may kasamang CRCSCAN module (Cyclic Redundancy Check Memory Scan) ang module na ito ay hindi dapat gamitin sa tuluy-tuloy na background mode habang nagde-debug. Ang module ng OCD ay may limitadong mga mapagkukunan ng paghahambing ng breakpoint ng hardware, kaya ang mga tagubilin sa BREAK ay maaaring ipasok sa flash (mga breakpoint ng software) kapag kailangan ng higit pang mga breakpoint, o kahit na sa pag-step ng source-level na code. Maaaring ma-detect ng CRC module ang breakpoint na ito bilang isang katiwalian ng mga nilalaman ng flash memory.
Ang CRCSCAN module ay maaari ding i-configure upang magsagawa ng CRC scan bago mag-boot. Sa kaso ng hindi pagkakatugma ng CRC, hindi magbo-boot ang device, at mukhang nasa naka-lock na estado. Ang tanging paraan upang mabawi ang device mula sa estadong ito ay ang magsagawa ng buong pagbubura ng chip at alinman sa programa ng isang wastong flash image o huwag paganahin ang pre-boot na CRCSCAN. (Ang simpleng pagbura ng chip ay magreresulta sa isang blangkong flash na may di-wastong CRC, at sa gayon ay hindi pa rin magbo-boot ang bahagi.) Awtomatikong idi-disable ng Atmel Studio ang mga piyus ng CRCSCAN kapag binubura ng chip ang isang device sa ganitong estado.
Kapag nagdidisenyo ng target na application PCB kung saan gagamitin ang interface ng UPDI, ang mga sumusunod na pagsasaalang-alang ay dapat gawin para sa tamang operasyon:
- Ang mga pull-up na resistors sa linya ng UPDI ay hindi dapat mas maliit (mas malakas) kaysa 10kΩ. Hindi dapat gumamit ng pull-down resistor, o dapat itong alisin kapag gumagamit ng UPDI. Ang pisikal ng UPDI ay may kakayahang push-pull, kaya isang mahinang pull-up resistor lamang ang kinakailangan upang maiwasan ang maling pagsisimula ng bit na nagti-trigger kapag ang linya ay
- Kung ang UPDI pin ay gagamitin bilang isang RESET pin, ang anumang stabilizing capacitor ay dapat na idiskonekta kapag gumagamit ng UPDI, dahil ito ay makagambala sa tamang operasyon ng interface
- Kung ang UPDI pin ay ginagamit bilang RESET o GPIO pin, ang lahat ng panlabas na driver sa linya ay dapat na idiskonekta habang nagprograma o nagde-debug dahil maaari silang makagambala sa tamang operasyon ng interface.
Paglalarawan ng Hardware
5.1. LEDs
Ang panel sa tuktok ng Atmel-ICE ay may tatlong LED na nagpapahiwatig ng katayuan ng kasalukuyang mga sesyon ng pag-debug o programming.
mesa 5-1. mga LED
LED | Function |
Paglalarawan |
Kaliwa | Target na kapangyarihan | BERDE kapag ang target na kapangyarihan ay OK. Ang pag-flash ay nagpapahiwatig ng isang target na error sa kapangyarihan. Hindi umiilaw hanggang sa magsimula ang isang programming/debugging session connection. |
Gitna | Pangunahing kapangyarihan | RED kapag ang main-board power ay OK. |
Tama | Katayuan | Kumikislap na BERDE kapag ang target ay tumatakbo/tumakpak. OFF kapag itinigil ang target. |
5.2 . Rear Panel
Ang likurang panel ng Atmel-ICE ay naglalaman ng Micro-B USB connector.5.3. Ibabang Panel
Ang ilalim na panel ng Atmel-ICE ay may sticker na nagpapakita ng serial number at petsa ng paggawa. Kapag naghahanap ng teknikal na suporta, isama ang mga detalyeng ito.5.4 .Deskripsyon ng Arkitektura
Ang arkitektura ng Atmel-ICE ay ipinapakita sa block diagram sa Figure 5-1.
Larawan 5-1. Atmel-ICE Block Diagram5.4.1. Pangunahing Lupon ng Atmel-ICE
Ang kapangyarihan ay ibinibigay sa Atmel-ICE mula sa USB bus, na kinokontrol sa 3.3V ng isang step-down switch-mode regulator. Ang VTG pin ay ginagamit bilang reference input lamang, at ang isang hiwalay na power supply ay nagpapakain sa variable voltage gilid ng on-board level converter. Sa gitna ng pangunahing board ng Atmel-ICE ay ang Atmel AVR UC3 microcontroller AT32UC3A4256, na tumatakbo sa pagitan ng 1MHz at 60MHz depende sa mga gawaing pinoproseso. Ang microcontroller ay may kasamang on-chip USB 2.0 high-speed module, na nagbibigay-daan sa mataas na data throughput papunta at mula sa debugger.
Ang komunikasyon sa pagitan ng Atmel-ICE at ng target na device ay ginagawa sa pamamagitan ng isang bangko ng mga level converter na nagpapalipat-lipat ng mga signal sa pagitan ng operating vol ng targettage at ang panloob na voltage level sa Atmel-ICE. Gayundin sa landas ng signal ay ang zener overvoltage protection diodes, series termination resistors, inductive filter at ESD protection diodes. Ang lahat ng mga channel ng signal ay maaaring patakbuhin sa hanay na 1.62V hanggang 5.5V, kahit na ang Atmel-ICE hardware ay hindi makapagpapalabas ng mas mataas na vol.tage kaysa sa 5.0V. Ang maximum na dalas ng pagpapatakbo ay nag-iiba ayon sa target na interface na ginagamit.
5.4.2.Atmel-ICE Target Connectors
Ang Atmel-ICE ay walang aktibong probe. Ang 50-mil IDC cable ay ginagamit upang kumonekta sa target na application nang direkta, o sa pamamagitan ng mga adapter na kasama sa ilang kit. Para sa karagdagang impormasyon sa paglalagay ng kable at mga adaptor, tingnan ang seksyong Pag-assemble ng Atmel-ICE
5.4.3. Mga Numero ng Bahagi ng Atmel-ICE Target Connectors
Upang direktang ikonekta ang Atmel-ICE 50-mil IDC cable sa isang target na board, dapat sapat na ang anumang karaniwang 50-mil 10-pin na header. Pinapayuhan na gumamit ng mga naka-key na header upang matiyak ang tamang oryentasyon kapag kumokonekta sa target, tulad ng mga ginamit sa adapter board na kasama sa kit.
Ang numero ng bahagi para sa header na ito ay: FTSH-105-01-L-DV-KAP mula sa SAMTEC
Pagsasama ng Software
6.1. Atmel Studio
6.1.1.Pagsasama ng Software sa Atmel Studio
Ang Atmel Studio ay isang Integrated Development Environment (IDE) para sa pagsulat at pag-debug ng mga application ng Atmel AVR at Atmel SAM sa mga kapaligiran ng Windows. Nagbibigay ang Atmel Studio ng tool sa pamamahala ng proyekto, pinagmulan file editor, simulator, assembler at front-end para sa C/C++, programming, emulation at on-chip debugging.
Ang bersyon 6.2 o mas bago ng Atmel Studio ay dapat gamitin kasabay ng Atmel-ICE.
6.1.2. Mga Opsyon sa Programming
Sinusuportahan ng Atmel Studio ang programming ng Atmel AVR at Atmel SAM ARM device gamit ang Atmel-ICE. Maaaring i-configure ang dialog ng programming para magamit ang JTAG, aWire, SPI, PDI, TPI, SWD mode, ayon sa napiling target na device.
Kapag kino-configure ang dalas ng orasan, iba't ibang panuntunan ang nalalapat para sa iba't ibang interface at target na pamilya:
- Ginagamit ng SPI programming ang target na orasan. I-configure ang dalas ng orasan upang maging mas mababa sa isang ikaapat na dalas kung saan kasalukuyang tumatakbo ang target na device.
- JTAG Ang programming sa Atmel megaAVR na mga device ay na-clock ng Ang ibig sabihin nito na ang programming clock frequency ay limitado sa maximum operating frequency ng device mismo. (Karaniwan ay 16MHz.)
- AVR XMEGA programming sa parehong JTAG at ang mga interface ng PDI ay na-clock ng programmer. Nangangahulugan ito na ang programming clock frequency ay limitado sa maximum operating frequency ng device (Karaniwan ay 32MHz).
- AVR UC3 programming sa JTAG ang interface ay na-clock ng programmer. Nangangahulugan ito na ang programming clock frequency ay limitado sa maximum operating frequency ng device mismo. (Limitado sa 33MHz.)
- Ang programming ng AVR UC3 sa interface ng aWire ay inorasan ng Ang pinakamainam na frequency ay ibinibigay ng bilis ng SAB bus sa target na device. Awtomatikong ia-tune ng Atmel-ICE debugger ang aWire baud rate para matugunan ang pamantayang ito. Bagama't karaniwang hindi kinakailangan, maaaring limitahan ng user ang maximum na baud rate kung kinakailangan (hal. sa maingay na kapaligiran).
- Ang programming ng SAM device sa interface ng SWD ay inorasan ng programmer. Ang maximum na dalas na sinusuportahan ng Atmel-ICE ay 2MHz. Ang frequency ay hindi dapat lumampas sa target na CPU frequency times 10, fSWD ≤ 10fSYSCLK .
6.1.3. Mga Opsyon sa Pag-debug
Kapag nagde-debug ng Atmel AVR device gamit ang Atmel Studio, ang tab na 'Tool' sa mga property ng proyekto view naglalaman ng ilang mahahalagang opsyon sa pagsasaayos. Ang mga opsyon na nangangailangan ng karagdagang paliwanag ay detalyado dito.
Target na Dalas ng Orasan
Ang tumpak na pagtatakda ng target na dalas ng orasan ay mahalaga upang makamit ang maaasahang pag-debug ng Atmel megaAVR device sa ibabaw ng JTAG interface. Ang setting na ito ay dapat na mas mababa sa XNUMX/XNUMX ng pinakamababang dalas ng pagpapatakbo ng iyong target na AVR na device sa application na ina-debug. Tingnan ang mga Espesyal na Pagsasaalang-alang ng megaAVR para sa higit pang impormasyon.
Ang mga sesyon ng pag-debug sa mga target na device ng debugWIRE ay inorasan ng mismong target na device, at sa gayon ay walang kinakailangang setting ng dalas. Awtomatikong pipiliin ng Atmel-ICE ang tamang baud rate para sa pakikipag-usap sa simula ng isang sesyon ng pag-debug. Gayunpaman, kung nakakaranas ka ng mga problema sa pagiging maaasahan na nauugnay sa isang maingay na kapaligiran sa pag-debug, ang ilang mga tool ay nag-aalok ng posibilidad na pilitin ang bilis ng debugWIRE sa isang bahagi ng "inirerekomenda" na setting nito.
Ang mga sesyon ng pag-debug sa mga target na device ng AVR XMEGA ay maaaring i-clock nang hanggang sa maximum na bilis ng mismong device (karaniwan ay 32MHz).
Mga sesyon ng pag-debug sa mga target na device ng AVR UC3 sa ibabaw ng JTAG interface ay maaaring i-clock hanggang sa pinakamataas na bilis ng device mismo (limitado sa 33MHz). Gayunpaman, ang pinakamainam na dalas ay bahagyang mas mababa sa kasalukuyang orasan ng SAB sa target na device.
Ang mga sesyon ng pag-debug sa mga target na device ng UC3 sa interface ng aWire ay awtomatikong ia-tune sa pinakamainam na baud rate ng mismong Atmel-ICE. Gayunpaman, kung nakakaranas ka ng mga problema sa pagiging maaasahan na nauugnay sa isang maingay na kapaligiran sa pag-debug, ang ilang mga tool ay nag-aalok ng posibilidad na pilitin ang bilis ng aWire na mas mababa sa isang na-configure na limitasyon.
Ang mga sesyon ng pag-debug sa mga target na device ng SAM sa interface ng SWD ay maaaring mai-clock nang hanggang sampung beses kaysa sa orasan ng CPU (ngunit limitado sa 2MHz max.)
Panatilihin ang EEPROM
Piliin ang opsyong ito upang maiwasang mabura ang EEPROM sa panahon ng reprogramming ng target bago ang isang debug session.
Gumamit ng panlabas na pag-reset
Kung hindi pinapagana ng iyong target na application ang JTAG interface, ang panlabas na pag-reset ay dapat na mahila nang mababa sa panahon ng programming. Ang pagpili sa opsyong ito ay maiiwasan ang paulit-ulit na tanungin kung gagamitin ang panlabas na pag-reset.
6.2 Utility ng Command Line
Ang Atmel Studio ay may kasamang command line utility na tinatawag na atprogram na maaaring magamit sa mga target na programa gamit ang Atmel-ICE. Sa panahon ng pag-install ng Atmel Studio, isang shortcut na tinatawag na "Atmel Studio 7.0. Ang Command Prompt" ay nilikha sa folder ng Atmel sa Start menu. Sa pamamagitan ng pag-double click sa shortcut na ito, bubuksan ang command prompt at maipasok ang mga programming command. Naka-install ang command line utility sa path ng pag-install ng Atmel Studio sa folder na Atmel/Atmel Studio 7.0/atbackend/.
Upang makakuha ng karagdagang tulong sa command line utility i-type ang command:
atprogram – tulong
Advanced na Mga Diskarte sa Pag-debug
7.1. Mga Target ng Atmel AVR UC3
7.1.1. Paggamit ng EVTI / EVTO
Ang EVTI at EVTO pin ay hindi naa-access sa Atmel-ICE. Gayunpaman, maaari pa ring gamitin ang mga ito kasabay ng iba pang panlabas na kagamitan.
Maaaring gamitin ang EVTI para sa mga sumusunod na layunin:
- Maaaring pilitin ang target na ihinto ang pagpapatupad bilang tugon sa isang panlabas na kaganapan. Kung ang Event In Control (EIC) bits sa DC register ay isinulat sa 0b01, ang high-to-low transition sa EVTI pin ay bubuo ng breakpoint condition. Dapat manatiling mababa ang EVTI para sa isang ikot ng orasan ng CPU upang matiyak na ang isang breakpoint ay Ang External Breakpoint bit (EXB) sa DS ay nakatakda kapag nangyari ito.
- Bumubuo ng mga trace synchronization na mensahe. Hindi ginagamit ng Atmel-ICE. Maaaring gamitin ang EVTO para sa mga sumusunod na layunin:
- Isinasaad na ang CPU ay pumasok sa debug Ang pagtatakda ng EOS bits sa DC sa 0b01 ay nagiging sanhi ng EVTO pin na mahila pababa para sa isang CPU clock cycle kapag ang target na device ay pumasok sa debug mode. Ang signal na ito ay maaaring gamitin bilang trigger source para sa isang panlabas na oscilloscope.
- Isinasaad na ang CPU ay umabot sa isang breakpoint o watchpoint. Sa pamamagitan ng pagtatakda ng EOC bit sa isang katumbas na Breakpoint/Watchpoint Control Register, ang breakpoint o watchpoint status ay ipinahiwatig sa EVTO pin. Ang mga bit ng EOS sa DC ay dapat na nakatakda sa 0xb10 upang paganahin ang tampok na ito. Ang EVTO pin ay maaaring ikonekta sa isang panlabas na oscilloscope upang masuri ang watchpoint
- Bumubuo ng mga trace timing signal. Hindi ginagamit ng Atmel-ICE.
7.2 debugWIRE Target
7.2.1.debugWIRE Software Breakpoints
Ang debugWIRE OCD ay lubhang pinaliit kung ihahambing sa Atmel megaAVR (JTAG) OCD. Nangangahulugan ito na wala itong anumang program counter breakpoint comparator na magagamit sa user para sa mga layunin ng pag-debug. Ang isang naturang comparator ay umiiral para sa mga layunin ng run-to-cursor at single-stepping na mga operasyon, ngunit ang mga karagdagang breakpoint ng user ay hindi sinusuportahan sa hardware.
Sa halip, dapat gamitin ng debugger ang pagtuturo ng AVR BREAK. Ang pagtuturo na ito ay maaaring ilagay sa FLASH, at kapag ito ay na-load para sa pagpapatupad ito ay magiging sanhi ng AVR CPU na pumasok sa stop mode. Upang suportahan ang mga breakpoint sa panahon ng pag-debug, ang debugger ay dapat magpasok ng BREAK na pagtuturo sa FLASH sa punto kung saan humiling ang mga user ng breakpoint. Ang orihinal na pagtuturo ay dapat na naka-cache para sa kapalit sa ibang pagkakataon.
Kapag nag-iisang humakbang sa isang BREAK na pagtuturo, kailangang isagawa ng debugger ang orihinal na naka-cache na pagtuturo upang mapanatili ang gawi ng program. Sa matinding mga kaso, ang BREAK ay kailangang alisin sa FLASH at palitan sa ibang pagkakataon. Ang lahat ng mga sitwasyong ito ay maaaring maging sanhi ng maliwanag na pagkaantala kapag nag-iisang hakbang mula sa mga breakpoint, na lalala kapag ang target na dalas ng orasan ay napakababa.
Kaya inirerekomenda na sundin ang mga sumusunod na alituntunin, kung posible:
- Palaging patakbuhin ang target sa kasing taas ng dalas hangga't maaari habang nagde-debug. Ang pisikal na interface ng debugWIRE ay na-clock mula sa target na orasan.
- Subukang bawasan ang bilang ng mga pagdaragdag at pag-aalis ng breakpoint, dahil ang bawat isa ay nangangailangan ng isang FLASH page na palitan sa target.
- Subukang magdagdag o mag-alis ng kaunting bilang ng mga breakpoint sa isang pagkakataon, upang mabawasan ang bilang ng mga operasyon sa pagsulat ng FLASH page
- Kung maaari, iwasan ang paglalagay ng mga breakpoint sa double-word na mga tagubilin
Kasaysayan ng Paglabas at Mga Kilalang isyu
8.1 .Kasaysayan ng Paglabas ng Firmware
Talahanayan 8-1. Pampublikong Pagbabago ng Firmware
Bersyon ng firmware (decimal) | Petsa |
Mga kaugnay na pagbabago |
1.36 | 29.09.2016 | Nagdagdag ng suporta para sa interface ng UPDI (tinyX device) Ginawang na-configure ang laki ng endpoint ng USB |
1.28 | 27.05.2015 | Nagdagdag ng suporta para sa mga interface ng SPI at USART DGI. Pinahusay na bilis ng SWD. Mga menor de edad na pag-aayos ng bug. |
1.22 | 03.10.2014 | Nagdagdag ng code profiling. Inayos ang isyu na may kaugnayan sa JTAG daisy chain na may higit sa 64 na mga bit ng pagtuturo. Ayusin para sa extension ng pag-reset ng ARM. Naayos ang isyu sa pinangungunahan ng target na kapangyarihan. |
1.13 | 08.04.2014 | JTAG pag-aayos ng dalas ng orasan. Ayusin para sa debugWIRE na may mahabang SUT. Nakapirming oscillator calibration command. |
1.09 | 12.02.2014 | Unang release ng Atmel-ICE. |
8.2 .Mga Kilalang Isyu Tungkol sa Atmel-ICE
8.2.1.Pangkalahatan
- Ang mga unang batch ng Atmel-ICE ay may mahinang USB Isang bagong rebisyon ang ginawa gamit ang bago at mas matatag na USB connector. Bilang pansamantalang solusyon, ang epoxy glue ay inilapat sa mga nagawa nang unit ng unang bersyon upang mapabuti ang mekanikal na katatagan.
8.2.2. Mga Isyu sa Atmel AVR XMEGA OCD
- Para sa pamilyang ATxmegaA1, rebisyon G o mas bago lang ang sinusuportahan
8.2.1. Atmel AVR – Mga Espesyal na Isyu sa Device
- Ang cycling power sa ATmega32U6 sa panahon ng isang debug session ay maaaring maging sanhi ng pagkawala ng contact sa device
Pagsunod sa Produkto
9.1. RoHS at WEEE
Ang Atmel-ICE at lahat ng accessories ay ginawa alinsunod sa RoHS Directive (2002/95/EC) at WEEE Directive (2002/96/EC).
9.2. CE at FCC
Ang unit ng Atmel-ICE ay nasubok alinsunod sa mga mahahalagang kinakailangan at iba pang nauugnay na mga probisyon ng Mga Direktiba:
- Direktiba 2004/108/EC (class B)
- FCC part 15 subpart B
- 2002/95/EC (RoHS, WEEE)
Ang mga sumusunod na pamantayan ay ginagamit para sa pagsusuri:
- EN 61000-6-1 (2007)
- EN 61000-6-3 (2007) + A1(2011)
- FCC CFR 47 Part 15 (2013)
Ang Teknikal na Konstruksiyon File ay matatagpuan sa:
Ang bawat pagsusumikap ay ginawa upang mabawasan ang mga electromagnetic emissions mula sa produktong ito. Gayunpaman, sa ilalim ng ilang partikular na kundisyon, ang system (ang produktong ito ay konektado sa isang target na application circuit) ay maaaring maglabas ng indibidwal na electromagnetic component frequency na lumampas sa pinakamataas na halaga na pinapayagan ng mga nabanggit na pamantayan. Ang dalas at magnitude ng mga emisyon ay tutukuyin ng ilang salik, kabilang ang layout at pagruruta ng target na aplikasyon kung saan ginagamit ang produkto.
Kasaysayan ng Pagbabago
Dok. Sinabi ni Rev. |
Petsa |
Mga komento |
42330C | 10/2016 | Nagdagdag ng interface ng UPDI at na-update na Kasaysayan ng Paglabas ng Firmware |
42330B | 03/2016 | • Binagong On-Chip Debugging na kabanata • Bagong pag-format ng kasaysayan ng paglabas ng firmware sa Kasaysayan ng Paglabas at mga kilalang isyu na kabanata • Nagdagdag ng debug cable pinout |
42330A | 06/2014 | Paunang paglabas ng dokumento |
Atmel®, Atmel logo at mga kumbinasyon nito, Paganahin ang Walang limitasyong mga Posibilidad®, AVR®, megaAVR®, STK®, tinyAVR®, XMEGA®, at ang iba ay mga rehistradong trademark o trademark ng Atmel Corporation sa US at iba pang mga bansa. ARM®, Nakakonekta ang ARM® logo, Cortex®, at ang iba ay ang mga rehistradong trademark o trademark ng ARM Ltd. Windows® ay isang rehistradong trademark ng Microsoft Corporation sa US at o iba pang mga bansa. Ang ibang mga termino at pangalan ng produkto ay maaaring mga trademark ng iba.
DISCLAIMER: Ang impormasyon sa dokumentong ito ay ibinigay kaugnay ng mga produkto ng Atmel. Walang lisensya, hayag o ipinahiwatig, sa pamamagitan ng estoppel o kung hindi man, sa anumang karapatan sa intelektwal na ari-arian ang ibinibigay ng dokumentong ito o kaugnay ng pagbebenta ng mga produkto ng Atmel. MALIBAN SA ITINAKDA SA MGA TUNTUNIN AT KUNDISYON NG ATMEL NG SALES NA MATATAGPUAN SA ATMEL WEBSITE, ANG ATMEL AY WALANG PANANAGUTAN KAHIT KAHIT ANO AT TINATAWAN ANG ANUMANG TAHAS, IPINAHIWATIT O STATUTORY NA WARRANTY NA KAUGNAY SA MGA PRODUKTO NITO KASAMA, NGUNIT HINDI LIMITADO SA, ANG IPINAHIWATIT NA WARRANTY NG KAKAKALKAL, KAANGKUPAN PARA SA ISANG PARTIKULAR NA LAYUNIN. SA KAHIT KAHIT KAHIT KAHIT KAHIT KAHIT PANANAGUTAN ANG ATMEL PARA SA ANUMANG DIRECT, DIREKTO, KAHITANG, PUNITIVE, ESPESYAL O INCIDENTAL NA MGA PINSALA (KASAMA, WALANG LIMITASYON, MGA PINSALA PARA SA PAGKAWALA AT KITA, PAGBABOL SA NEGOSYO, O PAGKAWALA NG IMPORMASYON NG PAGGAMIT SA PAGGAMIT) ANG DOKUMENTONG ITO, KAHIT NAAYO NA SI ATMEL
NG POSIBILIDAD NG GANITONG MGA PINSALA. Ang Atmel ay hindi gumagawa ng mga representasyon o warranty tungkol sa katumpakan o pagkakumpleto ng mga nilalaman ng dokumentong ito at inilalaan ang karapatang gumawa ng mga pagbabago sa mga detalye at paglalarawan ng mga produkto anumang oras nang walang abiso. Ang Atmel ay hindi gumagawa ng anumang pangako na i-update ang impormasyong nakapaloob dito. Maliban kung partikular na ibinigay kung hindi man, ang mga produkto ng Atmel ay hindi angkop para sa, at hindi dapat gamitin sa, mga automotive application. Ang mga produkto ng Atmel ay hindi inilaan, pinahintulutan, o ginagarantiyahan para sa paggamit bilang mga bahagi sa mga application na nilayon upang suportahan o mapanatili ang buhay.
SAFETY-CRITICAL, MILITARY, AT AUTOMOTIVE APPLICATIONS DISCLAIMER: Ang mga produkto ng Atmel ay hindi idinisenyo para sa at hindi gagamitin kaugnay ng anumang mga application kung saan ang pagkabigo ng naturang mga produkto ay makatuwirang inaasahang magreresulta sa malaking personal na pinsala o kamatayan (“Safety-Critical Mga aplikasyon”) nang walang partikular na nakasulat na pahintulot ng isang opisyal ng Atmel. Kabilang sa Mga Aplikasyon na Kritikal sa Kaligtasan, nang walang limitasyon, ang mga kagamitan at sistema ng suporta sa buhay, kagamitan o sistema para sa pagpapatakbo ng mga pasilidad ng nuklear at sistema ng armas. Ang mga produkto ng Atmel ay hindi idinisenyo o inilaan para sa paggamit sa militar o aerospace na mga aplikasyon o kapaligiran maliban kung partikular na itinalaga ng Atmel bilang militar-grade. Ang mga produkto ng Atmel ay hindi idinisenyo o inilaan para sa paggamit sa mga automotive application maliban kung partikular na itinalaga ng Atmel bilang automotive-grade.
Atmel Corporation
1600 Technology Drive, San Jose, CA 95110 USA
T: (+1)(408) 441.0311
F: (+1)(408) 436.4200
www.atmel.com
© 2016 Atmel Corporation.
Rev.: Atmel-42330C-Atmel-ICE_User Guide-10/2016
Mga Dokumento / Mga Mapagkukunan
![]() |
Atmel Ang Atmel-ICE Debugger Programmer [pdf] Gabay sa Gumagamit Ang Atmel-ICE Debugger Programmer, The Atmel-ICE, Debugger Programmer, Programmer |