Лого на AtmelICE Debugger програмисти
Ръководство за потребителяПрограмистите за дебъгер Atmel-ICE Програмисти и дебъгери
Atmel-ICE
РЪКОВОДСТВО ЗА ПОТРЕБИТЕЛЯ

Дебъгерът Atmel-ICE

Atmel-ICE е мощен инструмент за разработка за отстраняване на грешки и програмиране на ARM® Cortex®-M базирани Atmel ®SAM и Atmel AVR микроконтролери с ® On-Chip Debug възможност.
Поддържа:

  • Програмиране и отстраняване на грешки в чипа на всички 32-битови микроконтролери Atmel AVR на двата JTAG и кабелни интерфейси
  • Програмиране и отстраняване на грешки в чипа на всички устройства от семейството на Atmel AVR XMEGA® на двете JTAG и PDI 2-проводни интерфейси
  • Програмиране (ДжTAG, SPI, UPDI) и отстраняване на грешки на всички 8-битови микроконтролери Atmel AVR с поддръжка на OCD на всеки JTAG, debugWIRE или UPDI интерфейси
  • Програмиране и отстраняване на грешки на всички Atmel SAM ARM Cortex-M базирани микроконтролери на SWD и JTAG интерфейси
  • Програмиране (TPI) на всички Atmel tinyAVR® 8-битови микроконтролери с поддръжка за този интерфейс

Консултирайте се със списъка с поддържани устройства в Ръководството за потребителя на Atmel Studio за пълен списък с устройства и интерфейси, поддържани от тази версия на фърмуера.

Въведение

1.1. Въведение в Atmel-ICE
Atmel-ICE е мощен инструмент за разработка за отстраняване на грешки и програмиране на ARM Cortex-M базирани микроконтролери Atmel SAM и Atmel AVR с възможност за отстраняване на грешки в чипа.
Поддържа:

  • Програмиране и отстраняване на грешки в чипа на всички микроконтролери Atmel AVR UC3 на двата JTAG и кабелни интерфейси
  • Програмиране и отстраняване на грешки в чип на всички устройства от семейството AVR XMEGA на двете JTAG и PDI 2wire интерфейси
  • Програмиране (ДжTAG и SPI) и отстраняване на грешки на всички AVR 8-битови микроконтролери с OCD поддръжка на двата JTAG или debugWIRE интерфейси
  • Програмиране и отстраняване на грешки на всички Atmel SAM ARM Cortex-M базирани микроконтролери на SWD и JTAG интерфейси
  • Програмиране (TPI) на всички Atmel tinyAVR 8-битови микроконтролери с поддръжка за този интерфейс

1.2. Характеристики на Atmel-ICE

  • Напълно съвместим с Atmel Studio
  • Поддържа програмиране и отстраняване на грешки на всички Atmel AVR UC3 32-битови микроконтролери
  • Поддържа програмиране и отстраняване на грешки на всички 8-битови AVR XMEGA устройства
  • Поддържа програмиране и отстраняване на грешки на всички 8-битови Atmel megaAVR® и tinyAVR устройства с OCD
  • Поддържа програмиране и отстраняване на грешки на всички SAM ARM Cortex-M базирани микроконтролери
  • Целеви оперативен обtage диапазон от 1.62V до 5.5V
  • Черпи по-малко от 3mA от целевия VTref при използване на интерфейс debugWIRE и по-малко от 1mA за всички други интерфейси
  • Подкрепя ДжTAG тактови честоти от 32kHz до 7.5MHz
  • Поддържа PDI тактови честоти от 32kHz до 7.5MHz
  • Поддържа debugWIRE скорости на предаване от 4kbit/s до 0.5Mbit/s
  • Поддържа скорост на предаване на aWire от 7.5kbit/s до 7Mbit/s
  • Поддържа SPI тактови честоти от 8kHz до 5MHz
  • Поддържа UPDI скорости на предаване от до 750kbit/s
  • Поддържа SWD тактови честоти от 32kHz до 10MHz
  • USB 2.0 високоскоростен хост интерфейс
  • Улавяне на серийно проследяване на ITM със скорост до 3MB/s
  • Поддържа DGI SPI и USART интерфейси, когато не се отстраняват грешки или се програмира
  • Поддържа 10-пинов 50-mil JTAG конектор с AVR и Cortex изводи. Стандартният кабел на сондата поддържа AVR 6-пинови ISP/PDI/TPI 100-mil конектори, както и 10-пинови 50-mil. Наличен е адаптер за поддръжка на 6-пинови 50-mil, 10-пинови 100-mil и 20-пинови 100-mil конектори. Предлагат се няколко опции за комплект с различни кабели и адаптери.

1.3. Системни изисквания
Модулът Atmel-ICE изисква на вашия компютър да е инсталирана предна среда за отстраняване на грешки Atmel Studio версия 6.2 или по-нова.
Atmel-ICE трябва да бъде свързан към хост компютъра чрез предоставения USB кабел или сертифициран Micro-USB кабел.

Първи стъпки с Atmel-ICE

2.1. Пълно съдържание на комплекта
Пълният комплект Atmel-ICE съдържа следните елементи:

  • Atmel-ICE устройство
  • USB кабел (1.8 м, високоскоростен, Micro-B)
  • Адаптерна платка, съдържаща 50-mil AVR, 100-mil AVR/SAM и 100-mil 20-пинови SAM адаптери
  • IDC плосък кабел с 10-пинов 50-mil конектор и 6-пинов 100-mil конектор
  • 50-mil 10-pin mini squid кабел с 10 x 100-mil гнезда

Фигура 2-1. Съдържание на пълен комплект Atmel-ICEПрограмистите Atmel-ICE Debugger - Фигура 12.2. Основно съдържание на комплекта
Основният комплект Atmel-ICE съдържа следните елементи:

  • Atmel-ICE устройство
  • USB кабел (1.8 м, високоскоростен, Micro-B)
  • IDC плосък кабел с 10-пинов 50-mil конектор и 6-пинов 100-mil конектор

Фигура 2-2. Съдържание на основния комплект Atmel-ICEПрограмистите Atmel-ICE Debugger - Фигура 22.3. Съдържание на комплекта PCBA
Комплектът Atmel-ICE PCBA съдържа следните елементи:

  • Atmel-ICE модул без пластмасово капсулиране

Фигура 2-3. Съдържание на комплекта Atmel-ICE PCBAПрограмистите Atmel-ICE Debugger - Фигура 32.4. Комплекти резервни части
Предлагат се следните комплекти резервни части:

  • Комплект адаптери
  • Комплект кабели

Фигура 2-4. Съдържание на комплекта адаптер Atmel-ICEПрограмистите Atmel-ICE Debugger - Фигура 42.5. Kit Overview
Опциите на комплекта Atmel-ICE са показани схематично тук:
Фигура 2-6. Atmel-ICE комплект OverviewПрограмистите Atmel-ICE Debugger - Фигура 52.6. Сглобяване на Atmel-ICE
Устройството Atmel-ICE се доставя без прикачени кабели. В пълния комплект са предоставени две опции за кабели:

  • 50-милиметров 10-пинов IDC плосък кабел с 6-пинов ISP и 10-пинов конектор
  • 50-mil 10-пинов mini-squid кабел с 10 x 100-mil гнезда

Фигура 2-7. Atmel-ICE кабелиПрограмистите Atmel-ICE Debugger - Фигура 6За повечето цели може да се използва 50-милиметровият 10-пинов IDC плосък кабел, свързващ се или естествено към неговите 10-пинови или 6-пинови конектори, или чрез свързване чрез адаптерната платка. Три адаптера са предоставени на една малка PCBA. Включени са следните адаптери:

  • 100-mil 10-pin JTAG/SWD адаптер
  • 100-mil 20-пинов SAM JTAG/SWD адаптер
  • 50-mil 6-пинов SPI/debugWIRE/PDI/aWire адаптер

Фигура 2-8. Atmel-ICE адаптериПрограмистите Atmel-ICE Debugger - Фигура 7Забележка: 
50-милионов JTAG не е предоставен адаптер – това е така, защото 50-mil 10-пинов IDC кабел може да се използва за директно свързване към 50-mil JTAG заглавка. За номера на частта на компонента, използван за 50-милиметровия 10-пинов конектор, вижте Номера на частите на Atmel-ICE Target Connectors.
6-пиновият ISP/PDI конектор е включен като част от 10-пиновия IDC кабел. Това прекратяване може да бъде прекъснато, ако не е необходимо.
За да сглобите вашия Atmel-ICE в конфигурацията му по подразбиране, свържете 10-пиновия 50-mil IDC кабел към устройството, както е показано по-долу. Уверете се, че сте ориентирали кабела така, че червеният проводник (щифт 1) на кабела да е подравнен с триъгълния индикатор на синия пояс на корпуса. Кабелът трябва да се свързва нагоре от устройството. Уверете се, че сте се свързали към порта, съответстващ на разводката на вашата цел – AVR или SAM.
Фигура 2-9. Atmel-ICE кабелна връзкаПрограмистите Atmel-ICE Debugger - Фигура 8Фигура 2-10. Връзка на сонда Atmel-ICE AVR
Програмистите Atmel-ICE Debugger - Фигура 9Фигура 2-11. Връзка на сонда Atmel-ICE SAMПрограмистите Atmel-ICE Debugger - Фигура 102.7. Отваряне на Atmel-ICE
Забележка: 
За нормална работа модулът Atmel-ICE не трябва да се отваря. Отварянето на устройството се извършва на ваша отговорност.
Трябва да се вземат антистатични предпазни мерки.
Корпусът Atmel-ICE се състои от три отделни пластмасови компонента – горен капак, долен капак и син пояс – които се захващат заедно по време на сглобяването. За да отворите устройството, просто поставете голяма плоска отвертка в отворите на синия колан, приложете малко натиск навътре и завъртете внимателно. Повторете процеса с другите отвори за скоби и горният капак ще изскочи.
Фигура 2-12. Отваряне на Atmel-ICE (1)
Програмистите Atmel-ICE Debugger - Фигура 11Фигура 2-13. Отваряне на Atmel-ICE (2)
Програмистите Atmel-ICE Debugger - Фигура 12Фигура 2-14. Отваряне на Atmel-ICE(3)Програмистите Atmel-ICE Debugger - Фигура 13За да затворите отново устройството, просто подравнете правилно горния и долния капак и ги натиснете здраво един към друг.
2.8. Захранване на Atmel-ICE
Atmel-ICE се захранва от USB bus voltagд. Изисква по-малко от 100 mA за работа и следователно може да се захранва през USB хъб. Светодиодът на захранването ще свети, когато устройството е включено. Когато не е свързано в активна сесия за програмиране или отстраняване на грешки, устройството ще влезе в режим на ниска консумация на енергия, за да запази батерията на вашия компютър. Atmel-ICE не може да бъде изключен – трябва да бъде изключен от контакта, когато не се използва.
2.9. Свързване към хост компютъра
Atmel-ICE комуникира предимно чрез стандартен HID интерфейс и не изисква специален драйвер на хост компютъра. За да използвате разширената функционалност на Data Gateway на Atmel-ICE, не забравяйте да инсталирате USB драйвера на хост компютъра. Това се прави автоматично при инсталиране на предния софтуер, предоставен безплатно от Atmel. Вижте www.atmel.com за допълнителна информация или за изтегляне на най-новия интерфейсен софтуер.
Atmel-ICE трябва да бъде свързан към наличен USB порт на хост компютъра с помощта на предоставения USB кабел или подходящ USB сертифициран микро кабел. Atmel-ICE съдържа USB 2.0 съвместим контролер и може да работи както в режим на пълна скорост, така и в режим на висока скорост. За най-добри резултати свържете Atmel-ICE директно към USB 2.0 съвместим високоскоростен хъб на хост компютъра с помощта на предоставения кабел.
2.10. Инсталиране на USB драйвер
2.10.1. Windows
Когато инсталирате Atmel-ICE на компютър с Microsoft® Windows®, USB драйверът се зарежда при първото включване на Atmel-ICE.
Забележка: 
Уверете се, че сте инсталирали предните софтуерни пакети, преди да включите устройството за първи път.
След като бъде инсталиран успешно, Atmel-ICE ще се появи в диспечера на устройствата като „Устройство с човешки интерфейс“.

Свързване на Atmel-ICE

3.1. Свързване към AVR и SAM целеви устройства
Atmel-ICE е оборудван с два 50-милиметрови 10-щифтови JTAG конектори. И двата конектора са директно електрически свързани, но отговарят на две различни разводки; AVR JTAG заглавка и заглавка ARM Cortex Debug. Конекторът трябва да бъде избран въз основа на разводката на целевата платка, а не на целевия тип MCU - напр.ample SAM устройство, монтирано в AVR STK® 600 стек, трябва да използва AVR хедъра.
В различните комплекти Atmel-ICE се предлагат различни кабели и адаптери. Овърview от опциите за свързване.
Фигура 3-1. Опции за връзка Atmel-ICEПрограмистите Atmel-ICE Debugger - Фигура 14Червеният проводник маркира щифт 1 на 10-пиновия 50-милиметров конектор. Пин 1 на 6-пиновия 100-милиметров конектор е поставен отдясно на клавиатурата, когато конекторът се вижда от кабела. Пин 1 на всеки конектор на адаптера е маркиран с бяла точка. Фигурата по-долу показва разводката на кабела за отстраняване на грешки. Конекторът, означен с A, се включва в дебъгера, докато страната B се включва в целевата платка.
Фигура 3-2. Отстраняване на грешки в кабела
Програмистите Atmel-ICE Debugger - Фигура 153.2. Свързване към JTAG Цел
Atmel-ICE е оборудван с два 50-милиметрови 10-щифтови JTAG конектори. И двата конектора са директно електрически свързани, но отговарят на две различни разводки; AVR JTAG заглавка и заглавка ARM Cortex Debug. Конекторът трябва да бъде избран въз основа на разводката на целевата платка, а не на целевия тип MCU - напр.ample SAM устройство, монтирано в AVR STK600 стек, трябва да използва AVR хедъра.
Препоръчителният щифт за 10-пинов AVR JTAG конекторът е показан на фигура 4-6. Препоръчителният pinout за 10-пинов конектор ARM Cortex Debug е показан на Фигура 4-2.
Директна връзка към стандартен 10-пинов 50-милиметров конектор
Използвайте 50-милиметровия 10-пинов плосък кабел (включен в някои комплекти), за да се свържете директно към платка, поддържаща този тип конектор. Използвайте AVR конекторния порт на Atmel-ICE за заглавки с AVR разводка и SAM конекторния порт за заглавки, съответстващи на ARM Cortex Debug заглавна разводка.
Изводите на двата 10-пинови конектора са показани по-долу.
Свързване към стандартен 10-пинов 100-милиметров конектор 
Използвайте стандартен адаптер от 50-mil към 100-mil, за да се свържете към 100-mil хедъри. За тази цел може да се използва адаптерна платка (включена в някои комплекти) или алтернативно JTAGICE3 адаптер може да се използва за AVR мишени.
Програмистите Atmel-ICE Debugger - Фигура 16 Важно: 
ДжTAGАдаптерът ICE3 100-mil не може да се използва с порта на конектора SAM, тъй като щифтове 2 и 10 (AVR GND) на адаптера са свързани.
Връзка към персонализиран 100-милиметров хедър
Ако вашата целева платка няма съвместим 10-пинов JTAG заглавка в 50- или 100-мили, можете да картографирате персонализиран щифт с помощта на 10-пинов кабел „mini-squid“ (включен в някои комплекти), който дава достъп до десет отделни 100-мили гнезда.
Връзка към 20-пинов 100-mil header
Използвайте адаптерната платка (включена в някои комплекти), за да се свържете към цели с 20-пинов 100-милиметров конектор.
Таблица 3-1. Atmel-ICE JTAG ПИН Описание

Име AVR порт щифт САМ порт щифт Описание
TCK 1 4 Тест часовник (часовник сигнал от Atmel-ICE в целевото устройство).
TMS 5 2 Избор на тестов режим (контролен сигнал от Atmel-ICE в целевото устройство).
TDI 9 8 Тестови данни In (данни, предавани от Atmel-ICE в целевото устройство).
TDO 3 6 Test Data Out (данни, предавани от целевото устройство в Atmel-ICE).
nTRST 8 Test Reset (по избор, само на някои AVR устройства). Използва се за нулиране на JTAG TAP контролер.
nSRST 6 10 Нулиране (по избор). Използва се за нулиране на целевото устройство. Свързването на този щифт се препоръчва, тъй като позволява на Atmel-ICE да държи целевото устройство в състояние на нулиране, което може да бъде от съществено значение за отстраняване на грешки в определени сценарии.
VTG 4 1 Целеви обtage справка. Atmel-ICE samples the target voltage на този щифт, за да захранвате правилно преобразувателите на ниво. Atmel-ICE черпи по-малко от 3 mA от този щифт в режим debugWIRE и по-малко от 1 mA в други режими.
GND 2, 10 3, 5, 9 Земя. Всички трябва да бъдат свързани, за да се гарантира, че Atmel-ICE и целевото устройство споделят една и съща земна референция.

3.3. Свързване към aWire Target
Интерфейсът aWire изисква само една линия за данни в допълнение към VCC и GND. В целта този ред е редът nRESET, въпреки че дебъгерът използва JTAG TDO линия като линия за данни.
Препоръчителният pinout за 6-пиновия aWire конектор е показан на Фигура 4-8.
Свързване към 6-пинов 100-mil aWire конектор
Използвайте 6-пиновия 100-mil кран на плоския кабел (включен в някои комплекти), за да се свържете към стандартен 100-mil aWire конектор.
Свързване към 6-пинов 50-mil aWire конектор
Използвайте адаптерната платка (включена в някои комплекти), за да се свържете към стандартен 50-mil aWire конектор.
Връзка към персонализиран 100-милиметров хедър
10-пиновият кабел за мини-калмари трябва да се използва за свързване между конекторния порт Atmel-ICE AVR и целевата платка. Необходими са три връзки, както е описано в таблицата по-долу.
Таблица 3-2. Atmel-ICE aWire Pin Mapping

Atmel-ICE AVR порт щифтове

Целеви щифтове Мини калмари

проводник

Пин 1 (TCK) 1
Пин 2 (GND) GND 2 6
Пин 3 (TDO) ДАННИ 3 1
Пин 4 (VTG) VTG 4 2
Пин 5 (TMS) 5
Пин 6 (nSRST) 6
Пин 7 (не е свързан) 7
Пин 8 (nTRST) 8
Пин 9 (TDI) 9
Пин 10 (GND) 0

3.4. Свързване към PDI Target
Препоръчителният щифт за 6-пиновия PDI конектор е показан на Фигура 4-11.
Връзка към 6-пинов 100-mil PDI конектор
Използвайте 6-пиновия 100-mil кран на плоския кабел (включен в някои комплекти), за да се свържете към стандартен 100-mil PDI конектор.
Връзка към 6-пинов 50-mil PDI конектор
Използвайте адаптерната платка (включена в някои комплекти), за да се свържете към стандартен 50-милиметров PDI конектор.
Връзка към персонализиран 100-милиметров хедър
10-пиновият кабел за мини-калмари трябва да се използва за свързване между конекторния порт Atmel-ICE AVR и целевата платка. Необходими са четири връзки, както е описано в таблицата по-долу.
Програмистите Atmel-ICE Debugger - Фигура 16 Важно: 
Необходимият pinout е различен от JTAGICE mkII JTAG сонда, където PDI_DATA е свързан към пин 9. Atmel-ICE е съвместим с разводката, използвана от Atmel-ICE, JTAGICE3, AVR ONE! и AVR Dragon™ продукти.
Таблица 3-3. Atmel-ICE PDI Pin Mapping

Atmel-ICE AVR порт щифтове Целеви щифтове Мини калмари

проводник

Пин 1 (TCK) 1
Пин 2 (GND) GND 2 6
Пин 3 (TDO) ДАННИ 3 1
Пин 4 (VTG) VTG 4 2
Пин 5 (TMS) 5
Пин 6 (nSRST) 6
Пин 7 (не е свързан) 7
Пин 8 (nTRST) 8
Пин 9 (TDI) 9
Пин 10 (GND) 0

3.4 Свързване към PDI Target
Препоръчителният щифт за 6-пиновия PDI конектор е показан на Фигура 4-11.
Връзка към 6-пинов 100-mil PDI конектор
Използвайте 6-пиновия 100-mil кран на плоския кабел (включен в някои комплекти), за да се свържете към стандартен 100-mil PDI конектор.
Връзка към 6-пинов 50-mil PDI конектор
Използвайте адаптерната платка (включена в някои комплекти), за да се свържете към стандартен 50-милиметров PDI конектор.
Връзка към персонализиран 100-милиметров хедър
10-пиновият кабел за мини-калмари трябва да се използва за свързване между конекторния порт Atmel-ICE AVR и целевата платка. Необходими са четири връзки, както е описано в таблицата по-долу.
Програмистите Atmel-ICE Debugger - Фигура 16 Важно:
Необходимият pinout е различен от JTAGICE mkII JTAG сонда, където PDI_DATA е свързан към пин 9. Atmel-ICE е съвместим с разводката, използвана от Atmel-ICE, JTAGICE3, AVR ONE! и AVR Dragon продукти.
Таблица 3-3. Atmel-ICE PDI Pin Mapping

Atmel-ICE AVR щифт на порта Целеви щифтове Мини калмари Atmel STK600 PDI pinout
Пин 1 (TCK) 1
Пин 2 (GND) GND 2 6
Пин 3 (TDO) PDI_DATA 3 1
Пин 4 (VTG) VTG 4 2
Пин 5 (TMS) 5
Пин 6 (nSRST) PDI_CLK 6 5
Пин 7 (не е свързан) 7
Пин 8 (nTRST) 8
Пин 9 (TDI) 9
Пин 10 (GND) 0

3.5 Свързване към UPDI Target
Препоръчителната разводка за 6-пинов UPDI конектор е показана на Фигура 4-12.
Връзка към 6-пинов 100-милиметров UPDI конектор
Използвайте 6-пиновия 100-mil кран на плоския кабел (включен в някои комплекти), за да се свържете към стандартен 100-mil UPDI конектор.
Връзка към 6-пинов 50-милиметров UPDI конектор
Използвайте адаптерната платка (включена в някои комплекти), за да се свържете към стандартен 50-милиметров UPDI конектор.
Връзка към персонализиран 100-милиметров хедър
10-пиновият кабел за мини-калмари трябва да се използва за свързване между конекторния порт Atmel-ICE AVR и целевата платка. Необходими са три връзки, както е описано в таблицата по-долу.
Таблица 3-4. Atmel-ICE UPDI Pin Mapping

Atmel-ICE AVR щифт на порта Целеви щифтове Мини калмари

Atmel STK600 UPDI pinout

Пин 1 (TCK) 1
Пин 2 (GND) GND 2 6
Пин 3 (TDO) UPDI_DATA 3 1
Пин 4 (VTG) VTG 4 2
Пин 5 (TMS) 5
Пин 6 (nSRST) [/RESET sense] 6 5
Пин 7 (не е свързан) 7
Пин 8 (nTRST) 8
Пин 9 (TDI) 9
Пин 10 (GND) 0

3.6 Свързване към debugWIRE Target
Препоръчителната разводка за 6-пинов конектор debugWIRE (SPI) е показана в Таблица 3-6.
Връзка към 6-пинов 100-милиметров SPI конектор
Използвайте 6-пиновия 100-mil кран на плоския кабел (включен в някои комплекти), за да се свържете към стандартен 100-mil SPI конектор.
Връзка към 6-пинов 50-милиметров SPI конектор
Използвайте адаптерната платка (включена в някои комплекти), за да се свържете към стандартен 50-милиметров SPI конектор.
Връзка към персонализиран 100-милиметров хедър
10-пиновият кабел за мини-калмари трябва да се използва за свързване между конекторния порт Atmel-ICE AVR и целевата платка. Необходими са три връзки, както е описано в Таблица 3-5.
Въпреки че интерфейсът debugWIRE изисква само една сигнална линия (RESET), VCC и GND, за да работят правилно, препоръчително е да имате достъп до пълния SPI конектор, така че интерфейсът debugWIRE да може да се активира и дезактивира чрез SPI програмиране.
Когато предпазителят DWEN е активиран, SPI интерфейсът се отменя вътрешно, за да може OCD модулът да има контрол върху щифта RESET. DebugWIRE OCD може да се дезактивира временно (с помощта на бутона в раздела за отстраняване на грешки в диалоговия прозорец със свойства в Atmel Studio), като по този начин освобождава контрола върху линията RESET. След това интерфейсът SPI отново е достъпен (само ако предпазителят SPIEN е програмиран), позволявайки предпазителят DWEN да бъде депрограмиран с помощта на интерфейса SPI. Ако захранването се превключи преди предпазителят DWEN да бъде депрограмиран, модулът debugWIRE отново ще поеме контрола върху щифта RESET.
Забележка:
Силно препоръчително е просто да оставите Atmel Studio да се справи с настройката и изчистването на DWEN предпазителя.
Не е възможно да се използва интерфейсът debugWIRE, ако заключващите битове на целевото AVR устройство са програмирани. Винаги се уверявайте, че заключващите битове са изчистени, преди да програмирате DWEN предпазителя и никога не задавайте заключващите битове, докато DWEN предпазителят е програмиран. Ако предпазителят за активиране на debugWIRE (DWEN) и битовете за блокиране са зададени, можете да използвате High Voltage Програмиране за извършване на изтриване на чип и по този начин изчистване на заключващите битове.
Когато lockbits бъдат изчистени, интерфейсът debugWIRE ще бъде активиран отново. SPI интерфейсът може само да чете предпазители, да чете подпис и да извършва изтриване на чип, когато предпазителят DWEN не е програмиран.
Таблица 3-5. Atmel-ICE debugWIRE Pin Mapping

Atmel-ICE AVR щифт на порта Целеви щифтове

Мини калмари

Пин 1 (TCK) 1
Пин 2 (GND) GND 2
Пин 3 (TDO) 3
Пин 4 (VTG) VTG 4
Пин 5 (TMS) 5
Пин 6 (nSRST) НУЛИРАНЕ 6
Пин 7 (не е свързан) 7
Пин 8 (nTRST) 8
Пин 9 (TDI) 9
Пин 10 (GND) 0

3.7 Свързване към SPI Target
Препоръчителната разводка за 6-пинов SPI конектор е показана на Фигура 4-10.
Връзка към 6-пинов 100-милиметров SPI конектор
Използвайте 6-пиновия 100-mil кран на плоския кабел (включен в някои комплекти), за да се свържете към стандартен 100-mil SPI конектор.
Връзка към 6-пинов 50-милиметров SPI конектор
Използвайте адаптерната платка (включена в някои комплекти), за да се свържете към стандартен 50-милиметров SPI конектор.
Връзка към персонализиран 100-милиметров хедър
10-пиновият кабел за мини-калмари трябва да се използва за свързване между конекторния порт Atmel-ICE AVR и целевата платка. Необходими са шест връзки, както е описано в таблицата по-долу.
Програмистите Atmel-ICE Debugger - Фигура 16 Важно:
SPI интерфейсът е ефективно деактивиран, когато предпазителят за активиране на debugWIRE (DWEN) е програмиран, дори ако предпазителят SPIEN също е програмиран. За да активирате отново SPI интерфейса, командата 'disable debugWIRE' трябва да бъде издадена, докато сте в сесия за отстраняване на грешки в debugWIRE. Деактивирането на debugWIRE по този начин изисква предпазителят SPIEN вече да е програмиран. Ако Atmel Studio не успее да деактивира debugWIRE, това е вероятно, защото предпазителят SPIEN НЕ е програмиран. Ако случаят е такъв, е необходимо да се използва високоволtage интерфейс за програмиране за програмиране на предпазителя SPIEN.
Програмистите Atmel-ICE Debugger - икона Информация:
Интерфейсът SPI често се нарича "ISP", тъй като е първият интерфейс за системно програмиране на продуктите на Atmel AVR. Други интерфейси вече са налични за системно програмиране.
Таблица 3-6. Atmel-ICE SPI Pin Mapping

Atmel-ICE AVR порт щифтове Целеви щифтове Мини калмари

SPI pinout

Пин 1 (TCK) SCK 1 3
Пин 2 (GND) GND 2 6
Пин 3 (TDO) Мишо 3 1
Пин 4 (VTG) VTG 4 2
Пин 5 (TMS) 5
Пин 6 (nSRST) /НУЛИРАНЕ 6 5
Пин 7 (не е свързан) 7
Пин 8 (nTRST) 8
Пин 9 (TDI) МОСИ 9 4
Пин 10 (GND) 0

3.8 Свързване към TPI Target
Препоръчителният щифт за 6-пиновия TPI конектор е показан на Фигура 4-13.
Свързване към 6-пинов 100-mil TPI конектор
Използвайте 6-пиновия 100-mil кран на плоския кабел (включен в някои комплекти), за да се свържете към стандартен 100-mil TPI конектор.
Свързване към 6-пинов 50-mil TPI конектор
Използвайте адаптерната платка (включена в някои комплекти), за да се свържете към стандартен 50-mil TPI конектор.
Връзка към персонализиран 100-милиметров хедър
10-пиновият кабел за мини-калмари трябва да се използва за свързване между конекторния порт Atmel-ICE AVR и целевата платка. Необходими са шест връзки, както е описано в таблицата по-долу.
Таблица 3-7. Atmel-ICE TPI Pin Mapping

Atmel-ICE AVR порт щифтове Целеви щифтове Мини калмари

TPI pinout

Пин 1 (TCK) ЧАСОВНИК 1 3
Пин 2 (GND) GND 2 6
Пин 3 (TDO) ДАННИ 3 1
Пин 4 (VTG) VTG 4 2
Пин 5 (TMS) 5
Пин 6 (nSRST) /НУЛИРАНЕ 6 5
Пин 7 (не е свързан) 7
Пин 8 (nTRST) 8
Пин 9 (TDI) 9
Пин 10 (GND) 0

3.9 Свързване към SWD Target
Интерфейсът ARM SWD е подмножество на JTAG интерфейс, като се използват щифтовете TCK и TMS, което означава, че при свързване към SWD устройство, 10-пиновият JTAG съединителят технически може да се използва. ARM JTAG и AVR JTAG конекторите обаче не са съвместими с щифтове, така че това зависи от оформлението на използваната целева платка. Когато използвате STK600 или платка, използваща AVR JTAG щифтове, трябва да се използва портът за AVR конектор на Atmel-ICE. При свързване към платка, която използва ARM JTAG pinout, трябва да се използва портът за конектор SAM на Atmel-ICE.
Препоръчителният pinout за 10-пиновия съединител Cortex Debug е показан на Фигура 4-4.
Връзка към 10-пинов 50-mil Cortex конектор
Използвайте плоския кабел (включен в някои комплекти), за да се свържете към стандартен 50-милиметров Cortex конектор.
Връзка към 10-пинов 100-mil Cortex-layout header
Използвайте адаптерната платка (включена в някои комплекти), за да се свържете към 100-mil Cortex-pinout конектор.
Връзка към 20-пинов 100-mil SAM конектор
Използвайте адаптерната платка (включена в някои комплекти), за да се свържете към 20-пинов 100-mil SAM конектор.
Връзка към персонализиран 100-милиметров хедър
10-пиновият мини-калмар кабел трябва да се използва за свързване между конекторния порт Atmel-ICE AVR или SAM и целевата платка. Необходими са шест връзки, както е описано в таблицата по-долу.
Таблица 3-8. Atmel-ICE SWD Pin Mapping

Име AVR  порт щифт САМ порт щифт Описание
SWDC LK 1 4 Часовник за отстраняване на грешки в сериен кабел.
SWDIO 5 2 Вход/изход на данни за отстраняване на грешки по сериен кабел.
SWO 3 6 Сериен кабелен изход (по избор - не се прилага на всички устройства).
nSRST 6 10 Нулиране.
VTG 4 1 Целеви обtage справка.
GND 2, 10 3, 5, 9 Земя.

3.10 Свързване към интерфейса на шлюза за данни
Atmel-ICE поддържа ограничен интерфейс за шлюз за данни (DGI), когато отстраняването на грешки и програмирането не се използва. Функционалността е идентична с тази на комплектите Atmel Xplained Pro, захранвани от устройството Atmel EDBG.
Интерфейсът на шлюза за данни е интерфейс за поточно предаване на данни от целевото устройство към компютър. Това е предназначено като помощ при отстраняване на грешки в приложението, както и за демонстрация на функции в приложението, работещо на целевото устройство.
DGI се състои от множество канали за поточно предаване на данни. Atmel-ICE поддържа следните режими:

  • USART
  • SPI

Таблица 3-9. Atmel-ICE DGI USART Pinout

AVR порт

SAM порт DGI USART щифт

Описание

3 6 TX Предавайте щифт от Atmel-ICE към целевото устройство
4 1 VTG Целеви обtage (референтен томtage)
8 7 RX Получаване на ПИН от целевото устройство към Atmel-ICE
9 8 CLK USART часовник
2, 10 3, 5, 9 GND Земя

Таблица 3-10. Atmel-ICE DGI SPI Pinout

AVR порт

SAM порт DGI SPI щифт

Описание

1 4 SCK SPI часовник
3 6 Мишо Master In Slave Out
4 1 VTG Целеви обtage (референтен томtage)
5 2 nCS Избор на чип активен нисък
9 8 МОСИ Master Out Slave In
2, 10 3, 5, 9 GND Земя

Програмистите Atmel-ICE Debugger - Фигура 16 Важно:  Интерфейсите SPI и USART не могат да се използват едновременно.
Програмистите Atmel-ICE Debugger - Фигура 16 Важно:  DGI и програмиране или отстраняване на грешки не могат да се използват едновременно.

Отстраняване на грешки в чип

4.1 Въведение
Отстраняване на грешки в чип
Модулът за отстраняване на грешки в чипа е система, позволяваща на разработчика да наблюдава и контролира изпълнението на устройство от външна платформа за разработка, обикновено чрез устройство, известно като средство за отстраняване на грешки или адаптер за отстраняване на грешки.
С OCD система приложението може да се изпълни, като същевременно се поддържат точни електрически и времеви характеристики в целевата система, като същевременно е в състояние да спре изпълнението условно или ръчно и да инспектира програмния поток и паметта.
Режим на изпълнение
Когато е в режим Run, изпълнението на кода е напълно независимо от Atmel-ICE. Atmel-ICE непрекъснато ще наблюдава целевото устройство, за да види дали е възникнало състояние на прекъсване. Когато това се случи, OCD системата ще разпита устройството чрез неговия интерфейс за отстраняване на грешки, позволявайки на потребителя да view вътрешното състояние на устройството.
Спрян режим
Когато се достигне точка на прекъсване, изпълнението на програмата се спира, но някои I/O може да продължат да работят, сякаш не е настъпила точка на прекъсване. Напримерample, приемете, че USART предаване току-що е било инициирано, когато е достигната точка на прекъсване. В този случай USART продължава да работи на пълна скорост, завършвайки предаването, въпреки че ядрото е в спрян режим.
Хардуерни точки на прекъсване
Целевият OCD модул съдържа редица програми за сравнение на броячи, внедрени в хардуера. Когато броячът на програмата съвпадне със стойността, съхранена в един от регистрите за сравнение, OCD влиза в спрян режим. Тъй като хардуерните точки на прекъсване изискват специален хардуер на OCD модула, броят на наличните точки на прекъсване зависи от размера на OCD модула, внедрен в целта. Обикновено един такъв хардуерен компаратор е "запазен" от дебъгера за вътрешна употреба.
Софтуерни точки на прекъсване
Софтуерната точка на прекъсване е инструкция за BREAK, поставена в програмната памет на целевото устройство. Когато тази инструкция се зареди, изпълнението на програмата ще прекъсне и OCD влиза в спрян режим. За да продължи изпълнението, трябва да бъде дадена команда „старт“ от OCD. Не всички устройства на Atmel имат OCD модули, поддържащи инструкцията BREAK.
4.2 SAM устройства с JTAG/SWD
Всички SAM устройства разполагат със SWD интерфейс за програмиране и отстраняване на грешки. В допълнение, някои SAM устройства имат JTAG интерфейс с идентична функционалност. Проверете листа с данни на устройството за поддържаните интерфейси на това устройство.
4.2.1.Компоненти на ARM CoreSight
Atmel ARM Cortex-M базирани микроконтролери внедряват CoreSight съвместими OCD компоненти. Характеристиките на тези компоненти могат да варират от устройство на устройство. За допълнителна информация вижте листа с данни на устройството, както и документацията на CoreSight, предоставена от ARM.
4.2.1. ДжTAG Физически интерфейс
ДжTAG интерфейсът се състои от 4-жилен контролер за тестов порт за достъп (TAP), който е съвместим с IEEE® 1149.1 стандарт. Стандартът IEEE е разработен, за да осигури стандартен за индустрията начин за ефективно тестване на свързаността на печатни платки (гранично сканиране). Устройствата Atmel AVR и SAM разшириха тази функционалност, за да включват пълна поддръжка за програмиране и отстраняване на грешки в чип.
Фигура 4-1. ДжTAG Основи на интерфейсаПрограмистите Atmel-ICE Debugger - Фигура 25

4.2.2.1 SAM JTAG Pinout (конектор за отстраняване на грешки Cortex-M)
При проектиране на приложна печатна платка, която включва Atmel SAM с JTAG интерфейс, препоръчително е да използвате pinout, както е показано на фигурата по-долу. Поддържат се както 100-mil, така и 50-mil варианти на този pinout, в зависимост от кабелите и адаптерите, включени в конкретния комплект.
Фигура 4-2. САМ ДжTAG Pinout на заглавката
Програмистите Atmel-ICE Debugger - Фигура 20

Таблица 4-1. САМ ДжTAG ПИН Описание

Име ПИН

Описание

TCK 4 Тест часовник (часовник сигнал от Atmel-ICE в целевото устройство).
TMS 2 Избор на тестов режим (контролен сигнал от Atmel-ICE в целевото устройство).
TDI 8 Тестови данни In (данни, предавани от Atmel-ICE в целевото устройство).
TDO 6 Test Data Out (данни, предавани от целевото устройство в Atmel-ICE).
nНУЛИРАНЕ 10 Нулиране (по избор). Използва се за нулиране на целевото устройство. Свързването на този щифт се препоръчва, тъй като позволява на Atmel-ICE да държи целевото устройство в състояние на нулиране, което може да бъде от съществено значение за отстраняване на грешки в определени сценарии.
VTG 1 Целеви обtage справка. Atmel-ICE samples the target voltage на този щифт, за да захранвате правилно преобразувателите на ниво. Atmel-ICE черпи по-малко от 1mA от този щифт в този режим.
GND 3, 5, 9 Земя. Всички трябва да бъдат свързани, за да се гарантира, че Atmel-ICE и целевото устройство споделят една и съща земна референция.
КЛЮЧ 7 Свързан вътрешно към щифта TRST на AVR конектора. Препоръчва се като несвързан.

Програмистите Atmel-ICE Debugger - икона 1 Съвет: Не забравяйте да включите разделителен кондензатор между пин 1 и GND.
4.2.2.2 JTAG Дейзи Верижно свързване
ДжTAG интерфейс позволява няколко устройства да бъдат свързани към един интерфейс в последователна конфигурация. Всички целеви устройства трябва да се захранват от един и същ захранващ обемtage, споделят общ заземен възел и трябва да бъдат свързани, както е показано на фигурата по-долу.
Фигура 4-3. ДжTAG Дейзи веригаПрограмистите Atmel-ICE Debugger - Фигура 23

Когато свързвате устройства в последователна верига, трябва да имате предвид следните точки:

  • Всички устройства трябва да имат общо заземяване, свързано към GND на сондата Atmel-ICE
  • Всички устройства трябва да работят на един и същ целеви томtagд. VTG на Atmel-ICE трябва да бъде свързан към този томtage.
  • TMS и TCK са свързани паралелно; TDI и TDO са свързани в серия
  • nSRST на сондата Atmel-ICE трябва да бъде свързан към RESET на устройствата, ако някое от устройствата във веригата забрани своя JTAG порт
  • „Устройства преди“ се отнася до броя на JTAG устройства, през които TDI сигналът трябва да премине в последователната верига, преди да достигне целевото устройство. По подобен начин „устройства след“ е броят на устройствата, през които сигналът трябва да премине след целевото устройство, преди да достигне Atmel-ICE TDO
  • „Инструкционните битове „преди“ и „след“ се отнасят до общата сума на всички JTAG дължини на регистъра на инструкциите на устройствата, които са свързани преди и след целевото устройство в последователната верига
  • Общата дължина на IR (битове инструкции преди + дължина на IR на целевото устройство Atmel + битове инструкции след) е ограничена до максимум 256 бита. Броят на устройствата във веригата е ограничен до 15 преди и 15 след.

Програмистите Atmel-ICE Debugger - икона 1 Съвет:
Верижно свързване прample: TDI → ATmega1280 → ATxmega128A1 → ATUC3A0512 → TDO.
За да се свържете с Atmel AVR XMEGA® устройство, настройките за последователна верига са:

  • Устройства преди: 1
  • Устройства след: 1
  • Битове инструкции преди: 4 (8-битовите AVR устройства имат 4 IR бита)
  • Битове инструкции след: 5 (32-битовите AVR устройства имат 5 IR бита)

Таблица 4-2. IR дължини на Atmel MCU

Тип устройство IR дължина
AVR 8-битов 4 бита
AVR 32-битов 5 бита
САМ 4 бита

4.2.3. Свързване към JTAG Цел
Atmel-ICE е оборудван с два 50-милиметрови 10-щифтови JTAG конектори. И двата конектора са директно електрически свързани, но отговарят на две различни разводки; AVR JTAG заглавка и заглавка ARM Cortex Debug. Конекторът трябва да бъде избран въз основа на разводката на целевата платка, а не на целевия тип MCU - напр.ample SAM устройство, монтирано в AVR STK600 стек, трябва да използва AVR хедъра.
Препоръчителният щифт за 10-пинов AVR JTAG конекторът е показан на фигура 4-6.
Препоръчителният pinout за 10-пинов конектор ARM Cortex Debug е показан на Фигура 4-2.
Директна връзка към стандартен 10-пинов 50-милиметров конектор
Използвайте 50-милиметровия 10-пинов плосък кабел (включен в някои комплекти), за да се свържете директно към платка, поддържаща този тип конектор. Използвайте AVR конекторния порт на Atmel-ICE за заглавки с AVR разводка и SAM конекторния порт за заглавки, съответстващи на ARM Cortex Debug заглавна разводка.
Изводите на двата 10-пинови конектора са показани по-долу.
Свързване към стандартен 10-пинов 100-милиметров конектор
Използвайте стандартен адаптер от 50-mil към 100-mil, за да се свържете към 100-mil хедъри. За тази цел може да се използва адаптерна платка (включена в някои комплекти) или алтернативно JTAGICE3 адаптер може да се използва за AVR мишени.
Програмистите Atmel-ICE Debugger - Фигура 16 Важно:
ДжTAGАдаптерът ICE3 100-mil не може да се използва с порта на конектора SAM, тъй като щифтове 2 и 10 (AVR GND) на адаптера са свързани.
Връзка към персонализиран 100-милиметров хедър
Ако вашата целева платка няма съвместим 10-пинов JTAG заглавка в 50- или 100-мили, можете да картографирате персонализиран щифт с помощта на 10-пинов кабел „mini-squid“ (включен в някои комплекти), който дава достъп до десет отделни 100-мили гнезда.
Свързване към 20-пинов 100-милиметров конектор
Използвайте адаптерната платка (включена в някои комплекти), за да се свържете към цели с 20-пинов 100-милиметров конектор.
Таблица 4-3. Atmel-ICE JTAG ПИН Описание

Име AVR порт щифт САМ порт щифт Описание
TCK 1 4 Тест часовник (часовник сигнал от Atmel-ICE в целевото устройство).
TMS 5 2 Избор на тестов режим (контролен сигнал от Atmel-ICE в целевото устройство).
TDI 9 8 Тестови данни In (данни, предавани от Atmel-ICE в целевото устройство).
TDO 3 6 Test Data Out (данни, предавани от целевото устройство в Atmel-ICE).
nTRST 8 Test Reset (по избор, само на някои AVR устройства). Използва се за нулиране на JTAG TAP контролер.
nSRST 6 10 Нулиране (по избор). Използва се за нулиране на целевото устройство. Свързването на този щифт се препоръчва, тъй като позволява на Atmel-ICE да държи целевото устройство в състояние на нулиране, което може да бъде от съществено значение за отстраняване на грешки в определени сценарии.
VTG 4 1 Целеви обtage справка. Atmel-ICE samples the target voltage на този щифт, за да захранвате правилно преобразувателите на ниво. Atmel-ICE черпи по-малко от 3 mA от този щифт в режим debugWIRE и по-малко от 1 mA в други режими.
GND 2, 10 3, 5, 9 Земя. Всички трябва да бъдат свързани, за да се гарантира, че Atmel-ICE и целевото устройство споделят една и съща земна референция.

4.2.4. SWD физически интерфейс
Интерфейсът ARM SWD е подмножество на JTAG интерфейс, използващ TCK и TMS щифтове. ARM JTAG и AVR JTAG конекторите обаче не са съвместими с щифтове, така че при проектиране на печатна платка за приложение, която използва SAM устройство със SWD или JTAG интерфейс, се препоръчва да използвате pinout ARM, показан на фигурата по-долу. Портът за конектор SAM на Atmel-ICE може да се свърже директно към този щифт.
Фигура 4-4. Препоръчва се ARM SWD/JTAG Pinout на заглавкатаПрограмистите Atmel-ICE Debugger - Фигура 18

Atmel-ICE е в състояние да предава поточно ITM трасиране във формат UART към хост компютъра. Следата се записва на щифта TRACE/SWO на 10-пиновия конектор (JTAG TDO щифт). Данните се буферират вътрешно в Atmel-ICE и се изпращат през HID интерфейса към хост компютъра. Максималната надеждна скорост на данни е около 3MB/s.
4.2.5. Свързване към SWD Target
Интерфейсът ARM SWD е подмножество на JTAG интерфейс, като се използват щифтовете TCK и TMS, което означава, че при свързване към SWD устройство, 10-пиновият JTAG съединителят технически може да се използва. ARM JTAG и AVR JTAG конекторите обаче не са съвместими с щифтове, така че това зависи от оформлението на използваната целева платка. Когато използвате STK600 или платка, използваща AVR JTAG щифтове, трябва да се използва портът за AVR конектор на Atmel-ICE. При свързване към платка, която използва ARM JTAG pinout, трябва да се използва портът за конектор SAM на Atmel-ICE.
Препоръчителният pinout за 10-пиновия съединител Cortex Debug е показан на Фигура 4-4.
Връзка към 10-пинов 50-mil Cortex конектор
Използвайте плоския кабел (включен в някои комплекти), за да се свържете към стандартен 50-милиметров Cortex конектор.
Връзка към 10-пинов 100-mil Cortex-layout header
Използвайте адаптерната платка (включена в някои комплекти), за да се свържете към 100-mil Cortex-pinout конектор.
Връзка към 20-пинов 100-mil SAM конектор
Използвайте адаптерната платка (включена в някои комплекти), за да се свържете към 20-пинов 100-mil SAM конектор.
Връзка към персонализиран 100-милиметров хедър
10-пиновият мини-калмар кабел трябва да се използва за свързване между конекторния порт Atmel-ICE AVR или SAM и целевата платка. Необходими са шест връзки, както е описано в таблицата по-долу.
Таблица 4-4. Atmel-ICE SWD Pin Mapping

Име AVR порт щифт САМ порт щифт Описание
SWDC LK 1 4 Часовник за отстраняване на грешки в сериен кабел.
SWDIO 5 2 Вход/изход на данни за отстраняване на грешки по сериен кабел.
SWO 3 6 Сериен кабелен изход (по избор - не се прилага на всички устройства).
nSRST 6 10 Нулиране.
VTG 4 1 Целеви обtage справка.
GND 2, 10 3, 5, 9 Земя.

4.2.6 Специални съображения
ИЗТРИВАНЕ на щифт
Някои SAM устройства включват щифт ERASE, който се твърди, че извършва пълно изтриване на чипа и отключване на устройства, на които е зададен битът за сигурност. Тази функция е свързана със самото устройство, както и с флаш контролера и не е част от ядрото на ARM.
Пинът ERASE НЕ е част от заглавка за отстраняване на грешки и по този начин Atmel-ICE не може да изяви този сигнал за отключване на устройство. В такива случаи потребителят трябва да извърши изтриването ръчно, преди да започне сесия за отстраняване на грешки.
Физически интерфейси ДжTAG интерфейс
Линията RESET винаги трябва да бъде свързана, така че Atmel-ICE да може да активира JTAG интерфейс.
SWD интерфейс
Линията RESET винаги трябва да бъде свързана, така че Atmel-ICE да може да активира SWD интерфейса.
4.3 AVR UC3 устройства с JTAG/aWire
Всички AVR UC3 устройства разполагат с JTAG интерфейс за програмиране и отстраняване на грешки. В допълнение, някои устройства AVR UC3 разполагат с aWire интерфейс с идентична функционалност, използвайки един проводник. Проверете листа с данни на устройството за поддържаните интерфейси на това устройство
4.3.1 Вградена система за отстраняване на грешки Atmel AVR UC3
Системата Atmel AVR UC3 OCD е проектирана в съответствие със стандарта Nexus 2.0 (IEEE-ISTO 5001™-2003), който е много гъвкав и мощен отворен стандарт за отстраняване на грешки в чип за 32-битови микроконтролери. Той поддържа следните функции:

  • Съвместимо с Nexus решение за отстраняване на грешки
  • OCD поддържа всяка скорост на процесора
  • Шест хардуерни точки на прекъсване на програмния брояч
  • Две точки на прекъсване на данните
  • Точките на прекъсване могат да бъдат конфигурирани като точки за наблюдение
  • Хардуерните точки на прекъсване могат да се комбинират, за да се даде прекъсване на диапазони
  • Неограничен брой точки на прекъсване на потребителската програма (чрез BREAK)
  • Проследяване на клонове на брояч на програми в реално време, проследяване на данни, проследяване на процеси (поддържа се само от дебъгери с порт за улавяне на паралелно проследяване)

За повече информация относно AVR UC3 OCD системата се консултирайте с техническите справочни ръководства на AVR32UC, намиращи се на www.atmel.com/uc3.
4.3.2. ДжTAG Физически интерфейс
ДжTAG интерфейсът се състои от 4-жилен контролер за тестов порт за достъп (TAP), който е съвместим с IEEE® 1149.1 стандарт. Стандартът IEEE е разработен, за да осигури стандартен за индустрията начин за ефективно тестване на свързаността на печатни платки (гранично сканиране). Устройствата Atmel AVR и SAM разшириха тази функционалност, за да включват пълна поддръжка за програмиране и отстраняване на грешки в чип.
Фигура 4-5. ДжTAG Основи на интерфейсаПрограмистите Atmel-ICE Debugger - Фигура 17

4.3.2.1 AVR JTAG Pinout
При проектиране на приложна печатна платка, която включва Atmel AVR с JTAG интерфейс, препоръчително е да използвате pinout, както е показано на фигурата по-долу. Поддържат се както 100-mil, така и 50-mil варианти на този pinout, в зависимост от кабелите и адаптерите, включени в конкретния комплект.
Фигура 4-6. AVR JTAG Pinout на заглавката
Програмистите Atmel-ICE Debugger - Фигура 22

Таблица 4-5. AVR JTAG ПИН Описание

Име ПИН

Описание

TCK 1 Тест часовник (часовник сигнал от Atmel-ICE в целевото устройство).
TMS 5 Избор на тестов режим (контролен сигнал от Atmel-ICE в целевото устройство).
TDI 9 Тестови данни In (данни, предавани от Atmel-ICE в целевото устройство).
TDO 3 Test Data Out (данни, предавани от целевото устройство в Atmel-ICE).
nTRST 8 Test Reset (по избор, само на някои AVR устройства). Използва се за нулиране на JTAG TAP контролер.
nSRST 6 Нулиране (по избор). Използва се за нулиране на целевото устройство. Свързването на този щифт се препоръчва, тъй като позволява на Atmel-ICE да държи целевото устройство в състояние на нулиране, което може да бъде от съществено значение за отстраняване на грешки в определени сценарии.
VTG 4 Целеви обtage справка. Atmel-ICE samples the target voltage на този щифт, за да захранвате правилно преобразувателите на ниво. Atmel-ICE черпи по-малко от 3 mA от този щифт в режим debugWIRE и по-малко от 1 mA в други режими.
GND 2, 10 Земя. И двете трябва да бъдат свързани, за да се гарантира, че Atmel-ICE и целевото устройство споделят една и съща земна референция.

Програмистите Atmel-ICE Debugger - икона 1 Съвет: Не забравяйте да включите разделителен кондензатор между пин 4 и GND.
4.3.2.2 JTAG Дейзи Верижно свързване
ДжTAG интерфейс позволява няколко устройства да бъдат свързани към един интерфейс в последователна конфигурация. Всички целеви устройства трябва да се захранват от един и същ захранващ обемtage, споделят общ заземен възел и трябва да бъдат свързани, както е показано на фигурата по-долу.
Фигура 4-7. ДжTAG Дейзи веригаПрограмистите Atmel-ICE Debugger - Фигура 19

Когато свързвате устройства в последователна верига, трябва да имате предвид следните точки:

  • Всички устройства трябва да имат общо заземяване, свързано към GND на сондата Atmel-ICE
  • Всички устройства трябва да работят на един и същ целеви томtagд. VTG на Atmel-ICE трябва да бъде свързан към този томtage.
  • TMS и TCK са свързани паралелно; TDI и TDO са свързани в серийна верига.
  • nSRST на сондата Atmel-ICE трябва да бъде свързан към RESET на устройствата, ако някое от устройствата във веригата забрани своя JTAG порт
  • „Устройства преди“ се отнася до броя на JTAG устройства, през които TDI сигналът трябва да премине в последователната верига, преди да достигне целевото устройство. По подобен начин „устройства след“ е броят на устройствата, през които сигналът трябва да премине след целевото устройство, преди да достигне Atmel-ICE TDO
  • „Инструкционните битове „преди“ и „след“ се отнасят до общата сума на всички JTAG дължини на регистъра на инструкциите на устройствата, които са свързани преди и след целевото устройство в последователната верига
  • Общата дължина на IR (битове инструкции преди + дължина на IR на целевото устройство Atmel + битове инструкции след) е ограничена до максимум 256 бита. Броят на устройствата във веригата е ограничен до 15 преди и 15 след.

Съвет: 

Верижно свързване прample: TDI → ATmega1280 → ATxmega128A1 → ATUC3A0512 → TDO.
За да се свържете с Atmel AVR XMEGA® устройство, настройките за последователна верига са:

  • Устройства преди: 1
  • Устройства след: 1
  • Битове инструкции преди: 4 (8-битовите AVR устройства имат 4 IR бита)
  • Битове инструкции след: 5 (32-битовите AVR устройства имат 5 IR бита)

Таблица 4-6. IR дължини на Atmel MCUS

Тип устройство IR дължина
AVR 8-битов 4 бита
AVR 32-битов 5 бита
САМ 4 бита

4.3.3. Свързване към JTAG Цел
Atmel-ICE е оборудван с два 50-милиметрови 10-щифтови JTAG конектори. И двата конектора са директно електрически свързани, но отговарят на две различни разводки; AVR JTAG заглавка и заглавка ARM Cortex Debug. Конекторът трябва да бъде избран въз основа на разводката на целевата платка, а не на целевия тип MCU - напр.ample SAM устройство, монтирано в AVR STK600 стек, трябва да използва AVR хедъра.
Препоръчителният щифт за 10-пинов AVR JTAG конекторът е показан на фигура 4-6.
Препоръчителният pinout за 10-пинов конектор ARM Cortex Debug е показан на Фигура 4-2.
Директна връзка към стандартен 10-пинов 50-милиметров конектор
Използвайте 50-милиметровия 10-пинов плосък кабел (включен в някои комплекти), за да се свържете директно към платка, поддържаща този тип конектор. Използвайте AVR конекторния порт на Atmel-ICE за заглавки с AVR разводка и SAM конекторния порт за заглавки, съответстващи на ARM Cortex Debug заглавна разводка.
Изводите на двата 10-пинови конектора са показани по-долу.
Свързване към стандартен 10-пинов 100-милиметров конектор

Използвайте стандартен адаптер от 50-mil към 100-mil, за да се свържете към 100-mil хедъри. За тази цел може да се използва адаптерна платка (включена в някои комплекти) или алтернативно JTAGICE3 адаптер може да се използва за AVR мишени.
Програмистите Atmel-ICE Debugger - Фигура 16 Важно:
ДжTAGАдаптерът ICE3 100-mil не може да се използва с порта на конектора SAM, тъй като щифтове 2 и 10 (AVR GND) на адаптера са свързани.
Връзка към персонализиран 100-милиметров хедър
Ако вашата целева платка няма съвместим 10-пинов JTAG заглавка в 50- или 100-мили, можете да картографирате персонализиран щифт с помощта на 10-пинов кабел „mini-squid“ (включен в някои комплекти), който дава достъп до десет отделни 100-мили гнезда.
Свързване към 20-пинов 100-милиметров конектор
Използвайте адаптерната платка (включена в някои комплекти), за да се свържете към цели с 20-пинов 100-милиметров конектор.
Таблица 4-7. Atmel-ICE JTAG ПИН Описание

Име

Щифт на AVR порт Щифт за SAM порт

Описание

TCK 1 4 Тест часовник (часовник сигнал от Atmel-ICE в целевото устройство).
TMS 5 2 Избор на тестов режим (контролен сигнал от Atmel-ICE в целевото устройство).
TDI 9 8 Тестови данни In (данни, предавани от Atmel-ICE в целевото устройство).
TDO 3 6 Test Data Out (данни, предавани от целевото устройство в Atmel-ICE).
nTRST 8 Test Reset (по избор, само на някои AVR устройства). Използва се за нулиране на JTAG TAP контролер.
nSRST 6 10 Нулиране (по избор). Използва се за нулиране на целевото устройство. Свързването на този щифт се препоръчва, тъй като позволява на Atmel-ICE да държи целевото устройство в състояние на нулиране, което може да бъде от съществено значение за отстраняване на грешки в определени сценарии.
VTG 4 1 Целеви обtage справка. Atmel-ICE samples the target voltage на този щифт, за да захранвате правилно преобразувателите на ниво. Atmel-ICE черпи по-малко от 3 mA от този щифт в режим debugWIRE и по-малко от 1 mA в други режими.
GND 2, 10 3, 5, 9 Земя. Всички трябва да бъдат свързани, за да се гарантира, че Atmel-ICE и целевото устройство споделят една и съща земна референция.

 4.3.4 Кабелен физически интерфейс
Интерфейсът aWire използва проводника RESET на AVR устройството, за да позволи функции за програмиране и отстраняване на грешки. Специална активираща последователност се предава от Atmel-ICE, която деактивира функцията RESET по подразбиране на щифта. Когато проектирате печатна платка за приложение, която включва Atmel AVR с интерфейс aWire, се препоръчва да използвате разводката, както е показано на Фигура 4 -8. Поддържат се както 100-mil, така и 50-mil варианти на този pinout, в зависимост от кабелите и адаптерите, включени в конкретния комплект.
Фигура 4-8. aWire Header PinoutПрограмистите Atmel-ICE Debugger - Фигура 24

Програмистите Atmel-ICE Debugger - икона 1 Съвет:
Тъй като aWire е полудуплексен интерфейс, се препоръчва издърпващ резистор на линията RESET от порядъка на 47 kΩ, за да се избегне откриването на фалшив старт при промяна на посоката.
Интерфейсът aWire може да се използва както като интерфейс за програмиране, така и като интерфейс за отстраняване на грешки. Всички функции на OCD системата са достъпни чрез 10-пинов JTAG интерфейсът може да бъде достъпен и чрез aWire.
4.3.5 Свързване към aWire Target
Интерфейсът aWire изисква само една линия за данни в допълнение към VCC и GND. В целта този ред е редът nRESET, въпреки че дебъгерът използва JTAG TDO линия като линия за данни.
Препоръчителният pinout за 6-пиновия aWire конектор е показан на Фигура 4-8.
Свързване към 6-пинов 100-mil aWire конектор
Използвайте 6-пиновия 100-mil кран на плоския кабел (включен в някои комплекти), за да се свържете към стандартен 100-mil aWire конектор.
Свързване към 6-пинов 50-mil aWire конектор
Използвайте адаптерната платка (включена в някои комплекти), за да се свържете към стандартен 50-mil aWire конектор.
Връзка към персонализиран 100-милиметров хедър
10-пиновият кабел за мини-калмари трябва да се използва за свързване между конекторния порт Atmel-ICE AVR и целевата платка. Необходими са три връзки, както е описано в таблицата по-долу.
Таблица 4-8. Atmel-ICE aWire Pin Mapping

Atmel-ICE AVR порт щифтове Целеви щифтове Мини калмари

проводник

Пин 1 (TCK) 1
Пин 2 (GND) GND 2 6
Пин 3 (TDO) ДАННИ 3 1
Пин 4 (VTG) VTG 4 2
Пин 5 (TMS) 5
Пин 6 (nSRST) 6
Пин 7 (не е свързан) 7
Пин 8 (nTRST) 8
Пин 9 (TDI) 9
Пин 10 (GND) 0

4.3.6. Специални съображения
JTAG интерфейс
На някои устройства Atmel AVR UC3 JTAG портът не е активиран по подразбиране. Когато използвате тези устройства, от съществено значение е да свържете линията RESET, така че Atmel-ICE да може да активира JTAG интерфейс.
кабелен интерфейс
Скоростта на предаване на aWire комуникации зависи от честотата на системния часовник, тъй като данните трябва да се синхронизират между тези два домейна. Atmel-ICE автоматично ще открие, че системният часовник е бил намален и съответно ще калибрира отново своята скорост на предаване. Автоматичното калибриране работи само до честота на системния часовник от 8kHz. Превключването към по-нисък системен часовник по време на сесия за отстраняване на грешки може да доведе до загуба на контакт с целта.
Ако е необходимо, скоростта на предаване на aWire може да бъде ограничена чрез задаване на параметъра aWire clock. Автоматичното откриване ще продължи да работи, но върху резултатите ще бъде наложена горна стойност.
Всеки стабилизиращ кондензатор, свързан към щифта RESET, трябва да бъде изключен, когато използвате aWire, тъй като ще попречи на правилната работа на интерфейса. Препоръчва се слабо външно напрежение (10 kΩ или по-високо) на тази линия.

Изключете режим на заспиване
Някои устройства AVR UC3 имат вътрешен регулатор, който може да се използва в режим на захранване от 3.3 V с регулирани I/O линии от 1.8 V. Това означава, че вътрешният регулатор захранва както ядрото, така и повечето I/O. Само Atmel AVR ONE! debugger поддържа отстраняване на грешки при използване на режими на заспиване, където този регулатор е изключен.
4.3.7. Използване на EVTI / EVTO
Изводите EVTI и EVTO не са достъпни на Atmel-ICE. Въпреки това, те все още могат да се използват заедно с друго външно оборудване.
EVTI може да се използва за следните цели:

  • Целта може да бъде принудена да спре изпълнението в отговор на външно събитие. Ако битовете за контрол на събитието (EIC) в DC регистъра са записани в 0b01, преходът от високо към ниско на EVTI пин ще генерира условие за точка на прекъсване. EVTI трябва да остане нисък за един тактов цикъл на процесора, за да се гарантира, че точката на прекъсване е Битът за външна точка на прекъсване (EXB) в DS е зададен, когато това се случи.
  • Генериране на съобщения за синхронизиране на проследяване. Не се използва от Atmel-ICE.

EVTO може да се използва за следните цели:

  • Индикация, че процесорът е влязъл в отстраняване на грешки Задаването на EOS битовете в DC на 0b01 кара EVTO щифта да бъде изтеглен ниско за един тактов цикъл на процесора, когато целевото устройство влезе в режим на отстраняване на грешки. Този сигнал може да се използва като източник на задействане за външен осцилоскоп.
  • Показва, че процесорът е достигнал точка на прекъсване или точка на наблюдение. Чрез задаване на EOC бита в съответния контролен регистър на точка на прекъсване/точка на наблюдение, състоянието на точката на прекъсване или точката на наблюдение се показва на EVTO пин. EOS битовете в DC трябва да бъдат зададени на 0xb10, за да активирате тази функция. След това щифтът EVTO може да бъде свързан към външен осцилоскоп, за да се изследва точката на наблюдение
  • Генериране на времеви сигнали за проследяване. Не се използва от Atmel-ICE.

4.4 устройства tinyAVR, megaAVR и XMEGA
AVR устройствата разполагат с различни интерфейси за програмиране и отстраняване на грешки. Проверете листа с данни на устройството за поддържаните интерфейси на това устройство.

  • Някакъв малък AVR® устройствата имат TPI TPI може да се използва само за програмиране на устройството и тези устройства изобщо нямат възможност за отстраняване на грешки в чипа.
  • Някои устройства tinyAVR и някои устройства megaAVR имат интерфейс debugWIRE, който се свързва към система за отстраняване на грешки в чип, известна като tinyOCD. Всички устройства с debugWIRE също имат SPI интерфейс за в системата
  • Някои megaAVR устройства имат JTAG интерфейс за програмиране и отстраняване на грешки, със система за отстраняване на грешки в чипа, известна също като Всички устройства с JTAG също включва SPI интерфейса като алтернативен интерфейс за вътрешносистемно програмиране.
  • Всички AVR XMEGA устройства имат PDI интерфейс за програмиране, а някои AVR XMEGA устройства също имат JTAG интерфейс с идентична функционалност.
  • Новите устройства tinyAVR имат UPDI интерфейс, който се използва за програмиране и отстраняване на грешки

Таблица 4-9. Резюме на интерфейсите за програмиране и отстраняване на грешки

UPDI TPI SPI debugWIR E JTAG PDI aWire

SWD

tinyAVR Нови устройства Някои устройства Някои устройства Някои устройства
мегаАВ Р Всички устройства Някои устройства Някои устройства
AVR XMEGA Някои устройства Всички устройства
AVR UC Всички устройства Някои устройства
САМ Някои устройства Всички устройства

4.4.1. ДжTAG Физически интерфейс
ДжTAG интерфейсът се състои от 4-жилен контролер за тестов порт за достъп (TAP), който е съвместим с IEEE® 1149.1 стандарт. Стандартът IEEE е разработен, за да осигури стандартен за индустрията начин за ефективно тестване на свързаността на печатни платки (гранично сканиране). Устройствата Atmel AVR и SAM разшириха тази функционалност, за да включват пълна поддръжка за програмиране и отстраняване на грешки в чип.
Фигура 4-9. ДжTAG Основи на интерфейсаПрограмистите Atmel-ICE Debugger - Фигура 214.4.2. Свързване към JTAG Цел
Atmel-ICE е оборудван с два 50-милиметрови 10-щифтови JTAG конектори. И двата конектора са директно електрически свързани, но отговарят на две различни разводки; AVR JTAG заглавка и заглавка ARM Cortex Debug. Конекторът трябва да бъде избран въз основа на разводката на целевата платка, а не на целевия тип MCU - напр.ample SAM устройство, монтирано в AVR STK600 стек, трябва да използва AVR хедъра.
Препоръчителният щифт за 10-пинов AVR JTAG конекторът е показан на фигура 4-6.
Препоръчителният pinout за 10-пинов конектор ARM Cortex Debug е показан на Фигура 4-2.
Директна връзка към стандартен 10-пинов 50-милиметров конектор
Използвайте 50-милиметровия 10-пинов плосък кабел (включен в някои комплекти), за да се свържете директно към платка, поддържаща този тип конектор. Използвайте AVR конекторния порт на Atmel-ICE за заглавки с AVR разводка и SAM конекторния порт за заглавки, съответстващи на ARM Cortex Debug заглавна разводка.
Изводите на двата 10-пинови конектора са показани по-долу.
Свързване към стандартен 10-пинов 100-милиметров конектор
Използвайте стандартен адаптер от 50-mil към 100-mil, за да се свържете към 100-mil хедъри. За тази цел може да се използва адаптерна платка (включена в някои комплекти) или алтернативно JTAGICE3 адаптер може да се използва за AVR мишени.
Програмистите Atmel-ICE Debugger - Фигура 16 Важно:
ДжTAGАдаптерът ICE3 100-mil не може да се използва с порта на конектора SAM, тъй като щифтове 2 и 10 (AVR GND) на адаптера са свързани.
Връзка към персонализиран 100-милиметров хедър
Ако вашата целева платка няма съвместим 10-пинов JTAG заглавка в 50- или 100-мили, можете да картографирате персонализиран щифт с помощта на 10-пинов кабел „mini-squid“ (включен в някои комплекти), който дава достъп до десет отделни 100-мили гнезда.
Свързване към 20-пинов 100-милиметров конектор
Използвайте адаптерната платка (включена в някои комплекти), за да се свържете към цели с 20-пинов 100-милиметров конектор.
Таблица 4-10. Atmel-ICE JTAG ПИН Описание

Име AVR порт щифт САМ порт щифт Описание
TCK 1 4 Тест часовник (часовник сигнал от Atmel-ICE в целевото устройство).
TMS 5 2 Избор на тестов режим (контролен сигнал от Atmel-ICE в целевото устройство).
TDI 9 8 Тестови данни In (данни, предавани от Atmel-ICE в целевото устройство).
TDO 3 6 Test Data Out (данни, предавани от целевото устройство в Atmel-ICE).
nTRST 8 Test Reset (по избор, само на някои AVR устройства). Използва се за нулиране на JTAG TAP контролер.
nSRST 6 10 Нулиране (по избор). Използва се за нулиране на целевото устройство. Свързването на този щифт се препоръчва, тъй като позволява на Atmel-ICE да държи целевото устройство в състояние на нулиране, което може да бъде от съществено значение за отстраняване на грешки в определени сценарии.
VTG 4 1 Целеви обtage справка. Atmel-ICE samples the target voltage на този щифт, за да захранвате правилно преобразувателите на ниво. Atmel-ICE черпи по-малко от 3 mA от този щифт в режим debugWIRE и по-малко от 1 mA в други режими.
GND 2, 10 3, 5, 9 Земя. Всички трябва да бъдат свързани, за да се гарантира, че Atmel-ICE и целевото устройство споделят една и съща земна референция.

4.4.3.SPI физически интерфейс
Вътрешносистемното програмиране използва вътрешния SPI (сериен периферен интерфейс) на целевия Atmel AVR за изтегляне на код във флаш паметта и EEPROM паметта. Това не е интерфейс за отстраняване на грешки. Когато проектирате приложна печатна платка, която включва AVR със SPI интерфейс, трябва да се използва разводката, както е показано на фигурата по-долу.
Фигура 4-10. Pinout на заглавката на SPIПрограмистите Atmel-ICE Debugger - Фигура 264.4.4. Свързване към SPI Target
Препоръчителната разводка за 6-пинов SPI конектор е показана на Фигура 4-10.
Връзка към 6-пинов 100-милиметров SPI конектор
Използвайте 6-пиновия 100-mil кран на плоския кабел (включен в някои комплекти), за да се свържете към стандартен 100-mil SPI конектор.
Връзка към 6-пинов 50-милиметров SPI конектор
Използвайте адаптерната платка (включена в някои комплекти), за да се свържете към стандартен 50-милиметров SPI конектор.
Връзка към персонализиран 100-милиметров хедър
10-пиновият кабел за мини-калмари трябва да се използва за свързване между конекторния порт Atmel-ICE AVR и целевата платка. Необходими са шест връзки, както е описано в таблицата по-долу.
Програмистите Atmel-ICE Debugger - Фигура 16 Важно:
SPI интерфейсът е ефективно деактивиран, когато предпазителят за активиране на debugWIRE (DWEN) е програмиран, дори ако предпазителят SPIEN също е програмиран. За да активирате отново SPI интерфейса, командата 'disable debugWIRE' трябва да бъде издадена, докато сте в сесия за отстраняване на грешки в debugWIRE. Деактивирането на debugWIRE по този начин изисква предпазителят SPIEN вече да е програмиран. Ако Atmel Studio не успее да деактивира debugWIRE, това е вероятно, защото предпазителят SPIEN НЕ е програмиран. Ако случаят е такъв, е необходимо да се използва високоволtage интерфейс за програмиране за програмиране на предпазителя SPIEN.
Програмистите Atmel-ICE Debugger - икона Информация:
Интерфейсът SPI често се нарича "ISP", тъй като е първият интерфейс за системно програмиране на продуктите на Atmel AVR. Други интерфейси вече са налични за системно програмиране.
Таблица 4-11. Atmel-ICE SPI Pin Mapping

Atmel-ICE AVR порт щифтове Целеви щифтове Мини калмари

SPI pinout

Пин 1 (TCK) SCK 1 3
Пин 2 (GND) GND 2 6
Пин 3 (TDO) Мишо 3 1
Пин 4 (VTG) VTG 4 2
Пин 5 (TMS) 5
Пин 6 (nSRST) /НУЛИРАНЕ 6 5
Пин 7 (не е свързан) 7
Пин 8 (nTRST) 8
Пин 9 (TDI) МОСИ 9 4
Пин 10 (GND) 0

4.4.5. PDI
Интерфейсът за програмиране и отстраняване на грешки (PDI) е собствен интерфейс на Atmel за външно програмиране и отстраняване на грешки в чип на устройство. PDI Physical е 2-пинов интерфейс, осигуряващ двупосочна полудуплексна синхронна комуникация с целевото устройство.
Когато проектирате печатна платка за приложение, която включва Atmel AVR с PDI интерфейс, трябва да се използва разводката, показана на фигурата по-долу. След това един от 6-пиновите адаптери, предоставени с комплекта Atmel-ICE, може да се използва за свързване на сондата Atmel-ICE към печатната платка на приложението.
Фигура 4-11. Pinout на PDI заглавкатаПрограмистите Atmel-ICE Debugger - Фигура 274.4.6. Свързване към PDI Target
Препоръчителният щифт за 6-пиновия PDI конектор е показан на Фигура 4-11.
Връзка към 6-пинов 100-mil PDI конектор
Използвайте 6-пиновия 100-mil кран на плоския кабел (включен в някои комплекти), за да се свържете към стандартен 100-mil PDI конектор.
Връзка към 6-пинов 50-mil PDI конектор
Използвайте адаптерната платка (включена в някои комплекти), за да се свържете към стандартен 50-милиметров PDI конектор.
Връзка към персонализиран 100-милиметров хедър
10-пиновият кабел за мини-калмари трябва да се използва за свързване между конекторния порт Atmel-ICE AVR и целевата платка. Необходими са четири връзки, както е описано в таблицата по-долу.
Програмистите Atmel-ICE Debugger - Фигура 16 Важно:
Необходимият pinout е различен от JTAGICE mkII JTAG сонда, където PDI_DATA е свързан към пин 9. Atmel-ICE е съвместим с разводката, използвана от Atmel-ICE, JTAGICE3, AVR ONE! и AVR Dragon продукти.
Таблица 4-12. Atmel-ICE PDI Pin Mapping

Atmel-ICE AVR щифт на порта

Целеви щифтове Мини калмари

Atmel STK600 PDI pinout

Пин 1 (TCK) 1
Пин 2 (GND) GND 2 6
Пин 3 (TDO) PDI_DATA 3 1
Пин 4 (VTG) VTG 4 2
Пин 5 (TMS) 5
Пин 6 (nSRST) PDI_CLK 6 5
Пин 7 (не е свързан) 7
Пин 8 (nTRST) 8
Пин 9 (TDI) 9
Пин 10 (GND) 0

4.4.7. UPDI физически интерфейс
Унифицираният интерфейс за програмиране и отстраняване на грешки (UPDI) е собствен интерфейс на Atmel за външно програмиране и отстраняване на грешки в чип на устройство. Той е наследник на PDI 2-wire физически интерфейс, който се намира на всички AVR XMEGA устройства. UPDI е еднопроводен интерфейс, осигуряващ двупосочна полудуплексна асинхронна комуникация с целевото устройство за целите на програмиране и отстраняване на грешки.
Когато проектирате печатна платка за приложения, която включва Atmel AVR с UPDI интерфейс, трябва да се използва разводката, показана по-долу. След това един от 6-пиновите адаптери, предоставени с комплекта Atmel-ICE, може да се използва за свързване на сондата Atmel-ICE към печатната платка на приложението.
Фигура 4-12. UPDI Header PinoutПрограмистите Atmel-ICE Debugger - Фигура 284.4.7.1 UPDI и /RESET
UPDI еднопроводният интерфейс може да бъде специален щифт или споделен щифт, в зависимост от целевото AVR устройство. Консултирайте се с листа с данни на устройството за допълнителна информация.
Когато интерфейсът UPDI е на споделен щифт, щифтът може да бъде конфигуриран да бъде UPDI, /RESET или GPIO чрез настройване на предпазителите RSTPINCFG[1:0].
Предпазителите RSTPINCFG[1:0] имат следните конфигурации, както е описано в листа с данни. Тук са дадени практическите последици от всеки избор.
Таблица 4-13. RSTPINCFG[1:0] Конфигурация на предпазител

RSTPINCFG[1:0] Конфигурация

Използване

00 GPIO I/O щифт с общо предназначение. За достъп до UPDI трябва да се приложи импулс от 12 V към този щифт. Няма наличен външен източник за нулиране.
01 UPDI Специален щифт за програмиране и отстраняване на грешки. Няма наличен външен източник за нулиране.
10 Нулиране Нулирайте входния сигнал. За достъп до UPDI трябва да се приложи импулс от 12 V към този щифт.
11 Запазено NA

Забележка:  По-старите AVR устройства имат интерфейс за програмиране, известен като „High-Voltage Programming” (съществуват както серийни, така и паралелни варианти.) Като цяло този интерфейс изисква 12V да бъдат приложени към щифта /RESET за времетраенето на сесията за програмиране. Интерфейсът UPDI е напълно различен интерфейс. UPDI щифтът е предимно щифт за програмиране и отстраняване на грешки, който може да се слее, за да има алтернативна функция (/RESET или GPIO). Ако е избрана алтернативната функция, тогава е необходим импулс от 12 V на този щифт, за да се активира повторно UPDI функционалността.
Забележка:  Ако даден дизайн изисква споделяне на UPDI сигнала поради ограничения на пиновете, трябва да се предприемат стъпки, за да се гарантира, че устройството може да бъде програмирано. За да се гарантира, че UPDI сигналът може да функционира правилно, както и за да се избегне повреда на външни компоненти от 12V импулс, се препоръчва да изключите всички компоненти на този щифт, когато се опитвате да отстраните грешки или да програмирате устройството. Това може да се направи с помощта на резистор 0Ω, който се монтира по подразбиране и се премахва или заменя с щифтов конектор по време на отстраняване на грешки. Тази конфигурация на практика означава, че програмирането трябва да се извърши преди монтирането на устройството.
Програмистите Atmel-ICE Debugger - Фигура 16 Важно:  Atmel-ICE не поддържа 12V по линията UPDI. С други думи, ако UPDI щифтът е конфигуриран като GPIO или RESET, Atmel-ICE няма да може да активира UPDI интерфейса.
4.4.8. Свързване към UPDI Target
Препоръчителната разводка за 6-пинов UPDI конектор е показана на Фигура 4-12.
Връзка към 6-пинов 100-милиметров UPDI конектор
Използвайте 6-пиновия 100-mil кран на плоския кабел (включен в някои комплекти), за да се свържете към стандартен 100-mil UPDI конектор.
Връзка към 6-пинов 50-милиметров UPDI конектор
Използвайте адаптерната платка (включена в някои комплекти), за да се свържете към стандартен 50-милиметров UPDI конектор.
Връзка към персонализиран 100-милиметров хедър

10-пиновият кабел за мини-калмари трябва да се използва за свързване между конекторния порт Atmel-ICE AVR и целевата платка. Необходими са три връзки, както е описано в таблицата по-долу.
Таблица 4-14. Atmel-ICE UPDI Pin Mapping

Atmel-ICE AVR щифт на порта Целеви щифтове Мини калмари

Atmel STK600 UPDI pinout

Пин 1 (TCK) 1
Пин 2 (GND) GND 2 6
Пин 3 (TDO) UPDI_DATA 3 1
Пин 4 (VTG) VTG 4 2
Пин 5 (TMS) 5
Пин 6 (nSRST) [/RESET sense] 6 5
Пин 7 (не е свързан) 7
Пин 8 (nTRST) 8
Пин 9 (TDI) 9
Пин 10 (GND) 0

4.4.9 TPI ​​физически интерфейс
TPI е интерфейс само за програмиране за някои AVR ATtiny устройства. Това не е интерфейс за отстраняване на грешки и тези устройства нямат възможност за OCD. Когато проектирате печатна платка за приложение, която включва AVR с TPI интерфейс, трябва да се използва разводката, показана на фигурата по-долу.

Фигура 4-13. Pinout на заглавката на TPIПрограмистите Atmel-ICE Debugger - Фигура 294.4.10. Свързване към TPI Target
Препоръчителният щифт за 6-пиновия TPI конектор е показан на Фигура 4-13.
Свързване към 6-пинов 100-mil TPI конектор
Използвайте 6-пиновия 100-mil кран на плоския кабел (включен в някои комплекти), за да се свържете към стандартен 100-mil TPI конектор.
Свързване към 6-пинов 50-mil TPI конектор
Използвайте адаптерната платка (включена в някои комплекти), за да се свържете към стандартен 50-mil TPI конектор.
Връзка към персонализиран 100-милиметров хедър
10-пиновият кабел за мини-калмари трябва да се използва за свързване между конекторния порт Atmel-ICE AVR и целевата платка. Необходими са шест връзки, както е описано в таблицата по-долу.
Таблица 4-15. Atmel-ICE TPI Pin Mapping

Atmel-ICE AVR порт щифтове Целеви щифтове Мини калмари

TPI pinout

Пин 1 (TCK) ЧАСОВНИК 1 3
Пин 2 (GND) GND 2 6
Пин 3 (TDO) ДАННИ 3 1
Пин 4 (VTG) VTG 4 2
Пин 5 (TMS) 5
Пин 6 (nSRST) /НУЛИРАНЕ 6 5
Пин 7 (не е свързан) 7
Пин 8 (nTRST) 8
Пин 9 (TDI) 9
Пин 10 (GND) 0

4.4.11. Разширено отстраняване на грешки (AVR JTAG /debugWIRE устройства)
I/O периферни устройства
Повечето I/O периферни устройства ще продължат да работят, въпреки че изпълнението на програмата е спряно от точка на прекъсване. Прample: Ако се достигне точка на прекъсване по време на UART предаване, предаването ще бъде завършено и съответните битове ще бъдат зададени. Флагът TXC (завършено предаване) ще бъде зададен и ще бъде наличен на следващата стъпка от кода, въпреки че обикновено това ще се случи по-късно в действително устройство.
Всички I/O модули ще продължат да работят в спрян режим със следните две изключения:

  • Таймер/броячи (конфигурируеми с помощта на интерфейса на софтуера)
  • Таймер за наблюдение (винаги спрян, за да се предотвратят нулирания по време на отстраняване на грешки)

Едностъпков I/O достъп
Тъй като I/O продължава да работи в спрян режим, трябва да се внимава да се избегнат определени проблеми с времето. Напримерample, кодът:
Когато изпълнявате този код нормално, регистърът TEMP няма да прочете обратно 0xAA, тъй като данните все още няма да са били фиксирани физически към щифта до момента, в който са сampръководени от операция IN. Инструкцията NOP трябва да бъде поставена между инструкциите OUT и IN, за да се гарантира, че правилната стойност присъства в PIN регистъра.
Въпреки това, при еднократно преминаване на тази функция през OCD, този код винаги ще дава 0xAA в PIN регистъра, тъй като I/O работи на пълна скорост, дори когато ядрото е спряно по време на единичното преминаване.
Единична стъпка и синхронизация
Определени регистри трябва да бъдат прочетени или записани в рамките на определен брой цикли след активиране на контролен сигнал. Тъй като I/O часовникът и периферните устройства продължават да работят на пълна скорост в спрян режим, еднократно преминаване през такъв код няма да отговори на изискванията за време. Между две отделни стъпки I/O часовникът може да е изпълнил милиони цикли. За успешно четене или запис на регистри с такива изисквания за време, цялата последователност за четене или запис трябва да се извърши като атомарна операция, работеща с устройството на пълна скорост. Това може да стане чрез използване на макрос или извикване на функция за изпълнение на кода или използване на функцията run-to-cursor в средата за отстраняване на грешки
Достъп до 16-битови регистри
Периферните устройства на Atmel AVR обикновено съдържат няколко 16-битови регистъра, които могат да бъдат достъпни чрез 8-битова шина за данни (напр.: TCNTn на 16-битов таймер). 16-битовият регистър трябва да има байтов достъп чрез две операции за четене или запис. Пробив по средата на 16-битов достъп или еднократно преминаване през тази ситуация може да доведе до грешни стойности.
Ограничен достъп до I/O регистър
Някои регистри не могат да бъдат прочетени, без да се засегне тяхното съдържание. Такива регистри включват тези, които съдържат флагове, които се изчистват чрез четене, или регистри с буферирани данни (напр.: UDR). Предният край на софтуера ще предотврати четенето на тези регистри, когато е в спрян режим, за да запази предвидения ненатрапчив характер на OCD отстраняване на грешки. В допълнение, някои регистри не могат да бъдат записани безопасно, без да се появят странични ефекти – тези регистри са само за четене. Напримерampле:

  • Регистри на флагове, където флагът се изчиства чрез запис на '1' във всеки. Тези регистри са само за четене.
  • Регистрите UDR и SPDR не могат да бъдат прочетени, без това да повлияе на състоянието на модула. Тези регистри не са

4.4.12. megaAVR Специални съображения
Софтуерни точки на прекъсване
Тъй като съдържа ранна версия на OCD модула, ATmega128[A] не поддържа използването на инструкцията BREAK за софтуерни точки на прекъсване.
JTAG часовник
Целевата тактова честота трябва да бъде точно посочена в предния край на софтуера, преди да започне сесия за отстраняване на грешки. От съображения за синхронизация, JTAG TCK сигналът трябва да бъде по-малък от една четвърт от целевата тактова честота за надеждно отстраняване на грешки. При програмиране чрез JTAG интерфейс, честотата на TCK е ограничена от максималната честота на целевото устройство, а не от действителната използвана тактова честота.
Когато използвате вътрешния RC осцилатор, имайте предвид, че честотата може да варира от устройство на устройство и се влияе от температурата и VCC промени. Бъдете консервативни, когато определяте целевата тактова честота.
JTAGПредпазители EN и OCDEN

ДжTAG интерфейсът е активиран с помощта на JTAGEN предпазител, който е програмиран по подразбиране. Това позволява достъп до JTAG интерфейс за програмиране. Чрез този механизъм предпазителят OCDEN може да бъде програмиран (по подразбиране OCDEN не е програмиран). Това позволява достъп до OCD, за да се улесни отстраняването на грешки в устройството. Предният край на софтуера винаги ще гарантира, че предпазителят OCDEN остава непрограмиран при прекратяване на сесия, като по този начин ограничава ненужната консумация на енергия от OCD модула. Ако ДжTAGEN предпазителят е неволно деактивиран, той може да бъде активиран отново само чрез SPI или High Voltagелектронни методи за програмиране.
Ако ДжTAGПредпазителят EN е програмиран, JTAG интерфейсът все още може да бъде деактивиран във фърмуера чрез задаване на бита JTD. Това ще направи кода невъзможен за отстраняване на грешки и не трябва да се прави при опит за сесия за отстраняване на грешки. Ако такъв код вече се изпълнява на устройството Atmel AVR при стартиране на сесия за отстраняване на грешки, Atmel-ICE ще потвърди линията RESET, докато се свързва. Ако тази линия е свързана правилно, тя ще принуди целевото AVR устройство да се нулира, като по този начин ще позволи JTAG връзка.
Ако ДжTAG интерфейсът е активиран, JTAG щифтовете не могат да се използват за алтернативни пин функции. Те ще останат посветени на ДжTAG щифтове, докато JTAG интерфейсът е деактивиран чрез задаване на бита JTD от програмния код или чрез изчистване на JTAGEN предпазител чрез интерфейс за програмиране.

Програмистите Atmel-ICE Debugger - икона 1 Съвет:
Не забравяйте да поставите отметка в квадратчето „използване на външно нулиране“ както в диалоговия прозорец за програмиране, така и в диалоговия прозорец с опции за отстраняване на грешки, за да позволите на Atmel-ICE да потвърди линията RESET и да активира отново JTAG интерфейс на устройства, които изпълняват код, който деактивира JTAG интерфейс чрез настройка на бита JTD.
IDR/OCDR събития
IDR (In-out Data Register) е известен още като OCDR (On Chip Debug Register) и се използва широко от дебъгера за четене и запис на информация в MCU, когато е в спрян режим по време на сесия за отстраняване на грешки. Когато приложната програма в режим на изпълнение запише байт данни в OCDR регистъра на AVR устройството, което се отстранява, Atmel-ICE прочита тази стойност и я показва в прозореца за съобщения на предния край на софтуера. OCDR регистърът се запитва на всеки 50 ms, така че записването в него с по-висока честота НЯМА да даде надеждни резултати. Когато AVR устройството загуби захранване, докато се отстраняват грешки, може да се докладват фалшиви OCDR събития. Това се случва, защото Atmel-ICE все още може да анкетира устройството като целеви обемtage пада под минималния работен обем на AVRtage.
4.4.13. AVR XMEGA Специални съображения
OCD и часовник
Когато MCU влезе в спрян режим, OCD часовникът се използва като часовник на MCU. Часовникът на OCD е или JTAG TCK, ако JTAG се използва интерфейс или PDI_CLK, ако се използва PDI интерфейс.
I/O модули в спрян режим
За разлика от по-ранните устройства Atmel megaAVR, в XMEGA I/O модулите са спрени в режим стоп. Това означава, че USART предаванията ще бъдат прекъснати, таймерите (и ШИМ) ще бъдат спрени.
Хардуерни точки на прекъсване
Има четири компаратора на хардуерни точки на прекъсване – два компаратора на адреси и два компаратора на стойности. Те имат определени ограничения:

  • Всички точки на прекъсване трябва да са от един и същи тип (програма или данни)
  • Всички точки на прекъсване на данните трябва да са в една и съща област на паметта (I/O, SRAM или XRAM)
  • Може да има само една точка на прекъсване, ако се използва адресен диапазон

Ето различните комбинации, които могат да бъдат зададени:

  • Две единични точки на прекъсване на данни или адрес на програма
  • Една точка на прекъсване на обхват от адреси на данни или програма
  • Две единични точки на прекъсване на адреса на данните с сравнение на една стойност
  • Една точка на прекъсване на данни с диапазон от адреси, диапазон от стойности или и двете

Atmel Studio ще ви каже дали точката на прекъсване не може да бъде зададена и защо. Точките на прекъсване на данните имат приоритет пред точките на прекъсване на програмата, ако са налични софтуерни точки на прекъсване.
Външно нулиране и физически PDI
Физическият интерфейс PDI използва линията за нулиране като часовник. По време на отстраняване на грешки изтеглянето за нулиране трябва да бъде 10k или повече или да бъде премахнато. Всички кондензатори за нулиране трябва да бъдат отстранени. Други външни източници за нулиране трябва да бъдат изключени.
Отстраняване на грешки със заспиване за ATxmegaA1 rev H и по-стари
Съществуваше грешка в ранните версии на устройства ATxmegaA1, която не позволяваше OCD да бъде активиран, докато устройството беше в определени режими на заспиване. Има две решения за повторно активиране на OCD:

  • Влезте в Atmel-ICE. Опции в менюто Инструменти и активирайте „Винаги активирай външно нулиране при препрограмиране на устройство“.
  • Извършете изтриване на чип

Режимите на заспиване, които задействат този бъг, са:

  • Изключване
  • Спестяване на енергия
  • В режим на готовност
  • Разширен режим на готовност

4.4.1.debugWIRE Специални съображения
Комуникационният щифт debugWIRE (dW) е физически разположен на същия щифт като външното нулиране (RESET). Следователно външен източник за нулиране не се поддържа, когато интерфейсът debugWIRE е активиран.
Предпазителят за активиране на debugWIRE (DWEN) трябва да бъде настроен на целевото устройство, за да може интерфейсът debugWIRE да функционира. Този предпазител по подразбиране не е програмиран, когато устройството Atmel AVR се доставя от фабриката. Самият интерфейс debugWIRE не може да се използва за настройка на този предпазител. За да настроите предпазителя DWEN, трябва да се използва SPI режим. Предният край на софтуера обработва това автоматично, при условие че са свързани необходимите SPI пинове. Може също да се настрои чрез SPI програмиране от диалоговия прозорец за програмиране на Atmel Studio.
Или: Опит за стартиране на сесия за отстраняване на грешки в частта debugWIRE. Ако интерфейсът debugWIRE не е активиран, Atmel Studio ще предложи повторен опит или ще се опита да активира debugWIRE чрез SPI програмиране. Ако сте свързали пълния SPI хедър, debugWIRE ще бъде активиран и ще бъдете помолени да превключите захранването на целта. Това е необходимо, за да бъдат ефективни промените на предпазителя.
Или: Отворете диалоговия прозорец за програмиране в режим SPI и проверете дали подписът съответства на правилното устройство. Проверете DWEN предпазителя, за да активирате debugWIRE.
Програмистите Atmel-ICE Debugger - Фигура 16 Важно:
Важно е да оставите предпазителя SPIEN програмиран, предпазителя RSTDISBL непрограмиран! Ако не направите това, устройството ще остане в режим debugWIRE и High VoltagЩе е необходимо програмиране, за да върнете настройката DWEN.
За да деактивирате интерфейса debugWIRE, използвайте High Voltage програмиране за депрограмиране на предпазителя DWEN. Алтернативно, използвайте самия интерфейс debugWIRE, за да се дезактивирате временно, което ще позволи SPI програмирането да се осъществи, при условие че предпазителят SPIEN е настроен.
Програмистите Atmel-ICE Debugger - Фигура 16 Важно:
Ако предпазителят SPIEN НЕ е оставен програмиран, Atmel Studio няма да може да завърши тази операция и High Voltagтрябва да се използва електронно програмиране.
По време на сесия за отстраняване на грешки изберете опцията на менюто „Деактивиране на debugWIRE и затваряне“ от менюто „Отстраняване на грешки“. DebugWIRE ще бъде временно деактивиран и Atmel Studio ще използва SPI програмиране, за да депрограмира предпазителя DWEN.

Програмирането на предпазителя DWEN позволява на някои части от часовниковата система да работят във всички режими на заспиване. Това ще увеличи консумацията на енергия на AVR, докато е в режим на заспиване. Следователно предпазителят DWEN винаги трябва да бъде деактивиран, когато не се използва debugWIRE.
Когато проектирате PCB за целево приложение, където ще се използва debugWIRE, трябва да се вземат предвид следните съображения за правилна работа:

  • Издърпващите резистори на линията dW/(RESET) не трябва да са по-малки (по-силни) от 10kΩ. Изтеглящият резистор не е необходим за функционалността на debugWIRE, тъй като инструментът за отстраняване на грешки предоставя
  • Всеки стабилизиращ кондензатор, свързан към щифта RESET, трябва да бъде изключен, когато използвате debugWIRE, тъй като те ще попречат на правилната работа на интерфейса
  • Всички външни източници за нулиране или други активни драйвери на линията RESET трябва да бъдат изключени, тъй като те могат да попречат на правилната работа на интерфейса

Никога не програмирайте заключващите битове на целевото устройство. Интерфейсът debugWIRE изисква битовете за заключване да бъдат изчистени, за да функционира правилно.
4.4.15. debugWIRE софтуерни точки на прекъсване
DebugWIRE OCD е драстично намален в сравнение с Atmel megaAVR (JTAG) OCD. Това означава, че той няма компаратори на точки на прекъсване на брояча на програмата, достъпни за потребителя за целите на отстраняване на грешки. Един такъв компаратор наистина съществува за целите на изпълнение до курсор и едностъпкови операции, но допълнителни потребителски точки на прекъсване не се поддържат в хардуера.
Вместо това дебъгерът трябва да използва инструкцията AVR BREAK. Тази инструкция може да бъде поставена във FLASH и когато бъде заредена за изпълнение, тя ще накара процесора на AVR да влезе в спрян режим. За да поддържа точки на прекъсване по време на отстраняване на грешки, дебъгерът трябва да вмъкне инструкция BREAK във FLASH в точката, в която потребителите поискат точка на прекъсване. Оригиналната инструкция трябва да се кешира за по-късна подмяна.
Когато преминава еднократно през инструкция BREAK, дебъгерът трябва да изпълни оригиналната кеширана инструкция, за да запази поведението на програмата. В екстремни случаи BREAK трябва да се премахне от FLASH и да се смени по-късно. Всички тези сценарии могат да причинят очевидни закъснения при еднократно преминаване от точки на прекъсване, което ще се влоши, когато целевата тактова честота е много ниска.
Затова се препоръчва да се спазват следните указания, когато е възможно:

  • Винаги изпълнявайте целта на възможно най-висока честота по време на отстраняване на грешки. Физическият интерфейс debugWIRE се тактова от целевия часовник.
  • Опитайте се да сведете до минимум броя на добавянията и премахванията на точки на прекъсване, тъй като всяко от тях изисква FLASH страница да бъде заменена на целта
  • Опитайте се да добавите или премахнете малък брой точки на прекъсване наведнъж, за да минимизирате броя на операциите за запис на FLASH страница
  • Ако е възможно, избягвайте поставянето на точки на прекъсване върху инструкции с две думи

4.4.16. Разбиране на debugWIRE и предпазителя DWEN
Когато е активиран, интерфейсът debugWIRE поема контрола върху щифта /RESET на устройството, което го прави взаимно изключващ се за интерфейса SPI, който също се нуждае от този щифт. Когато активирате и деактивирате модула debugWIRE, следвайте един от тези два подхода:

  • Оставете Atmel Studio да се погрижи за нещата (препоръчително)
  • Задайте и изчистете DWEN ръчно (бъдете внимателни, само за напреднали потребители!)

Програмистите Atmel-ICE Debugger - Фигура 16 Важно: Когато манипулирате DWEN ръчно, важно е предпазителят SPIEN да остане настроен, за да избегнете използването на High-Voltagелектронно програмиране
Фигура 4-14. Разбиране на debugWIRE и предпазителя DWENПрограмистите Atmel-ICE Debugger - Фигура 304.4.17. Специални съображения за TinyX-OCD (UPDI).
UPDI щифтът за данни (UPDI_DATA) може да бъде специален щифт или споделен щифт, в зависимост от целевото AVR устройство. Споделеният UPDI щифт е толерантен към 12 V и може да бъде конфигуриран да се използва като /RESET или GPIO. За допълнителни подробности как да използвате щифта в тези конфигурации, вижте UPDI физически интерфейс.
На устройства, които включват модула CRCSCAN (сканиране на паметта с циклична проверка на излишъка), този модул не трябва да се използва в непрекъснат фонов режим по време на отстраняване на грешки. Модулът OCD има ограничени ресурси за сравнение на хардуерни точки на прекъсване, така че инструкциите за BREAK могат да бъдат вмъкнати във флаш (софтуерни точки на прекъсване), когато са необходими повече точки на прекъсване или дори по време на стъпване на код на ниво източник. CRC модулът може неправилно да открие тази точка на прекъсване като повреда на съдържанието на флаш паметта.
Модулът CRCSCAN може също да бъде конфигуриран да извършва CRC сканиране преди зареждане. В случай на несъответствие на CRC, устройството няма да се стартира и изглежда, че е в заключено състояние. Единственият начин да възстановите устройството от това състояние е да извършите пълно изтриване на чипа и или да програмирате валидно флаш изображение, или да деактивирате CRCSCAN преди зареждане. (Едно просто изтриване на чип ще доведе до празна светкавица с невалиден CRC и по този начин частта все още няма да стартира.) Atmel Studio автоматично ще деактивира CRCSCAN предпазителите, когато чипът изтрива устройство в това състояние.
Когато проектирате PCB за целево приложение, където ще се използва UPDI интерфейс, трябва да се вземат предвид следните съображения за правилна работа:

  • Издърпващите резистори на линията UPDI не трябва да са по-малки (по-силни) от 10kΩ. Не трябва да се използва изтеглящ се резистор или трябва да се отстрани, когато се използва UPDI. Физическият UPDI е с възможност за издърпване, така че е необходим само слаб издърпващ резистор, за да се предотврати задействането на фалшив старт, когато линията е
  • Ако щифтът UPDI трябва да се използва като щифт RESET, всеки стабилизиращ кондензатор трябва да бъде изключен, когато използвате UPDI, тъй като той ще попречи на правилната работа на интерфейса
  • Ако UPDI щифтът се използва като RESET или GPIO щифт, всички външни драйвери по линията трябва да бъдат изключени по време на програмиране или отстраняване на грешки, тъй като те могат да попречат на правилната работа на интерфейса.

Описание на хардуера

5.1. Светодиоди
Горният панел на Atmel-ICE има три светодиода, които показват състоянието на текущите сесии за отстраняване на грешки или програмиране.Програмистите Atmel-ICE Debugger - Фигура 31

Таблица 5-1. светодиоди

LED функция

Описание

наляво Целева мощност ЗЕЛЕНО, когато целевата мощност е наред. Мигането показва грешка в целевото захранване. Не свети, докато не започне връзка със сесия за програмиране/отстраняване на грешки.
Среден Основна мощност ЧЕРВЕНО, когато захранването на основната платка е наред.
вярно Статус Мига ЗЕЛЕНО, когато целта бяга/стъпва. ИЗКЛ., когато целта е спряна.

5.2. Заден панел
На задния панел на Atmel-ICE се намира Micro-B USB конектор.Програмистите Atmel-ICE Debugger - Фигура 325.3. Долен панел
Долният панел на Atmel-ICE има стикер, който показва серийния номер и датата на производство. Когато търсите техническа поддръжка, включете тези подробности.Програмистите Atmel-ICE Debugger - Фигура 335.4 .Описание на архитектурата
Архитектурата Atmel-ICE е показана на блоковата диаграма на Фигура 5-1.
Фигура 5-1. Блокова схема на Atmel-ICEПрограмистите Atmel-ICE Debugger - Фигура 345.4.1. Основна платка Atmel-ICE
Захранването се подава към Atmel-ICE от USB шината, регулирана до 3.3 V от понижаващ регулатор на режим на превключване. VTG щифтът се използва само като референтен вход, а отделно захранване захранва променливата voltagот страната на бордовите преобразуватели на ниво. В сърцето на основната платка Atmel-ICE е микроконтролерът Atmel AVR UC3 AT32UC3A4256, който работи на честота между 1MHz и 60MHz в зависимост от задачите, които се обработват. Микроконтролерът включва вграден USB 2.0 високоскоростен модул, позволяващ висока пропускателна способност на данни към и от дебъгера.
Комуникацията между Atmel-ICE и целевото устройство се осъществява чрез банка от преобразуватели на ниво, които изместват сигналите между работния обем на целтаtage и вътрешния обtage ниво на Atmel-ICE. Също така в пътя на сигнала са zener overvoltage защитни диоди, крайни серийни резистори, индуктивни филтри и ESD защитни диоди. Всички сигнални канали могат да работят в диапазона от 1.62 V до 5.5 V, въпреки че хардуерът Atmel-ICE не може да изведе по-висок обемtage от 5.0V. Максималната работна честота варира в зависимост от използвания целеви интерфейс.
5.4.2. Целеви конектори Atmel-ICE
Atmel-ICE нямат активна сонда. 50-милиметров IDC кабел се използва за свързване към целевото приложение или директно, или чрез адаптерите, включени в някои комплекти. За повече информация относно окабеляването и адаптерите вижте раздел Сглобяване на Atmel-ICE
5.4.3. Atmel-ICE Целеви конектори Номера на части
За да свържете Atmel-ICE 50-mil IDC кабел директно към целева платка, трябва да е достатъчен всеки стандартен 50-mil 10-пинов конектор. Препоръчително е да използвате заглавки с ключ, за да осигурите правилна ориентация при свързване към целта, като тези, използвани на адаптерната платка, включена в комплекта.
Номерът на частта за тази глава е: FTSH-105-01-L-DV-KAP от SAMTEC

Софтуерна интеграция

6.1. Atmel Studio
6.1.1. Софтуерна интеграция в Atmel Studio
Atmel Studio е интегрирана среда за разработка (IDE) за писане и отстраняване на грешки на Atmel AVR и Atmel SAM приложения в среди на Windows. Atmel Studio предоставя инструмент за управление на проекти, източник file редактор, симулатор, асемблер и интерфейс за C/C++, програмиране, емулация и отстраняване на грешки в чип.
Atmel Studio версия 6.2 или по-нова трябва да се използва заедно с Atmel-ICE.
6.1.2. Опции за програмиране
Atmel Studio поддържа програмиране на Atmel AVR и Atmel SAM ARM устройства с помощта на Atmel-ICE. Диалоговият прозорец за програмиране може да бъде конфигуриран да използва JTAG, aWire, SPI, PDI, TPI, SWD режими, според избраното целево устройство.
При конфигуриране на тактовата честота се прилагат различни правила за различните интерфейси и целеви семейства:

  • SPI програмирането използва целевия часовник. Конфигурирайте тактовата честота да бъде по-ниска от една четвърт от честотата, на която целевото устройство работи в момента.
  • JTAG програмирането на устройства Atmel megaAVR се тактова от Това означава, че тактовата честота на програмиране е ограничена до максималната работна честота на самото устройство. (Обикновено 16MHz.)
  • Програмиране на AVR XMEGA на двете JTAG и PDI интерфейсите се клокват от програмиста. Това означава, че тактовата честота за програмиране е ограничена до максималната работна честота на устройството (обикновено 32MHz).
  • AVR UC3 програмиране на JTAG интерфейсът се тактова от програмиста. Това означава, че програмната тактова честота е ограничена до максималната работна честота на самото устройство. (Ограничено до 33MHz.)
  • Програмирането на AVR UC3 на интерфейса Wire се тактова от Оптималната честота се дава от скоростта на шината SAB в целевото устройство. Дебъгерът Atmel-ICE автоматично ще настрои скоростта на предаване на aWire, за да отговаря на този критерий. Въпреки че обикновено не е необходимо, потребителят може да ограничи максималната скорост на предаване, ако е необходимо (напр. в шумна среда).
  • Програмирането на SAM устройство на SWD интерфейс се тактова от програмиста. Максималната честота, поддържана от Atmel-ICE, е 2MHz. Честотата не трябва да надвишава целевата честота на процесора, умножена по 10, fSWD ≤ 10fSYSCLK.

6.1.3.Опции за отстраняване на грешки
При отстраняване на грешки на Atmel AVR устройство с помощта на Atmel Studio, раздела „Инструмент“ в свойствата на проекта view съдържа някои важни опции за конфигурация. Опциите, които се нуждаят от допълнително обяснение, са описани тук.
Целева тактова честота
Точното задаване на целевата тактова честота е жизненоважно за постигане на надеждно отстраняване на грешки на Atmel megaAVR устройство през JTAG интерфейс. Тази настройка трябва да бъде по-малка от една четвърт от най-ниската работна честота на вашето AVR целево устройство в приложението, в което се отстраняват грешки. Вижте Специални съображения за megaAVR за повече информация.
Сесиите за отстраняване на грешки на целевите устройства debugWIRE се тактират от самото целево устройство и следователно не е необходима настройка на честотата. Atmel-ICE автоматично ще избере правилната скорост на предаване за комуникация в началото на сесията за отстраняване на грешки. Въпреки това, ако изпитвате проблеми с надеждността, свързани с шумна среда за отстраняване на грешки, някои инструменти предлагат възможността да принудите скоростта на debugWIRE до част от нейната „препоръчителна“ настройка.
Сесиите за отстраняване на грешки на AVR XMEGA целеви устройства могат да бъдат тактовани до максималната скорост на самото устройство (обикновено 32MHz).
Сесии за отстраняване на грешки на AVR UC3 целеви устройства през JTAG интерфейсът може да бъде тактован до максималната скорост на самото устройство (ограничена до 33MHz). Оптималната честота обаче ще бъде малко под текущия SAB часовник на целевото устройство.
Сесиите за отстраняване на грешки на UC3 целеви устройства през интерфейса aWire ще бъдат автоматично настроени на оптималната скорост на предаване от самия Atmel-ICE. Въпреки това, ако имате проблеми с надеждността, свързани с шумна среда за отстраняване на грешки, някои инструменти предлагат възможност за принудително намаляване на скоростта на aWire под конфигурируемо ограничение.
Сесиите за отстраняване на грешки на SAM целеви устройства през SWD интерфейса могат да бъдат тактовани до десет пъти по-високи от тактовата честота на процесора (но ограничени до 2MHz максимум.)
Запазете EEPROM
Изберете тази опция, за да избегнете изтриване на EEPROM по време на препрограмиране на целта преди сесия за отстраняване на грешки.
Използвайте външно нулиране
Ако вашето целево приложение деактивира JTAG интерфейс, външното нулиране трябва да бъде изтеглено ниско по време на програмиране. Избирането на тази опция избягва многократното питане дали да използвате външното нулиране.
6.2 Помощна програма за команден ред
Atmel Studio идва с помощна програма за команден ред, наречена atprogram, която може да се използва за програмиране на цели с помощта на Atmel-ICE. По време на инсталацията на Atmel Studio се появява пряк път, наречен „Atmel Studio 7.0. Command Prompt“ са създадени в папката Atmel в менюто „Старт“. Чрез двукратно щракване върху този пряк път ще се отвори команден ред и ще могат да се въвеждат команди за програмиране. Помощната програма за команден ред е инсталирана в пътя за инсталиране на Atmel Studio в папката Atmel/Atmel Studio 7.0/atbackend/.
За да получите повече помощ за помощната програма на командния ред, въведете командата:
atprogram –помощ

Усъвършенствани техники за отстраняване на грешки

7.1. Цели Atmel AVR UC3
7.1.1. Използване на EVTI / EVTO
Изводите EVTI и EVTO не са достъпни на Atmel-ICE. Въпреки това, те все още могат да се използват заедно с друго външно оборудване.
EVTI може да се използва за следните цели:

  • Целта може да бъде принудена да спре изпълнението в отговор на външно събитие. Ако битовете за контрол на събитието (EIC) в DC регистъра са записани в 0b01, преходът от високо към ниско на EVTI пин ще генерира условие за точка на прекъсване. EVTI трябва да остане нисък за един тактов цикъл на процесора, за да се гарантира, че точката на прекъсване е Битът за външна точка на прекъсване (EXB) в DS е зададен, когато това се случи.
  • Генериране на съобщения за синхронизиране на проследяване. Не се използва от Atmel-ICE. EVTO може да се използва за следните цели:
  • Индикация, че процесорът е влязъл в отстраняване на грешки Задаването на EOS битовете в DC на 0b01 кара EVTO щифта да бъде изтеглен ниско за един тактов цикъл на процесора, когато целевото устройство влезе в режим на отстраняване на грешки. Този сигнал може да се използва като източник на задействане за външен осцилоскоп.
  • Показва, че процесорът е достигнал точка на прекъсване или точка на наблюдение. Чрез задаване на EOC бита в съответния контролен регистър на точка на прекъсване/точка на наблюдение, състоянието на точката на прекъсване или точката на наблюдение се показва на EVTO пин. EOS битовете в DC трябва да бъдат зададени на 0xb10, за да активирате тази функция. След това щифтът EVTO може да бъде свързан към външен осцилоскоп, за да се изследва точката на наблюдение
  • Генериране на времеви сигнали за проследяване. Не се използва от Atmel-ICE.

7.2 debugWIRE цели
7.2.1.debugWIRE точки на прекъсване на софтуера
DebugWIRE OCD е драстично намален в сравнение с Atmel megaAVR (JTAG) OCD. Това означава, че той няма компаратори на точки на прекъсване на брояча на програмата, достъпни за потребителя за целите на отстраняване на грешки. Един такъв компаратор наистина съществува за целите на изпълнение до курсор и едностъпкови операции, но допълнителни потребителски точки на прекъсване не се поддържат в хардуера.
Вместо това дебъгерът трябва да използва инструкцията AVR BREAK. Тази инструкция може да бъде поставена във FLASH и когато бъде заредена за изпълнение, тя ще накара процесора на AVR да влезе в спрян режим. За да поддържа точки на прекъсване по време на отстраняване на грешки, дебъгерът трябва да вмъкне инструкция BREAK във FLASH в точката, в която потребителите поискат точка на прекъсване. Оригиналната инструкция трябва да се кешира за по-късна подмяна.
Когато преминава еднократно през инструкция BREAK, дебъгерът трябва да изпълни оригиналната кеширана инструкция, за да запази поведението на програмата. В екстремни случаи BREAK трябва да се премахне от FLASH и да се смени по-късно. Всички тези сценарии могат да причинят очевидни закъснения при еднократно преминаване от точки на прекъсване, което ще се влоши, когато целевата тактова честота е много ниска.
Затова се препоръчва да се спазват следните указания, когато е възможно:

  • Винаги изпълнявайте целта на възможно най-висока честота по време на отстраняване на грешки. Физическият интерфейс debugWIRE се тактова от целевия часовник.
  • Опитайте се да сведете до минимум броя на добавянията и премахванията на точки на прекъсване, тъй като всяко от тях изисква FLASH страница да бъде заменена на целта
  • Опитайте се да добавите или премахнете малък брой точки на прекъсване наведнъж, за да минимизирате броя на операциите за запис на FLASH страница
  • Ако е възможно, избягвайте поставянето на точки на прекъсване върху инструкции с две думи

История на изданията и известни проблеми

8.1 История на изданията на фърмуера
Таблица 8-1. Публични ревизии на фърмуера

Версия на фърмуера (десетична) Дата

Съответни промени

1.36 29.09.2016 Добавена е поддръжка за UPDI интерфейс (устройства tinyX)
Размерът на USB крайната точка е конфигурируем
1.28 27.05.2015 Добавена е поддръжка за SPI и USART DGI интерфейси.
Подобрена скорост на SWD. Корекции на малки грешки.
1.22 03.10.2014 Добавено профилиране на код.
Коригиран проблем, свързан с JTAG последователни вериги с повече от 64 бита инструкции.
Корекция за разширение за нулиране на ARM. Фиксиран проблем със захранването на целта.
1.13 08.04.2014 JTAG фиксиране на тактовата честота.
Поправка за debugWIRE с дълъг SUT.
Фиксирана команда за калибриране на осцилатор.
1.09 12.02.2014 Първо издание на Atmel-ICE.

8.2 Известни проблеми, свързани с Atmel-ICE
8.2.1.Общи положения

  • Първоначалните партиди Atmel-ICE имаха слаб USB. Беше направена нова ревизия с нов и по-здрав USB конектор. Като временно решение е нанесено епоксидно лепило върху вече произведените модули от първата версия за подобряване на механичната стабилност.

8.2.2. Специфични проблеми за Atmel AVR XMEGA OCD

  • За фамилията ATxmegaA1 се поддържа само версия G или по-нова

8.2.1. Atmel AVR – Проблеми, специфични за устройството

  • Цикълът на захранване на ATmega32U6 по време на сесия за отстраняване на грешки може да доведе до загуба на контакт с устройството

Съответствие на продукта

9.1. RoHS и WEEE
Atmel-ICE и всички аксесоари са произведени в съответствие както с Директивата RoHS (2002/95/EC), така и с Директивата WEEE (2002/96/EC).
9.2. CE и FCC
Модулът Atmel-ICE е тестван в съответствие със съществените изисквания и други приложими разпоредби на директивите:

  • Директива 2004/108/ЕО (клас B)
  • FCC част 15 подчаст B
  • 2002/95/EC (RoHS, WEEE)

За оценка се използват следните стандарти:

  • EN 61000-6-1 (2007)
  • EN 61000-6-3 (2007) + A1 (2011)
  • FCC CFR 47 част 15 (2013)

Техническата конструкция File се намира на:
Положени са всички усилия за минимизиране на електромагнитните емисии от този продукт. Въпреки това, при определени условия, системата (този продукт, свързан към верига за целево приложение) може да излъчва честоти на отделни електромагнитни компоненти, които надвишават максималните стойности, разрешени от горепосочените стандарти. Честотата и големината на емисиите ще се определят от няколко фактора, включително оформление и маршрут на целевото приложение, с което се използва продуктът.

История на ревизиите

Док. Rev.

Дата

Коментари

42330C 10/2016 Добавен UPDI интерфейс и актуализирана хронология на изданията на фърмуера
42330B 03/2016 • Преработена глава за отстраняване на грешки в чип
• Ново форматиране на хронологията на изданията на фърмуера в раздела Хронология на изданията и Известни проблеми
• Добавена разводка на кабела за отстраняване на грешки
42330A 06/2014 Първоначално издаване на документ

Atmel®, лого на Atmel и комбинации от тях, позволяващи неограничени възможности®, AVR®, megaAVR®, STK®, tinyAVR®, XMEGA®, и други са регистрирани търговски марки или търговски марки на Atmel Corporation в САЩ и други страни. ARM®, ARM свързан® лого, Cortex®, и други са регистрирани търговски марки или търговски марки на ARM Ltd. Windows® е регистрирана търговска марка на Microsoft Corporation в САЩ и други страни. Други термини и имена на продукти може да са търговски марки на други.
ОТКАЗ ОТ ОТГОВОРНОСТ: Информацията в този документ е предоставена във връзка с продуктите на Atmel. Този документ или във връзка с продажбата на продуктите на Atmel не предоставя никакъв лиценз, изричен или подразбиращ се, чрез изключване или по друг начин, за право на интелектуална собственост. ОСВЕН КАКВОТО Е ПОСОЧЕНО В ПРАВИЛАТА И УСЛОВИЯТА ЗА ПРОДАЖБА НА ATMEL, РАЗПОЛОЖЕНИ В ATMEL WEBСАЙТ, ATMEL НЕ ПОЕМА НИКАКВА ОТГОВОРНОСТ И ОТХВЪРЛЯ ИЗРИЧНА, КОСВЕНА ИЛИ ЗАКОНОВА ГАРАНЦИЯ, СВЪРЗАНА С НЕГОВИТЕ ПРОДУКТИ, ВКЛЮЧИТЕЛНО, НО НЕ САМО, КОСВЕНАТА ГАРАНЦИЯ ЗА ПРОДАВАЕМОСТ, ГОДНОСТ ЗА ОПРЕДЕЛЕНА ЦЕЛ ИЛИ НЕНАРУШЕНИЕ . В НИКАКЪВ СЛУЧАЙ ATMEL НЕ НОСИ ОТГОВОРНОСТ ЗА КАКВИТО И ДА БИЛО ПРЯКИ, КОСВЕНИ, ПОСЛЕДВАЩИ, НАКАЗАТЕЛНИ, СПЕЦИАЛНИ ИЛИ СЛУЧАЙНИ ЩЕТИ (ВКЛЮЧИТЕЛНО, БЕЗ ОГРАНИЧЕНИЕ, ЩЕТИ ЗА ЗАГУБИ И ПЕЧАЛБИ, ПРЕКЪСВАНЕ НА БИЗНЕС ИЛИ ЗАГУБА НА ИНФОРМАЦИЯ), ПРОИЗТИЧАЩИ ОТ УПОТРЕБАТА ИЛИ НЕВЪЗМОЖНОСТ ЗА ИЗПОЛЗВАНЕ ТОЗИ ДОКУМЕНТ, ДОРИ АКО ATMEL Е БИЛ СЪВЕТЕН
ЗА ВЪЗМОЖНОСТТА ЗА ТАКИВА ЩЕТИ. Atmel не дава никакви декларации или гаранции по отношение на точността или пълнотата на съдържанието на този документ и си запазва правото да прави промени в спецификациите и описанията на продуктите по всяко време без предизвестие. Atmel не поема никакъв ангажимент да актуализира информацията, съдържаща се тук. Освен ако изрично не е предвидено друго, продуктите на Atmel не са подходящи и не трябва да се използват в автомобилни приложения. Продуктите на Atmel не са предназначени, разрешени или гарантирани за употреба като компоненти в приложения, предназначени да поддържат или поддържат живота.
ОТКАЗ ОТ ОТГОВОРНОСТ ЗА КРИТИЧНИ ЗА БЕЗОПАСНОСТТА, ВОЕННИ И АВТОМОБИЛНИ ПРИЛОЖЕНИЯ: Продуктите на Atmel не са проектирани и няма да се използват във връзка с приложения, при които повредата на такива продукти би могло разумно да се очаква да доведе до значителни лични наранявания или смърт („Критично за безопасността“ Приложения”) без изричното писмено съгласие на служител на Atmel. Приложенията с критично значение за безопасността включват, без ограничение, животоподдържащи устройства и системи, оборудване или системи за експлоатация на ядрени съоръжения и оръжейни системи. Продуктите на Atmel не са проектирани, нито предназначени за използване във военни или аерокосмически приложения или среди, освен ако изрично не са определени от Atmel като военни. Продуктите на Atmel не са проектирани, нито предназначени за използване в автомобилни приложения, освен ако изрично не са определени от Atmel като автомобилни.

Лого на AtmelAtmel Corporation
1600 Technology Drive, Сан Хосе, Калифорния 95110 САЩ
Т: (+1)(408) 441.0311
F: (+1)(408) 436.4200
www.atmel.com
© 2016 Atmel Corporation.
Rev.: Atmel-42330C-Atmel-ICE_Ръководство за потребителя-10/2016
Програмистите Atmel-ICE Debugger - икона 2

Документи / Ресурси

Atmel Програмистите за дебъгер Atmel-ICE [pdf] Ръководство за потребителя
Програмистите Atmel-ICE Debugger, Atmel-ICE, програмисти Debugger, Програмисти

Референции

Оставете коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са маркирани *