Главная :: Цифра:: Что такое JTAG ICE?2006-06-28
Предисловие
Многие начинающие программисты для контроллеров 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
Комментарии
Здесь никто ничего не написал. Вы можете быть первым.