Для целей отладки программного обеспечения , написанного под микроконтроллеры 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 18920 times by 4943 viewers
Comments
C какой микросхемы AVR начать отладку
В статье пример для ATmega32, с него и начните.
JTAG интерфейс присутствует в ATmega16/32/64/128/256 .
Comments are closed.