Отладка Embox на STM32 +16



Добрый день! Ввиду того, что люди спрашивают как загрузить Embox на отладочные платы на базе STM32, мы решили выпустить этот рецепт. Его можно рассматривать как дополнение к статье.

Описание будет для отладочной платы STM32F7-Discovery, но в целом оно верно и для других серий STM32 (по ходу будут приведены уточнения для STM32F4).

Первым делом нужно склонировать Embox

git clone https://github.com/embox/embox.git embox

и прочитать про доп. пакеты на нашем вики. Вероятно, не все они обязательны для конкретного темплейта, но имейте ввиду, что лучше сразу их установить.

Далее, вам понадобится кросс-компилятор для arm-а и OpenOCD для прошивки и отладки.

Переходим в директорию c Embox.

Сборка:

  • Загружаем конфиг — make confload-arm/stm32f7cube (или make confload-arm/stm32f4cube для F4)
  • Собираем командой make (или make -j4 и т.д.)

Запуск OpenOCD (лучше в отдельной консоли):

  • sudo openocd -f OPENOCD_PATH/tcl/board/stm32f7discovery.cfg (соответственно stm32f4discovery.cfg для F4)

Подключение по minicom (лучше в отдельной консоли):

  • sudo minicom -D /dev/ttyACM0

Да, для F7, это совсем просто, так как у нее com порт, usb host и отладчик сидят на одном USB. Поэтому воткнули mini-usb, и готово. Для F4 используется специальный провод для COM порта и расширение для отладочной платы. Но принцип остается таким же.

Загрузка образа (лучше в отдельной консоли):

  • arm-none-eabi-gdb build/base/bin/embox

В консоли отладчика выполняем команды:

  • target extended-remote :3333
  • monitor reset halt
  • load

Естественно, поскольку это gdb, то все команды там действуют. Вы можете ходить по шагам и точкам останова, смотреть значения переменных, ставить watchpoint и так далее.

После переключения в minicom, мы должны увидеть, что Embox загрузился, и появилась командная строка:



Ну вот и все, готово!

Отладка из Eclipse
Немного добавлю про отладку из популярной IDE Eclipse.
Все вышеперечисленное остается в силе, только вместо консольного gdb будем использовать графический Eclipse.

Нам потребуется установить плагин, который позволяет отлаживаться на аппаратуре, предполагается, что eclipse-cdt уже установлен.

Процесс установки плагина стандарный. В меню выбираем Help -> Install New Software

И там добавляем репозиторий, вот список:


Далее выбираем пункт GDB Optional Features -> GDB Hardware Debugging



Далее создаем конфигурацию для отладки Run -> Debug Configurations. Выбираем образ, который будем отлаживать.



Параметры отладчика.



Собственно все, теперь можно запустить и ходить по точкам останова.



Частично приведенная информация есть у нас на странице вики.

На этом все, удачной отладки.




К сожалению, не доступен сервер mySQL