Как отладить (один шаг исходного кода) Arduino Uno с gdb на ПК с Linux? Обратите внимание, что я не люблю использовать AVR Studio в Wine или VirtualBox.
Вопрос 1: Физическая связь
Как и что я могу подключить к плате Uno? Я предполагаю, что, поскольку плата Uno заполнена ATmega328, должен быть доступен один шаг исходного кода? Я также думаю, что я могу использовать либо AVR JTAGICE mkII, либо AVR Dragon поверх заголовка ICSP?
Вопрос 2: GDB сервер
Затем я заметил, что есть некоторые проекты, такие как AVaRICE, которые, кажется, предоставляют функцию jtag to gdb, но могут быть другие проекты?
Вопрос 3: где эльф?
И если я запустил его и запустил, где IDE Arduino скрывает сгенерированный вывод как файл elf с символами отладки (должен быть один)? Или мне нужно сгенерировать классический Makefile, который использует только библиотеки Ardino?
Я пытался найти некоторую информацию о том, что / как использовать, но я нашел только те подсказки, которые говорили мне, что я мог сделать. Может ли кто-то подтолкнуть меня в правильном направлении?
Ответы:
Вы можете найти артефакты компилятора, удерживая клавишу Shift при нажатии кнопки компиляции в более старой версии IDE (чтение <1.0). В более новых версиях (read> = 1.0) в диалоге настроек есть опция для отображения подробного вывода во время компиляции (см. Скриншот). При подробном выводе папка, в которой заканчиваются все выходные данные компилятора, печатается (неоднократно) в консоли. Это должно помочь вам начать, по крайней мере.
В дополнение к этому, в начале 2012 года в списке разработчиков Arduino была вся эта болтовня на эту тему, и кто-то опубликовал в списке разработчиков Arduino объявление об улучшенном / интегрированном способе отладки GDB для Arduino, но я не исследовал это намного дальше. Я предполагаю, что проект называется VisualMicro (?). Похоже, он был построен как плагин для Visual Studio, поэтому он может оказаться бесполезным для вас в среде Linux, и он находится в бета-версии, но я дам вам решение.
источник
Симулятор процессора Simavr AVR теперь предоставляет хороший GDB-сервер для отладки AVR фирмы, включая Arduino. Вы можете использовать его по своему усмотрению (требует написания небольшого консольного приложения для вашей конкретной конфигурации оборудования) или из среды Simutron GUI , где вы можете определить конфигурацию вашего оборудования с помощью схематического захвата.
Примечание: с этими инструментами у вас нет физического соединения, так как все оборудование моделируется.
источник
Ответ дан в статье из журнала Linux, на которую ссылается аналогичный вопрос: Jtag debugging AVR .
В основном, используя avr-gdb и simulavr в тандеме, вы можете запускать свое программное обеспечение на микроконтроллерах AVR на симуляторе, используя GDB для просмотра и наблюдения за выполнением кода.
Надеюсь это поможет!
источник