Для целей отладки программного обеспечения , написанного под микроконтроллеры AVR, можно воспользоваться программой HappyJTAG2.
HappyJTAG2 использует аппаратный JTAG-интерфейс микросхемы FT2232 на первом канале , второй канал используется под последовательный порт.
Разработчики HappyJTAG2 сделали ставку на работу в широко известной и бесплатной среде разработки AVR Studio.
Поддержка отладки с помощью gdb не реализована, в такой связке возможно лишь программирование FLASH-памяти микроконтроллера через порт JTAG.
Механизм отладки с использованием программы HappyJTAG2 и адаптера FTDI JTAG выглядит следующим образом.
FTDI JTAG подсоединяется с помощью кабеля к JTAG порту микроконтроллера AVR. Для этого придется изготовить еще один кабельный переходник, поскольку распиновка разъема JTAG для микроконтроллеров AVR отличается.
Возможно подсоединение как с использованием гальванической изоляции, так и без нее. В первом случае питание должно присутствовать на целевом устройстве.
После запуска HappyJTAG2 автоматически определит адаптер и подсоединенный к нему микроконтроллер.
Отдельно отмечу, что HappyJTAG2 не поддерживает драйвер для libusb, поэтому его придется удалить ( для канала А ) и установить родной драйвер от FTDI.
Этот факт несколько расстраивает намерения использовать одновременно openocd и HappyJTAG2 для отладки ARM и AVR микроконтроллеров.
Решением может быть применение версии openocd, которая не использует библиотеку libusb.
Теперь можно запустить AVR Studio. FTDI JTAG адаптер в связке с HappyJTAG2 студией определяется как JTAG ICE mk II, именно этот адаптер необходимо выбирать при создании нового проекта.
После запуска AVR Studio в главном меню нужно выбрать «Tools -> Program AVR -> Connect… », в следующем окне все необходимые параметры уже будут установлены. После чего выполнить соединение с адаптером, нажав на кнопку «Connect».
Программа HappyJTAG2 во время работы в AVR Studio должна быть все время запущена, поскольку все коммуникации с отлаживаемой системой происходят через нее.
После определения студией JTAG ICE mk II адаптера HappyJTAG2 сигнализирует о наличии связи с AVR Studio зеленым кружком напротив соответствующей надписи.
В качестве среды разработки при использовании отладки с помощью FTDI JTAG можно остановиться на AVR Studio , которая с некоторых пор поддерживает
разработку программ на языке С благодаря использованию инструментария WinAVR.
Вторым вариантом является Eclipse CDT в связке с AVR Studio.
Возвращаясь к опубликованному, создадим новый проект ( скачать ) в Eclipse на основе проекта для attiny2313 ( описан в статье «Программирование AVR и ARM
микроконтроллеров в Eclipse. Часть 1» ) для микроконтроллера Atmega32, содержащего порт JTAG .
Пока вопрос интеграции с AVR Studio оставим до лучших времен. Сейчас выполним сборку проекта и откроем полученный elf- файл в AVR Studio.
В AVR Studio откроем полученный elf-файл через «File -> Open -> avr_project.elf ».
Еще раз укажем тип адаптера AVR ICE mk II и тип целевого устройства Atmega32 , после чего содержимое контроллера предстанет перед нашими глазами в окнах AVR Studio.
Программу HappyJTAG2 также можно использовать как программатор микроконтроллеров AVR через ISP или JTAG интерфейс.
Распайка кабелей для подсоединения FTDI JTAG адаптера к портам JTAG и ISP микроконтроллеров AVR изображена в следующих таблицах.
Таблица 1. Гальванически развязанный JTAG интерфейс
| № п/п | IDC-10 | X4( BH-20 ) | ||
| Контакт | Линия | Контакт | Линия | |
| 1 | 1 | TCK | 9 | I_TCK | 
| 2 | 2 | GND | 4 | I_GND | 
| 3 | 3 | TDO | 13 | I_TDO | 
| 4 | 4 | VREF | 1 | T_VCC | 
| 5 | 5 | TMS | 7 | I_TMS | 
| 6 | 6 | RESET | 3 | I_NTRST | 
| 7 | 7 | VTRG | 2 | T_VCC | 
| 8 | 8 | NC | — | — | 
| 9 | 9 | TDI | 5 | I_TDI | 
| 10 | 10 | GND | 6 | I_GND | 
Таблица 2. Гальванически развязанный интерфейс ISP
| № п/п | IDC-10 | X4( BH-20 ) | ||
| Контакт | Линия | Контакт | Линия | |
| 1 | 1 | MOSI | 5 | I_TDI | 
| 2 | 2 | VCC | 1 | T_VCC | 
| 3 | 3 | NC | — | — | 
| 4 | 4 | GND | 4 | I_GND | 
| 5 | 5 | RESET | 19 | I_DBGACK | 
| 6 | 6 | GND | 6 | I_GND | 
| 7 | 7 | SCK | 9 | I_TCK | 
| 8 | 8 | GND | 8 | I_GND | 
| 9 | 9 | MISO | 13 | I_TDO | 
| 10 | 10 | GND | 10 | I_GND | 
Таблица 3. JTAG интерфейс без гальванической развязки
| № п/п | IDC-10 | X4( BH-20 ) | ||
| Контакт | Линия | Контакт | Линия | |
| 1 | 1 | TCK | 1 | TCK | 
| 2 | 2 | GND | 19 | GND | 
| 3 | 3 | TDO | 3 | TDO | 
| 4 | 4 | VREF | — | — | 
| 5 | 5 | TMS | 4 | TMS | 
| 6 | 6 | RESET | 5 | NTRST | 
| 7 | 7 | VTRG | 17 | +5V | 
| 8 | 8 | NC | — | — | 
| 9 | 9 | TDI | 2 | TDI | 
| 10 | 10 | GND | 20 | GND | 
Таблица 4. Интерфейс ISP без гальванической развязки
| № п/п | IDC-10 | X4( BH-20 ) | ||
| Контакт | Линия | Контакт | Линия | |
| 1 | 1 | MOSI | 2 | TDI | 
| 2 | 2 | VCC | 17 | +5V | 
| 3 | 3 | NC | — | — | 
| 4 | 4 | GND | 19 | GND | 
| 5 | 5 | RESET | 13 | DBGACK | 
| 6 | 6 | GND | 20 | GND | 
| 7 | 7 | SCK | 1 | TCK | 
| 8 | 8 | GND | — | — | 
| 9 | 9 | MISO | 3 | TDO | 
| 10 | 10 | GND | — | — | 
Таблица 5. UART интерфейс без гальванической развязки
| № п/п | UART | X2( BH-20 ) | ||
| Контакт | Линия | Контакт | Линия | |
| 1 | 1 | TXD | 2 | RXD/BDBUS1 | 
| 2 | 2 | RXD | 1 | TXD/BDBUS0 | 
| 3 | 3 | GND | 20 | GND | 
Viewed 25176 times by 7522 viewers










Comments
C какой микросхемы AVR начать отладку
В статье пример для ATmega32, с него и начните.
JTAG интерфейс присутствует в ATmega16/32/64/128/256 .
Comments are closed.