Руководство пользователя. Содержание Раздел 1 Введение ............................................................................. 1-1 1.1 Комплект устройства..........................................................................1-1 1.2 JTAG ICE и понятие OCD (On-chip Debugging) ...............................1-2 1.2.4.1 Программные точки останова……..............................................1-3 1.2.4.2 Аппаратные точки останова….....................................................1-3 1.3 Поддерживаемые устройства............................................................1-4 Раздел 2 Начало работы..................................................................... 2-1 2.1 Распаковка системы...........................................................................2-1 2.2 Системные требования......................................................................2-1 2.3 Подключение JTAG ICE......................................................................2-2 2.4 Подключение питания........................................................................2-3 Раздел 3 Программное обеспечение ................................................ 3-1 3.1 Установка AVR студия ......................................................................3-1 3.2 Отладка на-кристалле с помощью JTAG ICE .................................3-1 3.2.3.1 Непрерывная работа таймеров в пошаговом режиме………...3-3 3.2.3.2 Частота связи при OCD. .............................................................3-3 3.2.4 Аппаратные точки останова…………………….……………………3-3 3.2.5 Программные точки останова……….…………………………….…3-3 3.2.5.1 Опция 1………. ............................................................................3-4 3.2.5.2 Опция 2 ……….............................................................................3-4 3.2.5.3 Опция 3.........................................................................................3-4 3.2.6.1 Точка останова в памяти данных…............................................3-4 3.2.6.2 Маскирование точек останова …………….................................3-4 3.2.6.2.1 Пример 1....................................................................................3-6 3.2.6.2.2 Пример 2....................................................................................3-6 3.2.6.2.3 Пример 3....................................................................................3-6 3.2.6.3 Останов при изменении хода программы.................................3-6 3.3 Программирование с помощью JTAG ICE.......................................3-7 Раздел 4 Особенности…………………................................................ 4-1 4.1 Устройства ввода - вывода ...............................................................4-1 4.2 Пошаговый режим..............................................................................4-1 4.3 Программные точки останова...........................................................4-2 4.4 Сброс целевого устройства и понижение питания во время отладки.................................................................... 4-2 4.5 Установка Fuse-битов имеющих отношение к JTAG......................4-2 4.6 Использование AVR студии 3.52 или выше....................................4-2 4.7 Окно сообщений ...............................................................................4-2 4.8 JTAG ICE не поддерживает устройства в цепочке JTAG.............. 4-2 4.9 Доступ к регистрам ввода/вывода...................................................4-2 4.10 Альтернативные функции выводов JTAG при использовании интерфейса JTAG ............................................... 4-2 4.11 Проверка Flash ...............................................................................4-2 Раздел 5 Аппаратное описание ....................................................... 5-1 5.1 Описание платы...............................................................................5-1 5.2 Модуль связи ...................................................................................5-1 5.3 Модуль управления.........................................................................5-2 5.4 Преобразователь уровней...............................................................5-2 5.5 Электропитание…..........................................................................5-4 5.6 Адаптер JTAG ................................................................................5-4 Раздел 6 Технические данные ........................................................ 6-1 Раздел 7 Техническая поддержка..................................................... 7-1 Раздел 1 Введение Поздравляем с покупкой AVR®JTAG ICE. JTAG ICE – средство для отладки на-кристалле(On-chip Debugging ) всех 8разрядных AVR микроконтроллеров с интерфейсом JTAG. Интерфейс JTAG – 4-проводный порт тестового доступа (Test Access Port (TAP)), который является разновидностью стандарта IEEE 1149.1. Стандарт IEEE был разработан, для того чтобы получить стандартный способ эффективного соединения платы тестируемой схемы. Atmel AVR устройства имеют расширенные функциональные возможности для полного программирования и поддержки отладки на кристалле. JTAG ICE использует стандартный интерфейс JTAG, для эмуляции микроконтроллера, работающего в целевой системе, в реальном времени. Протокол AVR On-chip Debug (AVROCD) дает пользователю полный контроль над внутренними ресурсами AVR микроконтроллера. JTAG ICE занимает свое место среди традиционных эмуляторов. 1.1 Особенности устройства • Совместимость с AVR студией • Поддерживает все AVR МК с интерфейсом JTAG • Точные электрические характеристики • Эмулирует все цифровые и аналоговые функции кристалла • Останов при изменении хода программы • Точки останова в памяти данных и программной памяти • Поддержка ассемблера и HLL отладки на уровне источника • RS-232 Интерфейс к ПК для программирования и управления • Стабилизированный источник питания на 9-15 В постоянного тока JTAG ICE поддерживается AVR студией 3.52 или выше. Для получения более новой информации на это и другие AVR изделия, пожалуйста, читайте документ “avrtools.pdf”. Последняя версия AVR студии, “avrtools.pdf” и этого руководства по эксплуатации может быть найдена в разделе AVR на сайте фирмы Atmel (www.atmel.com). 1-1 рис.1-1. JTAG ICE. 1.2 JTAG ICE и понятие OCD В этой главе объясняется понятие "отладка на кристалле"(On-chip Debugging OCD), используемая JTAG ICE и объясняет, чем отладка на-кристалле отличается от других внутрисхемных эмуляторов ("In-Сircuit Emulator" ICE). 1.2.1 Эмуляция против OCD Внутрисхемный эмулятор - прибор, построенный, чтобы эмулировать работу отдельного устройства или группы устройств. Например, при эмуляции ATMEGA323, эмулятор аппаратно пытается имитировать точную работу этого устройства. Чем ближе эта работа к реальной работе устройства, тем лучше эмулятор. На рисунке 1-2 показана упрощенная блок-схема этого традиционного эмулятора. рис.1-2. Блок-схема традиционного эмулятора. JTAG ICE использует различные подходы. JTAG ICE подключается с помощью интерфейса к внутренней OCD системе AVR микроконтроллера, и обеспечивает управление и контроль за выполнением программы в самом AVR МК через интерфейс JTAG (IEEE1149.1). Существует несколько способов работы JTAG ICE. Во всех AVR устройствах с JTAG интерфейсом есть вмонтированная логическая схема отладки на-кристалле OCD, с которой соединяется JTAG ICE. Эта логическая схема OCD может использоваться для управления выполнением программы в целевом устройстве. В то время, как традиционный эмулятор подражает работе устройства, JTAG ICE берет под свой контроль устройство и выполнение программы (кода) в этом МК. На рисунке 1-3 показана блок-схема системы OCD. 1-2 рис.1-3. Блок-схема системы OCD. С помощью системы OCD достигаются точные электрические и временные характеристики. С другой стороны, традиционный эмулятор может обеспечить дополнительный контроль за внутренними ресурсами устройства. Буфер трассировки не доступен системе OCD AVR МК. Примечание: Применяются некоторые ограничения. См. раздел “Специальные рассмотрения ” для получения большей информации. При отладке программы(кода), важно знать способ, который использует JTAG ICE. В следующих подразделах рассматриваются некоторые из них. 1.2.2 Рабочий режим. В этом режиме, выполнение программы не зависит от JTAG ICE. JTAG ICE будет непрерывно опрашивать AVR МК, чтобы увидеть, выполнилось ли условие останова. Когда это случается, OCD система считает все необходимые данные - счетчик команд, регистры ввода вывода, EEPROM, регистры управления, и содержание SRAM, и передаст их в AVR студию через интерфейс JTAG. Так как AVR МК функционирует независимо, то нельзя отследить, какой код был выполнен до точки останова. 1.2.3 Режим останова. Когда точка останова достигнута, выполнение программы останавливается, но весь ввод - вывод продолжает выполняться, как будто не было останова. Например, примем, что была инициирована передача USART, когда была достигнута точка останова. При использовании традиционного эмулятора ICE, работа была бы остановлена, и пошаговое продвижение через код дало бы точную комбинацию двоичных разрядов на выводе TxD. При использовании JTAG ICE, USART продолжает передачу на полной скорости. 1.2.4 Точки останова. AVR OCD система различает два типа точек останнова: программные и аппаратные точки останова. 1.2.4.1 Программные точки останова. Программная точка останова - команда останова, помещенная во Flash память. Когда эта команда выполнится, то выполнение программы остановится. При задании в AVR студии точки останова на команде, эта команда физически заменится во Flash памяти AVR микроконтроллера, командой останова. При достижении этой команды работа программы будет остановлена. Чтобы продолжить выполнение должна быть дана команда старта от логической схемы OCD. Когда начинается выполнение то, команда, замененная программной командой останова выполнится прежде, чем продолжится выполнение команд из Flash памяти. 1-3 1.2.4.2 Аппаратные точки останова. В OCD логической схеме есть 4 регистра, каждый из которых способен хранить один адрес. JTAG ICE постоянно использует один из этих регистров в пошаговом режиме. 3 другие могут быть использованы, чтобы генерировать условия останова. В разделе 3.2.4 детально описываются различные способы использования этих регистров. Программная точка останова требует перепрограммирования полной страницы Flash памяти, поэтому при частом изменении точек останова рекомендуется применение аппаратных точек останова. 1.2.5 Регистры ввода/вывода. Ввод/вывод при достижении точки останова продолжается, поэтому с помощью JTAG ICE нельзя прочитать содержимое всех регистров, так как это может изменить их содержимое (например, чтение регистра данных USART, очистит бит RXC). Список всех недоступных регистров приведен в разделе "Особенности". 1.2.6 Пошаговый режим. Некоторые регистры должны прочитаться или записаться через определенное количество циклов после поступления сигнала управления. Тактовый генератор ввода/вывода и внешние устройства продолжают работать на полной скорости, несмотря на пошаговый режим, поэтому при останове на каждом шаге не будут выполнены временные требования. Для чтения или записи таких регистров, команды последовательности чтения и записи должны выполняться на полной скорости, для этого используйте макрокоманды, call или run-to-cursor. Для получения более подробной информации по “ JTAG интерфейсу и Системе Отладки На-кристалле ” см. соответствующее описание. 1.3 Поддерживаемые устройства. JTAG ICE поддерживает все 8-разрядные AVR микроконтроллеры со встроенным JTAG. Поддержка новых устройств будет добавляться в AVR студию. Последняя версия AVR студии доступна на www.atmel.com. рис.1-4. Эмуляция с помощью JTAG Список поддерживаемых устройств может быть найден в системе помощи AVR студии. AVR студия автоматически сообщит пользователю, если имеется более новая версия JTAG ICE. 1-4 Раздел 2 Начало работы 2.1 Распаковка системы. Комплект включает в себя следующие элементы: • JTAG ICE с кабелем и адаптер JTAG с двумя 10-контактными разъемами • Руководство пользователя JTAG ICE • 9-контактный кабель RS232 • Кабель питания постоянного тока • Atmel CD-ROM с техническими описаниями и программным обеспечением рис.2-1 Комплект JTAG ICE 2.2 Системные требования Минимальные аппаратные и программные требования: • 486 Процессор (Pentium рекомендуется) • Оперативная память 16 Мбайт • 16 Мбайт свободного пространства жесткого диска • Windows ® 95/98/2000, или Windows NT ® 4.0 или выше • 115200 бод RS-232 (COM Порт) • 9-15В Источник питания постоянного тока, 60 mA минимум. 2.3 Соединение JTAG ICE Перед запуском AVR студии, JTAG ICE должен быть соединен с ПК и платой устройства. Все соединения должны быть сделаны перед запуском AVR студии, чтобы AVR студия могла их автоматически определить. 2.3.1 Подключение JTAG ICE к ПК В JTAG ICE для подключения используется стандартный порт RS232. Подключите кабель RS-232 к JTAG ICE и свободному COM порту на ПК. AVR студия автоматически переберет доступные COM порты и обнаружит поддерживаемые устройства. Если другие программы или устройства управляют COM портами, то они должны быть выключены перед запуском AVR студии. 2-1 AVR студия не может управлять COM портом, если этот порт управляется другими устройствами (например, модем, IrDA, PDA и т.д.). 2.3.2 Подключение JTAG ICE к целевой плате устройства. Требуется минимум 6 проводов для подключения JTAG ICE к целевой плате устройства. Это сигналы: TCK, TDO, TDI, TMS, VTref и GND. Необязательные линии: Vsupply и nSRST. Сигнал nTRST не используется, но зарезервирован для совместимости с другим оборудованием. - Vsupply должен использоваться, если целевая плата устройства обеспечивает питанием JTAG ICE. - nSRST используется для управления и контроля линии сброса целевого МК. Но он необязателен для эмуляции. Если программа приложения устанавливает бит JTD в MCUCSR, то JTAG интерфейс будет недоступен. В этом случае необходимо перепрограммировать AVR МК, при этом необходимо управлять выводом RESET микроконтроллера. На следующих примерах показано 6-проводное соединение МК и JTAG ICE (показано сплошными линиями на рисунке 2 -2). На рисунке 2 -2 показано, как линии JTAG должны быть правильно соединены с AVR МК. Чтобы избежать "дребезга на линиях", поместите добавочные резисторы между JTAG и внешней схемой. Величина резисторов должна быть такой, чтобы значения тока уровней «0» и «1» не выходили за допустимые пределы. Более подробное описание аппаратных средств, приведенное в разделе 5.4. Примечание: JTAG ICE не поддерживает несколько устройств подключенных к цепи JTAG. То есть только один МК должен быть подключен к JTAG ICE. рис.2-2. Подключение JTAG ICE к целевому МК 2-2 2.3.3 Подключение JTAG ICE к STK500 STK500 не имеет разъема интерфейса JTAG. Для подключения JTAG ICE к STK500 может использоваться поставляемый с STK500 адаптер JTAG. Этот адаптер поддерживает ATMEGA323, ATmega32, и ATMEGA16. Альтернативой этому может быть подключение пробника JTAG к соответствующим выводам порта JTAG целевого МК. Прочитайте описание этих МК для определения расположения выводов JTAG. На рисунке 2-3 показано, как должны быть соединены выводы на примере ATMEGA323. Не забудьте удалить перемычку сброса на STK500, если вывод сброса будет управляться от JTAG ICE. Примечание: STK501 имеет разъем интерфейса JTAG. рис.2-3. Подключение JTAG ICE к STK500 c помощью ATMEGA323. Таблица 2-1. Подключение JTAG ICE к STK500 c помощью ATMEGA323. 2.4 Подключение питания Напряжение к JTAG ICE может быть приложено от внешнего источника либо от целевой платы. Соединитель питания работает подобно переключателю, при выборе между подключением к внешнему питанию или питанию от целевого устройства. 2.4.1 Питание от целевого приложения Когда питание поступает к JTAG ICE от VDD целевого МК то: - Напряжение целевого МК должно быть от 3V до 5.5V. - Для JTAG ICE необходимо по крайней мере 220 mA 3.3V или 120 mA 5.5V . Если эти требования не могут быть выполнены, то должно быть подключено внешнее электропитание. Всегда используйте внешнее электропитание для JTAG ICE, если напряжение МК будет меняться во время отладки. 2-3 2.4.2 Использования внешнего электропитания Диапазон напряжения внешнего электропитания показан в таблице 2-2. Таблица 2-2. Уровни напряжений внешнего питания. Когда JTAG ICE соединен с PC и целевой платой, питание может быть включено. Рекомендуется следующая последовательность действий: 1. Включить питание на целевой плате 2. Включить питание JTAG ICE 3. Запустить AVR студию Если питание JTAG ICE поступает с целевой платы, то питание будет включаться автоматически правильно при включении напряжения на целевой плате. рис.2-4. Подключение питания. Оборудование не будет повреждено при другой последовательности включения, но могут возникнуть проблемы со связью между AVR студией и JTAG ICE. Если это случается, то рекомендуется выше приведенная последовательность включения питания. 2-4 Раздел 3 Программное обеспечение Этот раздел охватывает все особенности препроцессора отладки на кристалле при использовании AVR студии и JTAG ICE. Общие темы AVR студии охвачены в системе помощи студии. 3.1 Установка AVR студии AVR студия, с ее Интегрированной средой разработки (IDE), является идеальным программным обеспечением для всех AVR разработок. В AVR студию входят: редактор, ассемблер и отладчик, и внешний интерфейс для всех AVR эмуляторов и комплекта JTAG ICE. Чтобы установить AVR студию, вставьте Atmel CD-ROM в компьютер и выберете " Products > AVR 8-bit RISC > Software ". Щелкните правой кнопкой мыши на файл "AVRstudio.exe" и выберете " save link as ". Выберите пустой каталог, и сохраните файл. Запустите "AVRSTUDIO.EXE" файл; это - самораспаковывающийся архив, который распакуется в текущую директорию. Запустите файл "Setup.exe". Примечание: Только AVR студия версии 3.51 или выше поддерживает JTAG ICE. Самый последняя версия AVR Студии может быть найдена в AVR секции на сайте фирмы Atmel(www.atmel.com) 3.2 Отладка на кристалле с помощью JTAG ICE Предполагается, что читатель имеет общее представление о том, как использовать AVR студию. Для получения большей информации об общем использовании AVR Студии, пожалуйста, смотрите в диалоговом окне системы помощи AVR студии. Этот раздел охватывает только определенные темы, связанные с JTAG ICE. 3.2.1 Соединение системы На рисунке 2-4 показаны соединения в системе для правильной связи между целевой платой, JTAG ICE и AVR студией. 3.2.2 Запуск программного обеспечения После того как система правильно соединена и включено питание, должна быть запущена AVR Студия. Откройте проект, и AVR студия будет искать COM порт, к которому подключен JTAG ICE. Обратите внимание, что AVR Студия последовательно опрашивает COM порты. Если другое отладочное оборудование Atmel связано с COM портами, удостоверитесь, что оно выключено, или разъединено, так как AVR студия будет искать поддерживаемые AVR отладочные средства, и соединится с первым попавшимся. Примечание: Удостоверитесь, что никакие другие устройства или приложения не управляют выбранным COM портом. JTAG ICE будет обнаружен, если включено питание на целевой плате. Если есть питание, то JTAG ICE будет читать JTAG ID (Идентификационный номер) целевого МК. Если JTAG ICE не считывает JTAG ID, то может быть следующее: 3-1 1. Целевой МК не соединен с JTAG ICE. Решение: Проверьте, что JTAG ICE правильно соединен с AVR МК. 2. Fuse бит интерфейса JTAG не разрешен в целевом МК. Решение: Используйте другой интерфейс (например, ISP) чтобы проверить, что fuse бит разрешает использование JTAG. 3. Fuse биты разрешают использование интерфейса JTAG, но программа целевого МК установила бит JTD (JTAG Disable) в регистре MCUCSR. Решение: Удерживайте AVR МК в состоянии сброса для того, чтобы предотвратить установку JTD бита программой приложения. Если линия сброса целевого AVR МК связана с JTAG ICE, JTAG ICE может держать линию сброса в течение перепрограммирования, так долго, как выбрано в опции Hold Reset. Когда JTAG ID считывается успешно, JTAG ICE будет считывать установки lock битов. Если lock биты установлены, то, прежде чем продолжить, JTAG ICE должен произвести стирание кристалла целевого МК. Затем JTAG ICE автоматически разрешит fuse внутрикристальной отладки в целевом МК. Обратите внимание, что JTAG ICE автоматически запретит fuse OCD(отладку на кристалле), когда отладка будет закончена, и проект закрыт. AVR Студия тогда представит окно диалога, показанное на рисунке 3-1. рис. 3-1. Чтобы гарантировать правильную связь между JTAG ICE и целевым AVR МК, частота связи OCD JTAG ICE должна быть меньше или равна 1/4 частоты целевого МК. Есть также опция для изменения состояния "preserve eeprom bit" на AVR МК перед тем как JTAG ICE выполнит стирание кристалла. После выполнения стирания кристалла AVR МК, JTAG ICE отпустит линию сброса, если она ранее удерживалась. Затем код будет загружен во Flash. Обратите внимание, что для оптимизации скорости, программирование Flash не проверяется на этой стадии. Основываясь на JTAG ID целевого микроконтроллера, AVR Студия сконфигурирует правильный вид ввода/вывода и соответствующие установки. 3.2.3 Опции отладки на кристалле Для доступа к опциям отладки на кристалле во время отладки используйте меню: Options >=On-chip Debugger Options. 3-2 рис.3-2. Опции отладки на кристалле. 3.2.3.1 Непрерывная работа таймеров в пошаговом режиме. Этот режим позволяет таймерам продолжать работу с их нормальной скоростью при остановах на каждой команде. Если этот режим не задан, таймеры будут инкрементироваться только при отработке кода очередной команды. Нажмите “Connection Options” для входа в эти опции внутрисхемной отладки. 3.2.3.2 Частота связи при внутрисхемной отладке. Важно, чтобы частота OCD была максимум 1/4 частоты целевого микроконтроллера. Если JTAG ICE связывается на более высокой скорости, чем AVR МК; связь будет неудачной. Если пользователь определяет очень низкую частоту OCD, связь будет работать, но будут вставлены ненужные задержки. Есть также опция, изменяющая значение "защитного" бита EEPROM в целевом AVR МК. 3.2.4 Аппаратные точки останова JTAG ICE имеет уникальную систему останова, которая поддерживает точки останова. JTAG ICE имеет ограниченное число аппаратных точек. Доступны 3 аппаратные точки останова. Кроме того, есть специальная опция "break on change of program flow" (останов при изменении хода программы), которая может быть разрешена. 3 аппаратные точки останова могут использоваться как: -3 точки останова общего назначения -2 точки останова общего назначения и 1 точка останова данных -1 точка останова общего назначения и 2 точки останова данных -1 точка останова общего назначения и 1 маскированная точка останова SRAM - 1 точка останова общего назначения и 1 маскированная точка останова FLASH Останов при изменении хода программы может быть разрешен или запрещен, независимо от того, как используются другие опции точек останова. AVR Студия проследит режимы, и даст предупреждение, если установлено слишком много точек останова. Примечание: В документации JTAG говорится, что доступны 4 точки останова. Одна точка зарезервирована для пошагового режима, давая пользователю 3 аппаратные точки останова для общего использования. 3.2.5 Программные точки останова Некоторые AVR устройства поддерживают команды останова. 3-3 Использование команд останова означает что, действительная команда заменяется командой останова во Flash памяти во время отладки. При использовании команд останова может задаваться неограниченное число точек останова. При удалении или добавлении точек останова, страница Flash памяти должна быть перепрограммирована. Команды останова медленнее, чем аппаратные точки останова. Доступны три опции, относящиеся к точкам останова: - Автоматическая, но предпочтительнее аппаратные точки останова - Использование только аппаратных точек - Использование только программных точек (команд останова) Примечание: программные контрольные точки не будут работать на ATMEGA128, если он установлен, для работы в режиме совместимом с ATmega103, потому что ATMEGA103 не поддерживает команды SPM. 3.2.5.1 Опция 1(автоматическая) AVR Студия анализирует точки останова, и пытается размещать аппаратные и программные точки оптимальным образом. 3.2.5.2 Опция 2 При использовании этого режима доступны только три аппаратные точки останова. Этот режим является режимом по умолчанию, и единственный доступный для устройств, не поддерживающих программные точки останова. 3.2.5.3 Опция 3 AVR Студия использует только команды останова. Никакие аппаратные точки останова не будут использоваться. Примечание: рекомендуется использовать одну из двух других опций. 3.2.6 Точки останова общего назначения Точка останова общего назначения может быть помещена в любое место программы. JTAG ICE поддерживает отладку на уровне исходного кода, и точки останова могут быть размещены на любом операторе программы (ассемблером или языком высокого уровня). AVR МК будет останавливаться перед выполнением команды «break». 3.2.6.1 Точки останова в памяти данных Точки останова в памяти данных могут быть установлены в одном из трех режимов: чтение памяти данных, запись памяти данных или чтение и запись памяти данных. Точки останова данных будут работать только в памяти ввода/вывода и в SRAM. Нельзя установить точки останова в регистровом файле. Чтобы использовать различные имена (например, PORTB), объектный файл должен содержать символьную информацию. Использование символьных переменных возможно при использовании Cи - компилятора или ассемблера, которые включают символьную информацию (например, EWBAVR, ICCAVR, IAR Assembler). Ассемблер входящий в AVR студию не обеспечивает символьную информацию. При использовании точек останова данных, AVR будет останавливаться после отработки команды, выполняющей условие останова. 3-4 рис.3-3. Точки останова данных. 3.2.6.2 Маскирование точек останова Когда маскирование точек останова разрешено, пользователь должен определить базу адреса и маску адреса. Результат побитной операции AND этих двух регистров задает условие останова. Это значение сравнивается с замаскированным программным счетчиком или адресом данных, чтобы обнаружить наличие условия останова. рис.3-4. Маскирование точек останова. Если установить какую-либо позицию бита в ноль, то соответствующая позиция бита счетчика команд (РС) или адреса данных не будет влиять на условие останова, независимо от того, равна она «1» или «0». Если позиция бита в маске установлена в «1», то для останова соответствующая позиция РС или адреса данных должна иметь то же логическое значение, что и позиция бита в базе адреса. На рисунке 3-5 показана блок-схема того, как это осуществляется. рис.3-5. Блок-схема маскирования точек останова. 3-5 Рассмотрим следующие примеры: Таблица 3-1. Примеры векторов останова. Примечание: x = не влияет 3.2.6.2.1 Пример 1 Установка всех единиц в Маске, приведет к тому, что вектор останова будет равен базовому адресу: 1010 1010 0101 0101 3.2.6.2.2 Пример 2 Установка 9 бита Маски в ноль даст два достоверных вектора останова: 1010 1000 0101 0101 1010 1010 0101 0101 3.2.6.2.3 Пример 3 Установка, всех битов маске в ноль означает, что все адреса являются достоверными векторами останова, и, таким образом, за один шаг будет выполняться одна команда в целевом AVR устройстве. Логика управления вызовет останов, если счетчик команд или адрес данных станет равным одному из достоверных векторов останова. AVR устройство остановиться после выполнения команды, адрес которой является условием останова. 3.2.6.3 Останов при изменении хода программы "Останов при изменении хода программы" не зависит от 3-х точек останова общего назначения. Рис. 3-6. Разрешение останова по Branch/Skip Изменение хода программы - любое отклонение от линейного хода, например, при выполнении команд прерываний, переходов, ветвлений, команд call или skip. Останов при изменении хода программы произойдет после выполнения команды, вызвавшей изменение. 3.2.7 Окно процессора. Функции счетчика циклов, времени выполнения, частоты, и таймера - не доступны при использовании JTAG ICE. Это - прямой результат характера выполнения отладки на кристалле. 3-6 3.3 Программирование с помощью JTAG ICE. В дополнение к использованию JTAG ICE как внутрисхемного отладчика, он может также использоваться для программирования. Программирующий интерфейс JTAG - сводится к знакомому программному обеспечению STK500. Выберете опцию в меню Tools > STK500, чтобы открыть интерфейс программирования. AVR студия определит COM порт, к которому подключен JTAG ICE. Обратите внимание на то, что AVR студия последовательно опрашивает COM порты. Если другие отладочные устройства Atmel связаны с COM портами, удостоверьтесь, что они выключены, или отсоединены, поскольку AVR студия соединиться с первым найденным устройством. Удостоверьтесь, что никакое другое устройство или приложение не управляет выбранным COM портом, и что нет активных сеансов отладки, использующих JTAG ICE. Осторожно: Если вы запретили с помощью Fuse бита использование JTAG, то вы не сможете связаться с целевым устройством через JTAG ICE с целевым устройством. Чтобы правильно запрограммировать с помощью интерфейса JTAG, пользователь должен стереть кристалл перед программированием Flash или EEPROM. Не забудьте запретить fuse бит " Preserve EEPROM", если вы хотите перепрограммировать EEPROM. DOS версия STK500 не поддерживает JTAG ICE. Для получения большей информации об общем использовании интерфейса программирования, пожалуйста, смотрите в системе помощи AVR студии. Интерфейс пользователя для программирования через JTAG тот же, что и программное обеспечение для программирования через STK500, но в заголовке отображается JTAG ICE (если он обнаружен). рис. 3-7. Программирующий Интерфейс JTAG. 3-7 Раздел 4 Особенности При использовании JTAG ICE должны быть отмечены некоторые особенности. 4.1 Внешние устройства ввода/ вывода. Все устройства ввода/ вывода продолжают работать, даже если выполнение программы остановлено точкой останова. Например: Если точка останова достигнута во время передачи UART, то передача будет закончена и соответствующие биты установлены. Будет установлен флаг завершения передачи (TXC) и он будет доступен на следующем единственном шаге программы, хотя это должно было случиться позже в действующем устройстве. Все модули ввода/ вывода продолжают работу в пошаговом режиме, кроме Таймеров/Счетчиков и Сторожевого Таймера. 4.1.1 Таймеры/Счетчики в пошаговом режиме В меню опции "On-chip Debugging" (Отладка на- кристалле) пользователь может выбрать, продолжать ли работу Таймерам/Счетчикам в пошаговом режиме, или они должны быть остановлены. 4.1.2 Сторожевой таймер. Сторожевой таймер будет приостановлен в пошаговом режиме. Это позволит избежать незапланированного сброса AVR устройства во время пошагового режима. 4.2 Пошаговый режим Ввод/ вывод продолжает работать в пошаговом режиме, нарушая согласование во времени, хотя выполнение программы остановлено. Пример: OUT PORTB, 0xAA IN TEMP, PINB Команда IN не прочитала бы обратно 0xAA из-за защелкивания выходных данных на физических выводах порта, а затем защелкивание их обратно в регистре PIN. Необходимо было бы вставить команду NOP между командой OUT и IN, чтобы быть уверенным, что в регистре PIN появиться правильное значение. Однако в JTAG ICE пошаговое выполнение этих команд всегда даст 0xAA в регистре PIN, так как ввод/вывод продолжает выполняться на полной скорости, предоставляя достаточно времени для защелкивания данных, как на выходе, так и обратно во входном регистре. 4-1 4.3 Программные точки останова Некоторые устройства имеют поддержку команды останова, включенную в OCD. При использовании команд останова должно быть отмечено следующее: - Программная точка останова заменяет первоначальную команду командой останова, - Страница Flash памяти должна быть перепрограммирована при каждом удалении или добавлении программной точки останова. Это изнашивает Flash память и вносит дополнительные задержки при отладке на кристалле. Совет: Для сеансов отладки, которые требуют частого изменения позиций точек останова, избегайте использования программных точек останова, - используйте аппаратные точки останова. Это увеличит быстродействие и долговечность устройства. 4.4 Сброс целевого устройства и понижение питания во время отладки. Если JTAG ICE теряет питание во время сеанса отладки, то происходит сброс адаптера и связь будет нарушена. Если AVR прибор в целевой системе имеет намеренное или неумышленное разъединение питания, или находиться в спящем режиме подобно Power-down, AVR Студия не покажет новое состояние до тех пор, пока не выполнится одна из команд запуска . Тогда AVR Студия обновит информацию о текущем состоянии. 4.5 Установка Fuse битов, имеющих отношение к JTAG Есть 2 Fuse бита, которые необходимо установить для правильного функционирования JTAG ICE. Это - биты "JTAG enable" и "OCD enable". Эти Fuse биты устанавливаются по умолчанию на заводе изготовителе. Если JTAG enable, неумышленно заблокирован, пользователь может его установить, используя какой-нибудь другой интерфейс программирования (например, ISP). Примечание: AVR Студия автоматически разрешает OCD fuse бит при каждом начале сеанса отладки и запрещает, когда сеанс отладки закончен. 4.6 Использование AVR Студии 3.52 или выше Чтобы использовать JTAG ICE, необходима AVR Студия 3.52 или выше. 4.7 Окно сообщений Совет: Окно сообщений может давать важную информацию о том, что делает AVR Студия и JTAG ICE. 4.8 JTAG ICE не поддерживает устройства в цепочке JTAG Нельзя использовать JTAG ICE, если целевое AVR устройство подключено к цепочке JTAG. Чтобы быть уверенным в правильности работы, схема JTAG не должна содержать других JTAG устройств. 4-2 4.9 Доступ к регистрам ввода/ вывода Изменения, сделанные в регистрах ввода/вывода в AVR Студии не будут физически воплощены на целевом AVR приборе до тех пор, пока не выполнится команда запуска или команда пошагового режима. При отладке некоторых регистров ввода/ вывода, будьте осторожны, чтобы ваши действия не отразились на работе ADC, UART, и SPI. - При отладке AVR устройства, результат преобразования может быть потерян, если читать ADCL и ADCH через интерфейс ACD во время другого преобразования. - При отладке UART, данные могут быть потеряны при чтении регистра данных UART или изменении скорости в бодах, во время работы передатчика UART. - Если во время сеанса отладки изменить регистр состояния SPI, то данные SPI могут быть потеряны. 4.10 Альтернативные функции выводов JTAG при использовании интерфейса JTAG Если интерфейс JTAG разрешен, выводы JTAG не могут использоваться для альтернативных функций. Они останутся специализированными выводами JTAG до тех пор, пока пользователь программно не запретит интерфейс JTAG посредством установки JTD бита в регистре MCUCSR, или очисткой Fuse бита "JTAG enable" с помощью программатора. 4.11 Проверка Flash памяти При отладке с помощью JTAG ICE Flash память будет часто перепрограммироваться. Заметим, что для оптимизации скорости отладки JTAG ICE не проверяет автоматически успешность каждой попытки программирования, если это не задано. 4-3 Раздел 5 Описание аппаратной части 5.1 Описание платы Блок - схема JTAG ICE представлена на рисунке 5-1. Этот раздел вас поближе познакомит с аппаратной частью и расскажет, как она реализована. Информация по использованию JTAG ICE может быть найдена в разделе 3. На рисунке 5-1 показана блока - схема JTAG ICE. Он может быть разделен на пять основных частей: •Модуль связи •Модуль управления •Модуль преобразователя уровней •Электропитание •Адаптер JTAG Описание этих модулей приводиться в следующих подразделах. рис. 5-1. Блок - схема JTAG ICE. 5.2 Модуль связи JTAG ICE использует стандартный RS-232 порт для соединения с AVR студией. На рисунке 5-2 показана блок- схема модуля связи JTAG ICE. рис. 5-2 Блок – схема модуля связи. 5.3 Модуль управления Модуль управления отвечает за преобразование инструкций от AVR студии к инструкциям AVROCD для интерфейса AVR JTAG. Кроме того, он отслеживает и устанавливает сигналы управления. Блок - схема этого модуля показана на рисунке 5-3. 5-1 рис. 5-3. Блок - схема модуля управления 5.3.1 Светодиоды состояния JTAG ICE имеет три светодиода состояния, показанных в таблице 5-1. Светодиод Зеленый Красный Желтый Описание Индицирует питание целевого устройства Индикатор питания JTAG ICE Индицирует передачу данных по интерфейсу JTAG Таблица 5-1. Светодиоды состояния JTAG ICE. Примечание: Когда питание поступает от внешнего источника(9-15 В), то горят красный и зеленый светодиоды. 5.4 Преобразователь уровней Назначение преобразователей уровня - обеспечение успешной связи с целевой платой питающейся от напряжения отличающегося от напряжения питания самого JTAG ICE. Преобразователь поддерживает напряжения целевых устройств от 1.8 В до 6.0 В. JTAG ICE может питаться от внешнего источника, или напрямую от платы целевого устройства. Когда напряжение поступает от целевой платы, то допускается напряжение в диапазоне от 3.3 В до 5.5 В. Для получения более полной информации по электропитанию, пожалуйста, читайте раздел "электропитание" данного руководства пользователя. Сигналы между платой JTAG ICE и целевой платой могут быть разделены на три группы: выходные сигналы, входные сигналы, и двунаправленные сигналы. Аппаратно JTAG ICE поддерживает большее количество сигналов, но обычно используются только эти. Это сделано для совместимости с существующим и будущим оборудованием. В этом руководстве пользователя будут описаны сигналы, относящиеся к адаптеру JTAG. Сигналы в скобках [название], поддерживаются, но не используются. Направления сигналов будут даваться относительно модуля управления. Например, сигнал TDI "Test Data Input" будет описан как выходной, так как он направлен от модуля управления к устройству. Описание поддерживаемых и используемых сигналов может быть найдено в разделе "Адаптер JTAG". Преобразователи уровня используют буфер, который ограничивает втекающие и вытекающие токи. Буфер используется как для входов, так выходов. Описание этого буфера(74HC2440), может быть найдено на сайте www.philips.com. 5-2 5.4.1 Выходные сигналы JTAG ICE поддерживает следующие выходные сигналы данных: TMS, TDI, TCK, [DBGRQ]. Эти сигналы передаются через схему, показанную на рисунке 5-4. рис. 5-4. Преобразование уровня выходных сигналов. Кроме того, поддерживается выходной сигнал nTRST. Так как это медленно-изменяющийся сигнал, то он не посылается через драйвер формирователя импульсов подобно не изменяющимся выходным сигналам. Этот вывод будет действовать как выход с открытым коллектором с точки зрения целевого устройства. Блок - диаграмма показана на рисунке 5-5. рис. 5-5. nTRST выход с открытым коллектором 5.4.2 Входные сигналы JTAG ICE поддерживает следующие входные сигналы данных: TDO, [DBGACK,RTCK]. Эти сигналы поступают через схему, показанную на рисунке 5-6. рис.5-6 Преобразование уровня входных сигналов. 5.4.3 Двунаправленные сигналы Единственный поддерживаемый двунаправленный сигнал nSRST. Это - выход с открытым коллектором с точки зрения целевого устройства. Этот вывод является так же входным, поэтому модуль управления может наблюдать сброс, инициализированный на целевом устройстве. Блок - диаграмма двунаправленного ввода/ вывода показана на рисунке 5-7. рис.5-7 Преобразование уровня двунаправленных сигналов. 5-3 5.5 Электропитание Электропитание JTAG ICE выполнено, как показано в рисунке 5-8. Для получения более детальной информации по питанию от целевой платы, или по использованию внешнего источника питания смотрите раздел 2.4. рис. 5-8. Блок - диаграмма электропитания. 5.6 Адаптер JTAG Адаптер JTAG изображен на рисунке 5-9. Парный многожильный гибкий кабель соединяет адаптер JTAG с JTAG ICE. Адаптер JTAG имеет два 10 выводных разъемам, которые имеют идентичную цоколевку и сигналы. Используйте тот, который лучше всего подходит для целевой платы. Только один из разъемов может быть одновременно использован. рис.5-9. Изображение адаптера JTAG На рисунке 5-10 показаны разъемы JTAG, о которых говорилось выше. Сигналы - полностью описаны в таблице 5-2. рис. 5-10. Крупный план разъема 5-4 Таблица 5-2. Сигналы JTAG. Вывод Сигнал I/O 1 TCK Выходной 2 GND - 3 TDO Входной 4 VTret Входной 5 TMS Output 6 nSRST 2 направленный 7 Vsupply Входной 8 nTRST NC(выходной) 9 TDI Выходной 10 GND - Описание Test Clock,сигнал синхронизации последовательных данных от JTAG ICE к порту JTAG целевого устройства Земля Test Data Output,сигналы данных от порта JTAG целевого устройства к JTAG ICE Напряжение питания целевого устройства. VDD от устройства используется для управления преобразователем уровня, и для светодиодной индикации наличия питания целевого устройства. Test Mode Select, сигнал выбора тестового режима от JTAG ICE к порту JTAG устройства. Выход с открытым коллектором от адаптера к системному сбросу целевого устройства. Этот вывод является также входным для линии, поэтому сброс, инициированный на целевом устройстве, может быть зафиксирован на JTAG ICE. Напряжение питания, этот разъем может быть использован для питания адаптера напряжением 3-5 В от стабилизированного источника питания. (нормальное питающее напряжение целевого устройства VDD). Этот вход питания автоматически отсоединяется при подсоединении внешнего источника питания. Не подключен, зарезервирован для совместимости с другим оборудованием (сброс JTAG порта) Test Data Input, сигнал данных от JTAG ICE к порту JTAG целевого устройства. Земля 5-5 Раздел 6 Технические данные Параметры Габариты .............................................. .32 x 115 x 140 мм (H x W x D) Вес ................................................................................................. 180 г Условия эксплуатации Напряжение целевой платы .......................................... .2.7V - 5.5V Диапазон целевой частоты....................................... выше чем 8 кГц Макс. ток при напряжении целевого устройства 5.5 В....... 150 mA Макс. ток при напряжении целевого устройства 3.0 В....... 250 mA Разъемы Последовательный разъем .....................9- контактный D-SUB розетка Скорость последовательной связи .................................. 115200 бит/с 6-1 Раздел 7 Техническая поддержка Для Технической поддержки, пожалуйста, обращайтесь по адресу avr@atmel.com. При запросе технической поддержки для JTAG ICE, пожалуйста, включите следующую информацию: - Номер версии AVR Студии. Он может быть найдено в справочном меню AVR Студии. - Программная и аппаратная версии JTAG ICE. (Help>about>Info) - метод программирования (ISP или Высоковольтный) - операционная система ПК и версия - тип процессора ПК и частота - какой целевой AVR прибор используется(полный шифр устройства) - детальное описание проблемы 7-1 ©Компания Atmel 2001. Компания Atmel не дает никаких других гарантий, кроме тех, что описаны стандартной гарантии компании, в который детально описаны сроки и условия. Её можно найти на сайте компании. Компания не несет ответственности за любые ошибки, которые могут появиться в этом документе, резервирует право изменять устройства или спецификации в любое время без предупреждения, и не дает обязательств по обновлению информации содержащейся на сайте. Компания не дает лицензий на патенты или другую интеллектуальную собственность, связанную с продажей изделий, напрямую или через посредников. Изделия компании Atmel не предназначены для использования в качестве критических компонентов в системах жизнеобеспечения. Atmel®, AVR® и AVR Studio® - зарегистрированные торговые марки Atmel. Windows® и Windows NT® - зарегистрированные торговые марки корпорации Microsoft. Термины и названия изделий могут быть торговыми марками других компаний.