elbear_arduino_bsp/docs/debug_description.md

6.0 KiB
Raw Blame History

Режим отладки в ArduinoIDE 2

Начиная с версии пакета 0.5.0 для всех плат, входящих в состав пакета, доступен режим отладки скетчей. Для отладки плат ELBEAR ACE-UNO, ELBEAR ACE-NANO, ELSOMIK понадобится программатор ELJTAG. Плата START-MIK32 содержит встроенный программатор, для использования которого необходимо передвинуть переключатель режима программатора на плате в положение JTAG.
Режим отладки доступен в ArduinoIDE версии 2 и выше.

Предварительная подготовка

Для отладки в Arduino IDE используется плагин Cortex-Debug. По умолчанию в IDE установлена версия плагина 1.5.1, но с указанной версией режим отладки для плат из состава пакета работает некорректно. Для корректной работы отладки необходимо установить более новую версию плагина. Архив, содержащий небходимую версию Cortex-Debug и все его зависимости, можно найти в дополнительных материалах к релизу. Для подготовки к работе в режиме отладки необходимо сделать следующее:

  • Установить драйвера для работы с программатором, если ранее они не были установлены. Подробности можно найти в инструкции по первому запуску платы ELBEAR ACE-UNO или в документации по запуску платы START-MIK32.
  • Скачать архив с плагином по ссылке.
  • Содержимое архива переместить в папку plugins в папке с установленной ArduinoIDE. Примерный путь - C:\Program Files\Arduino IDE\resources\app\plugins. Содержимое архива (несколько файлов с расширением .vsix) разместить в указанной папке, не создавая промежуточных папок.
  • Запустить ArduinoIDE и по инструкции, описанной ниже, запустить режим отладки.
  • Удостовериться, что при запуске отладки в первой строке консоли отладки отображается нужная версия плагина - 1.12.1: Cortex-Debug: VSCode debugger extension version 1.12.1 git(652d042). Usage info: https://github.com/Marus/cortex-debug#usage
  • При возникновении сложностей с вопросами можно обратиться в телеграмм-канал компании.

Запуск отладки

Последовательность действий для запуска режима отладки:

  1. В ArduinoIDE открыть скетч, который необходимо запустить в режиме отладки.
  2. Выбрать нужную плату - Инструменты -> Плата.
  3. Подключить плату к ПК через программатор. Для плат ELBEAR ACE-NANO, ELSOMIK использовать ELJTAG. На плате START-MIK32 передвинуть переключатель режима программатора в положение JTAG.
  4. В ArduinoIDE выбрать используемый программатор - Инструменты -> Программатор -> mik32 uploader.
  5. Активировать оптимизацию для отладки при сборке скетча - Скетч -> Оптимизировать для отладки. Если отладку запустить без указанной оптимизации, при пошаговом прохождении скетча могут возникнуть проблемы, например, с "перепрыгиванием" лишних строк кода.
  6. Скомпилировать скетч - Скетч -> Проверить/Скомпилировать.
  7. Загрузить скетч на плату. Загружать скетч можно как по USB (Скетч -> Загрузить на плату), так и через программатор (Скетч -> Загрузить на плату при помощи программатора).
    ! При запуске отладки скетч не компилируется и не загружается на плату автоматически. Поэтому при внесении изменений в код необходимо вручную повторять пункты 6,7 перед запуском отладки.

В отладке доступно:

  • отладочная информация в консоли отладки
  • пошаговое исследование кода
  • выполнение кода до точки останова (доступно только 2 точки)
  • отслеживание состояния указанных переменных
  • просмотр состояния периферийных регистров микроконтроллера
  • просмотр состояния служебных регистров (и регистров из архитектуры)
  • просмотр стека вызовов при паузе