habrahabr

Отладка Embox на STM32


Добрый день! Ввиду того, что люди спрашивают как загрузить 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. Выбираем образ, который будем отлаживать.

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

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

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

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