Железная отладка ардуино

axill
Offline
Зарегистрирован: 05.09.2011

Потребовалось мне прошить скетч ардуино в мои старые часы (http://arduino.ru/forum/proekty/informatsionnaya-panel-s-chasami-i-ulich...) у которых для програмирования предусмотрен только JTAG (ниже будет и про debugWire). Пришлось искать вариант. Он оказался следующим

 - ставим atmel studio с плагином от visual micro

- компилируем проект в visual micro

- в Atmel Studio в меню File/Open выбираем Open Object File for Debugging. Идем в папку с нашим проектом VisualMicro и там в папке Debug выбираем .elf файл. Указываем что хотим иметь не копию файла а линк на исходный файл. Сохраняем проект. Теперь в этом проекте можно делать из меню Debug прошивку если выбрать Start without debugging или инициировать сессию отладки. Конечно надо быть готовым что мы увидим не совсем свой скетч, а то, что реально ардуина собирает в качестве текста программы перед компиляцией. Но там все понятно, мы увидим наши setup() и loop().

Возможно выскочит такое окно:

здесь речь идет о мапинге условных исходных файлов из .ELF файла и реальных исходных файлов котрый загрузит отладчик при остановке внутри такого файла. У меня проблемы с мапингом вызвали только внутренние ардуиновские файлы поэтому я просто нажимаю Finish. Но можно и исправить маппинг если нужно отлаживать испорченные ссылки.

Так как мы создали проект со ссылкой на исходный .ELF то при рекомпиляции студия будет предлогать перегрузить файлы и продолжить отладку с новой версией

просто жмем Reload. Дальше скорее всего опять появится окно с потерянными ссылками. Действуем также как в первый раз

Про саму отладку в Студии можно найти другие описания. Не стану вдаваться. Важно только строить в Project/Options закладку Tools и там выбрать нужный отладчик

Точно так же действуем и для отладки не JTAG, а debugWire (atmega328)

gregoryl
Offline
Зарегистрирован: 09.09.2013

Я так понимаю visual micro должен быть не триальным ?