Железная отладка ардуино
- Войдите на сайт для отправки комментариев
Потребовалось мне прошить скетч ардуино в мои старые часы (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)
Я так понимаю visual micro должен быть не триальным ?