Использование внутрисхемного отладчика AVR
В микроконтроллерах ATmega AVR, естественно, есть возможность внутрисхемной отладки по JTAG. Мы используем девайс под названием AVR JTAGICE mkII, подключённый по USB. Если по коду ошибку найти не удалось, то приходится отлаживать так же, как и обычную десктоп-программу. То есть, использовать дебаггер на «большом» компьютере, а программа будет выполняться в железке. Чтобы начать отладку, запускаем на хосте, в который воткнут JTAGICE, gdb-сервер командой avarice -j usb -2 :4343
. Естественно, что в MCU должна быть предварительно залита отлаживаемая прошивка.
Затем запускаем DDD, ddd --debugger avr-gdb
, после чего подключаемся к серверу, выполнив в консоли DDD команду target remote localhost:4343
, открываем отлаживаемый файл в DDD. И, вуаля, можно пошагово выполнять программу прямо в железяке.
Те, кто не любит DDD, могут использовать avr-gdb и наслаждаться command-line интерфейсом.