Для целей отладки программного обеспечения , написанного под микроконтроллеры 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 20854 times by 5789 viewers

Last modified: 06/02/2020

Author

Comments

C какой микросхемы AVR начать отладку

    В статье пример для ATmega32, с него и начните.
    JTAG интерфейс присутствует в ATmega16/32/64/128/256 .

Comments are closed.