Jtag

Отладка с помощью GDB

Для отладки микроконтроллерных устройств обычно применяются программно-аппаратные решения. К примеру для МК с ядром ARM это может быть связка J-Link((аппаратный отладчик по интерфейсу JTAG)) - OpenOCD((программная прослойка, между отладчиком и GDB)) - собственно сам ARM-GDB.

AVR Dragon

AVR Dragon средство программирования и отладки микроконтроллеров AVR. Позволяет отлаживать код размером до 32кб, хотя существует возможность доработки. Поддерживает программирование через интерфейс AVR ISP (6 pin), параллельный и последовательный высоковольтные интерфейсы. Отладка и программирование производится через интерфейсы AVR JTAG (10 pin) и dW (debug Wire). Ранние версии AVR Dragon имеют схемотехническую ошибку из-за которой велика вероятность выхода из строя цепей питания. Способ исправления описан в руководстве. AvrDuDe поддерживает все интерфейсы AVR Dragon, для отладки следует воспользоваться приложением AVaRICE - промежуточным звеном между железом AVR Dragon-а и отладчиком avr-gdb.

JTAG

Pinout Следует иметь в виду, что разные производители могут использовать разную разводку сигналов, даже на разъёмов с одинаковым количеством пинов. Наиболее стандартизирован в этом плане 20-пиновый разъём. 20-pin Name JTAG 20 JTAG 20 Name Vref 1 2 Vtarg nTRST 3 4 GND TDI 5 6 GND TMS 7 8 GND TCK 9 10 GND RTCK 11 12 GND TDO 13 14 GND nSRST 15 16 GND dbgRQ 17 18 GND dbgACK 19 20 GND 10-pin Name Pin Pin Name Vref 1 2 Vsup nTRST 3 4 nSRST TDI 5 6 TDO TMS 7 8 GND TCK 9 10 GND 6-pin Pin Name 1 TMS 2 TDI 3 TDO 4 TCK 5 GND 6 Vcc

OpenOCD

OpenOCD Приведённая ниже информация скорее всего безнадёжно устарела. Поддерживаемое железо ST-Link Для сборки свежего OpenOCD Устанавливаем необходимые для сборки пакеты: sudo apt-get install build-essential libftdi-dev sudo apt-get build-dep openocd Забираем свежий OpenOCD из репозитория: git clone git://git.code.sf.net/p/openocd/code openocd-code cd openocd-code Собираем: ./bootstrap ./configure --enable-ftdi --enable-jlink --enable-stlink --enable-ulink --enable-vsllink --enable-usb-blaster-2 --enable-buspirate --enable-rlink --enable-maintainer-mode --prefix=/opt/openocd make -j5 sudo make install J-Link Создаём файл конфигурации jlink_swd.cfg: interface jlink transport select swd Теперь можно запустить дебаггер:

urJTAG

UrJTAG aims to create an enhanced, modern tool for communicating over JTAG with flash chips, CPUs, and many more. It takes on the well proven openwince jtag tools code. Данное программное обеспечение позволяет работать в том числе и с ARM-USB-OCD и подобными на базе микросхемы USB преобразователя FT2232. Для подключения к программируемой логике Xilinx потребуется собрать переходник: Переходник с JTAG 20 pin на JTAG 6 pin Для отладки микропроцессорных устройств как правило используется 20-ти контактный JTAG разъём.