Проекты :: Цифра :: Что такое JTAG ICE?

Что такое JTAG ICE?28/06/2006

Предисловие

Многие начинающие программисты для контроллеров AVR фирмы Atmel слышали загадочное словосочетание - JTAG ICE. Что же, попробуем разобраться, что же это такое на самом деле.


Возможности JTAG ICE

  • Возможность работы с AVR Studio
  • Полная эмуляция работы всех аналоговых и цифровых функций AVR контроллера
  • Поддержка программирования flash-памяти через JTAG интерфейс
  • Возможность отладки как ассемблера так и языков высокого уровня
  • Поддержка точек прерывания по данным и по программым меткам
  • Все точки прерываний работают в Real-Time режиме

Вот оказывается что это такое. Это внутрисхемный отладчик с возможностью внутрисхемного перепрограммирования кристалла. Ах как теперь всё становится просто - поставил breakpoint в сомнительном месте, и, вот оно счастье! Можно посмотреть значения всех доступных переменных и состояния регистров пациента. Жизнь упрощается, а кому это не нравится? Наверно мазохистам, которые без надобности пишут проекты по 5к слов на асме. Посмотрим как это работает.


JTAG ICE в условиях, приближенных к боевым!

<

Рассмотрим работу со средой разработки Imageсraft ICC.

Создаем новый проект и вызываем диалог опций текущего проекта. На вкладке "Compiler" выбираем формат выходного файла "COFF/HEX" и версию AVR Studio.

На вкладке "Target" выбираем тип используемого процессора. У меня под рукой завалялась плата с AtMega128. Остальные настройки по вашему усмотрению.

Напишем простенький код для демонстрации работы JTAG ICE и скомпилируем проект.

В результате у нас получился файл отладки "имя_проекта.cof". Его мы будем загружать в среду разработки и отладки AVR Studio. Но перед этим нужно сначала на подопытной плате разрешить фуз бит JTAGEN (если пользуетесь AVReal то JTAGEN должен быть установлен в 0) и подключить JTAG ICE к подопытной плате. Распиновка разъема указана на рисунке.

TCK, TMS, TDO, TDI и RST подключаются к соответствующим портам AtMega128, VTREF к питающему напряжению подопытного процессора. Подключаем кабель к СОМ порту компьютера и JTAG ICE включаем питание на устройства и запускаем AVR Studio. Жмем открыть файл и выбираем наш "*.cof" файл

Выбираем отладчик - JTAG ICE и тип отлаживаемого процессора - AtMega 128. Не забываем поставить галочку - "Open platform options"

Выбираем частоту опроса платы. Она не должна превышать Fclk/4

Выбираем опции отладки - я обычно ставлю так как указано на рисунке. Во-первых чтобы после загрузки прошивки давился ресет на процессор и перезагрузка файла прошивки при изменении его содержимого.

Разрешаем breakpoint-ы. Также здесь можно задать прерывание на изменении переменной или адреса по которому находится переменная

Жмем ОК и JTAG ICE зальет текущий проект во флэш память контроллера и поставит курсор на первую команду программы. Остальные приемы работы не отличаются от приемов работы с AVR Studio Simulator, за исключением того, что все изменения переменных и регистров вы можете наблюдать в реальном времени в реальной системе.

А вот мой собственноручно собраный JTAG ICE Кому лень делать самому могу предложить или готовый вариант или плату с инструкцией по сборке. Ах да, забыл, вот ссылка на исходные коды проекта.

написал: Wh`te
Комментарии

Здесь никто ничего не написал. Вы можете быть первым.

Оставить сообщение
Имя:                                                        E-mail:
 

Сообщение

Антибот (введите 11*1*11, заменив "*" на "-"):