AVR JTAG

Материал из Документации
Перейти к: навигация, поиск

Содержание

Описание модуля

Данный модуль является аппаратным отладчиком ATMEL AVR ICE I и предназначен для JTAG отладки микроконтроллеров MegaAVR. Подключается к блоку FTDI (или модулю FTDI) и является клоном фирменного отладчика Atmel первого поколения. Позволяет ставить до трех точек останова, а также вести пошаговую отладку в железе контроллеров AVR Mega через интерфейс JTAG.

Кроме отладчика JTAG на штыри выведены сигналы программатора на FTDI, для удобства. Чтобы можно было прошивать контроллер не снимая плашки модуля с FTDI или используя стандартный ISP10 кабель.

Также он может служить как сопроцессор для построения мультипроцессорных систем или иных средств которые могут потребоваться для отладки. Для этого можно через тот же FTDI модуль сделать самопрошивку управляющего контроллера на любую другую прошивку. А не используемые в JTAG выводы вынесены на правый край модуля в виде портов GPIO общего назначения.

Поддерживаемое ПО

AVR JTAG ICE работает ТОЛЬКО из среды Atmel AVR Studio 4.19 (не выше). Более новые версии среды, такие как AVR Studio 5,6... НЕ ПОДДЕРЖИВАЮТСЯ, т.к. Atmel откзаалась поддерживать свои старые отладочные средства работающие на COM порту.

Модернизация модуля (для тех у версия без контроллера)

Данный модуль изначально поставляется без контроллера ATMega16 и кварца на 7.3728 и не поддерживает аппаратный JTAG ICE первой модификации. Но можно самостоятельно запаять контроллер и кварц, получив возможность аппаратной отладки по JTAG ICE 1 и использовать контроллер модуля как сопроцессор.

Вам потребуется для этого:

  • Демоплата Pinboard II любой ревизии или Универсальный модуль FTDI
  • Архив с нужными файлами прошивок и скриптов: Upgrade_avr_jtag.zip
  • Прямые руки
  • Паяльник и прочие принадлежности
  • Собственно демоплата, ей будет осуществляться прошивка
  • Контроллер Atmega16A-AU в корпусе TQFP
  • Кварцевый резонатор на 7.3728МГц Частота должна быть именно такой. Близкие по частоте не подойдут. Корпус лучше "лодочка", выводной.
  • 4 проводные перемычки
  • Два джампера

Видео инструкция по модернизации

Посмотреть на YouTube

Иллюстрированный журнал Мурзилка

Монтаж микроконтроллера

Upgrade-1.jpg

Микроконтроллер припаивается на свободную площадку. Контролер нужно купить в корпусе TQFP.


Upgrade-3.jpg

Следим, чтобы метка на плате и метка на корпусе совпадали. Отпаять будет трудно.


Upgrade-4.jpg

Выравниваем микросхему


Upgrade-5.jpg

Прихватываем в двух точках, и проверяем, чтобы остальные выводы стояли точно на падах. Пока еще можно все поправить и выровнять.


Upgrade-6.jpg

Если все ровно, то припаиваем остальные выводы.

Монтаж кварцевого резонатора

Upgrade-2.jpg

Нам нужен кварцевый резонатор на 7.3728МГц. Именно такой! Это важно.


Upgrade-7.jpg

Ставим его на плату.


Upgrade-8.jpg

Но припаивать лучше с небольшим зазором. Чтобы флюс и вода после отмывки из под него могли спокойно испариться.


Upgrade-9.jpg

Припаиваем

После пайки все следы флюса надо тщательно смыть, а платы просушить. Особенно с кварца и окружающих его конденсаторов.

Подключение джамперов

Upgrade-10.jpg

Ставим модуль на демоплату Pinboard II


Upgrade-15.jpg

Установите два джампера на модуль. И снимите джамперы с селектора канала В FTDI

Подключение ISP проводов

Upgrade-11.jpg

Подключите провода для прошивки контроллера адаптера. Прошивать будем через FTDI от этой же платы.


Прошивка контроллера

Вам надо скачать архив с файлами: Upgrade_avr_jtag.zip

В нем находится прошивающая программа avrdude.exe, конфигурационные файлы, библиотеки для работы с 2FTBB и, самое главное, прошивка miniICE.hex и скрипт _m16_burn_jtagice.cmd который автоматически прошьет контроллер при запуске.

Содержимое скрипта:
avrdude.exe -p m16 -c 2ftbb -P ft0 -B 4800  -U hfuse:w:153:m -U lfuse:w:228:m -U lock:w:63:m
avrdude.exe -p m16 -c 2ftbb -P ft0 -U flash:w:miniICE.hex:a
avrdude.exe -p m16 -c 2ftbb -P ft0 -B 4800  -U hfuse:w:25:m -U lfuse:w:207:m -U lock:w:63:m
@echo off 
color 0A
echo JTAG  Burned ok!
pause

Обратите внимание на параметр ft0. Обычно он у всех такой. Но если у вас в системе одновременно работают несколько FTDI устройств (обычно это может быть дата-кабель для старого телефона или другой USB-UART), то номер ft может быть другим. В этом случае можно перебрать все вариации от ft0 до ft9.


Разумеется вы можете также прошить контроллер и в ручном режиме. Если уверенно пользуетесь программой avrdude или оболочкой sinaprog

Upgrade-12.jpg

Запускаете скрипт

Upgrade-13.jpg

И процесс пошел


Upgrade-14.jpg

По окончании прошивки должен загореться светодиод Action, а также надо будет нажать кнопку FT_RST, чтобы сбросить чип FTDI и включить-выключить питание платы. Чтобы сбросить прошитый чип.

Проверка и запуск JTAG ICE

Upgrade-16.jpg

Четырех жильным кабелем подключаем адаптер к модулю.


Upgrade-17.jpg

К специальному разъему под модулем.


Upgrade-18.jpg

И к плашке JTAG ICE. Выводы соединяем один к одному. Вывод RST не используется.

  • TCK-TCK
  • TDI-TDI
  • TMS-TMS
  • TDO-TDO


Upgrade-19.jpg

Запускаем студию со своим проектом и в диалоге Connect выбираем JTAG ICE и PORT соответствующий каналу B FTDI. Обычно это COM3 Жмем Connect...


Если адаптер нормально работает, то откроется диалог прошивальщика:

Upgrade-20.jpg

Там надо нажать кнопку Read Signature и убедиться, что считанное значение совпало с установленным в проекте контроллером и адаптер выдал сообщение "Signature matches selected device".


Upgrade-22.jpg

Следующим шагом идем на вкладку Fuses и снимаем там галочку с BOOTRST если она стоит. Другие биты не трогаем во избежания блокировки кристалла от неправильных настроек. Жмем кнопку Program. Если этого не сделать, то контроллер будет стартовать с бутлоадера и при старте отладки долго долго тупить. А бутлоадер все равно будет затерт при запуске прошивки по JTAG.


Upgrade-24.jpg

Все. Адаптер и модуль готовы к работе через отладчик. Теперь только надо настроить студию на работу к отладчику. Для этого идем в меню Debug и там в меню Select Platform and Device выбираем не AVR Simulator, а JTAG ICE I и свою модель контроллера.

Личные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты