elbear_arduino_bsp/docs/debug_description.md

38 lines
6.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Режим отладки в ArduinoIDE 2
Начиная с версии пакета 0.5.0 для всех плат, входящих в состав пакета, доступен режим отладки скетчей.
Для отладки плат ELBEAR ACE-UNO, ELBEAR ACE-NANO, ELSOMIK понадобится программатор [ELJTAG](https://elron.tech/eljtag-programmator-risc-v-mcu/). Плата START-MIK32 содержит встроенный программатор, для использования которого необходимо передвинуть переключатель режима программатора на плате в положение `JTAG`.
Режим отладки доступен в ArduinoIDE версии 2 и выше.
# Предварительная подготовка
Для отладки в Arduino IDE используется плагин Cortex-Debug. По умолчанию в IDE установлена версия плагина 1.5.1, но с указанной версией режим отладки для плат из состава пакета работает некорректно. Для корректной работы отладки необходимо установить более новую версию плагина. Архив, содержащий небходимую версию Cortex-Debug и все его зависимости, можно найти в дополнительных материалах к релизу.
Для подготовки к работе в режиме отладки необходимо сделать следующее:
* Установить драйвера для работы с программатором, если ранее они не были установлены. Подробности можно найти в [инструкции](https://elron.tech/wp-content/uploads/2024/05/instrukcija-po-pervomu-zapusku.pdf) по первому запуску платы ELBEAR ACE-UNO или в [документации](https://wiki.mik32.ru/%D0%9E%D1%82%D0%BB%D0%B0%D0%B4%D0%BE%D1%87%D0%BD%D0%B0%D1%8F_%D0%BF%D0%BB%D0%B0%D1%82%D0%B0_%D0%A1%D1%82%D0%B0%D1%80%D1%82) по запуску платы 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`
* При возникновении сложностей с вопросами можно обратиться в [телеграмм-канал компании](https://t.me/elrontech).
# Запуск отладки
Последовательность действий для запуска режима отладки:
1. В ArduinoIDE открыть скетч, который необходимо запустить в режиме отладки.
2. Выбрать нужную плату - `Инструменты -> Плата`.
3. Подключить плату к ПК через программатор. Для плат ELBEAR ACE-NANO, ELSOMIK использовать ELJTAG. На плате START-MIK32 передвинуть переключатель режима программатора в положение `JTAG`.
4. В ArduinoIDE выбрать используемый программатор - `Инструменты -> Программатор -> mik32 uploader`.
5. Активировать оптимизацию для отладки при сборке скетча - `Скетч -> Оптимизировать для отладки`. Если отладку запустить без указанной оптимизации, при пошаговом прохождении скетча могут возникнуть проблемы, например, с "перепрыгиванием" лишних строк кода.
6. Скомпилировать скетч - `Скетч -> Проверить/Скомпилировать`.
7. Загрузить скетч на плату. Загружать скетч можно как по USB (`Скетч -> Загрузить на плату`), так и через программатор (`Скетч -> Загрузить на плату при помощи программатора`).
! При запуске отладки скетч не компилируется и не загружается на плату автоматически. Поэтому при внесении изменений в код необходимо вручную повторять пункты 6,7 перед запуском отладки.
8.
В отладке доступно:
- отладочная информация в консоли отладки
- пошаговое исследование кода
- выполнение кода до точки останова (доступно только 2 точки)
- отслеживание состояния указанных переменных
- просмотр состояния периферийных регистров микроконтроллера
- просмотр состояния служебных регистров (и регистров из архитектуры)
- просмотр стека вызовов при паузе