Может быть кому-то будет интересно. Давно как-то пробовал этот способ для bascom, он имеет некоторые ограничения, но работает.

Для работы нам понадобится программа HappyJTAG2 и специальный адаптер (его можно сделать и самому, если сходить на страничку автора).

После компиляции проекта нужно:

1. Запустить HappyJTAG2 и проследить, чтобы он опознал микроконтроллер.
2. Открыть AVR Studio 4, загрузить в него obj файл проекта. Дальше следовать диалоговым вопросам. Выбрать отладчик: JTAG ICE Mk2. Выбрать тип мк.
3. Далее студия подключится через HappyJTAG2 к контроллеру и загрузит в него прошивку.
4. После этого запустится режим отладки. Нужно вручную установить точку останова на первой инструкции вашей программы (функция Main), чтобы обойти глюк нулевых опкодов в окне дизассемблера.
5. Нажимаем F5 и студия остановится на точке останова. Теперь, если открыть окно дизассемблера, мы видим реальный код программы.
6. Можно ставить дополнительные точки останова (кажется есть ограничение на 3 штуки) или просто шагать по программе.

На картинках ниже показана отладка проекта ansibas (в примере на ATmega16 @ 16 МГц). Там используется командный интерпретатор, поэтому присутствует окно терминала PuTTY, который соединён с мк по COM-порту. Адаптер, который я использовал, создаёт в системе два COM порта. По одному идёт отладка, а второй используется для связи по uart.

Недостатком является то, что нет возможности увидеть переменные в окне Watch. Похоже, что студия не читает информацию из файла dbg, где, видимо, находится их описание. В остальном же вам доступна вся периферия мк и вы работаете с реальной схемой.

http://img.radiokot.ru/files/4453/thumbnail/ddpbny191.png http://img.radiokot.ru/files/4453/thumbnail/ddpc5czbq.png

Отредактировано uni (2014-06-19 20:31:44)