9.1 KiB
! Внимание Данная инструкция проверена и работает с версией Arduino IDE версии 2.3.4 на Windows 10 x64. На других версиях Arduino IDE работоспособность неизвестна. Функция отладки является экспериментальной.
Режим отладки в 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, но с указанной версией режим отладки для плат из состава пакета работает некорректно. Для корректной работы необходимо использовать более новую версию плагина.
Для подготовки к работе в режиме отладки необходимо сделать следующее:
- Установить драйвера для работы с программатором, если ранее они не были установлены. Подробности можно найти в инструкции по первому запуску платы ELBEAR ACE-UNO или в документации по запуску платы START-MIK32.
- Скачать архив, содержащий небходимую версию Cortex-Debug и все его зависимости, по ссылке.
- Содержимое архива переместить в папку
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 - При возникновении сложностей с вопросами можно обратиться в телеграмм-канал компании.
После установки новой версии плагина в строке меню и в области вывода информации появятся две новые вкладки - MEMORY и xRTOS. Это плагины, которые необходимы для работы Cortex-Debug. Они не используются непосредственно пользователем при работе, но удалять их нельзя, иначе режим отладки с установленной версией Cortex-Debug не запустится.
Запуск отладки
Последовательность действий для запуска режима отладки:
- В ArduinoIDE открыть скетч, который необходимо запустить в режиме отладки.
- Выбрать нужную плату -
Инструменты -> Плата. - Подключить плату к ПК через программатор. Для плат ELBEAR ACE-UNO, ELBEAR ACE-NANO, ELSOMIK использовать ELJTAG. На плате START-MIK32 передвинуть переключатель режима программатора в положение
JTAG. - В ArduinoIDE выбрать используемый программатор -
Инструменты -> Программатор -> mik32 uploader. - Активировать оптимизацию для отладки при сборке скетча -
Скетч -> Оптимизировать для отладки. Если отладку запустить без указанной оптимизации, при пошаговом прохождении скетча могут возникнуть проблемы, например, с "перепрыгиванием" лишних строк кода, или значения некоторых переменных могут отображаться некорректно. - Скомпилировать скетч -
Скетч -> Проверить/Скомпилировать. - Загрузить скетч на плату. Загружать скетч можно как по USB (
Скетч -> Загрузить на плату), так и через программатор (Скетч -> Загрузить на плату при помощи программатора).
! При запуске отладки скетч не компилируется и не загружается на плату автоматически. Поэтому при внесении изменений в код необходимо вручную повторять пункты 6,7 перед запуском отладки. - Открыть панель отладочника в меню слева:
После запуска отладки здесь будут доступны к просмотру стек вызовов функций, значения переменных, установленные точки останова, а также состояние периферийных регистров микроконтроллера. - Для запуска отладки необходимо нажать кнопку
Начать отладкув верхней части экрана:
При этом:- Откроется новый терминал
gdb-server, в котором запустится программа openocd. Терминал отображает статус соединения с микроконтроллером. - Запустится режим отладки, а курсор выполнения программы остановится в начале функции
setup(). - Станут активными кнопки пошагового перемещения по программе.
- Во всех разделах на панели отладки обновится информация.
- Откроется новый терминал
- Для просмотра отладочной информации можно запустить консоль отладки. Для этого на панели отладки нужно нажать соответствующую кнопку:
В официальной статье подробно описано, как работать с точками останова и пошаговой отладкой кода. Помимо этого, режим отладки позволяет получить доступ к системным регистрам и регистрам периферии микроконтроллера.

При работе с платами, входящими в состав пакета, накладывается ограничение на доступное количество точек останова - одновременно можно использовать не более 2-х точек. При этом вторая точка останова становится доступной после запуска отладки, когда курсор выполнения программы остановится на функции setup(). Режим отладки не запустится, если в скетче уже установлены обе точки останова.