Gdb

LPC-Link

Как многим заинтересованным лицам известно, хитрые платы LPCXpresso снабжены мега-дебаггером LPC-Link. Выпуск среды разработки code red в нативном виде под Linux позволил нам, сирым и убогим, познать радость пользования этим самым LPC-link’ом. В общих и целых чертах мы имеем следующее: Микроконтроллер задействованный в LPC-link начисто лишен какой бы то ни было долговременной памяти. Фирмварь в него надо грузить каждый раз после перетыкания и перед тем как начать шить target контроллер нам надо проверить, что там вообще на usb шине творится, в плане девайсов.

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

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

Segger J-Link

Распространённое аппаратное средство для отладки МК с ядром ARM по интерфейсу JTAG и SWD((В openocd так и нет нормальной поддержки этого интерфейса)). Оригинальный J-Link стоит достаточно дорого - более трёхсот долларов, что достаточно ощутимо для радиолюбительского кошелька. Но китайские товарищи расстарались, и наклепали вполне приличных клонов за небольшие деньги. Возможно, это мне попался такой экземпляр китайского клона, но в условиях производство с обилием силовых агрегатов вокруг, отладчик подвисал каждые несколько минут.

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 Теперь можно запустить дебаггер: