Добрый день! Ввиду того, что люди спрашивают как загрузить 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
И там добавляем репозиторий, вот список:
- Eclipse 4.3 (Kepler)
- Eclipse 4.2 (Juno)
- Eclipse 3.7 (Indigo)
- Eclipse 3.6 (Helios)
- Eclipse 3.5 (Galileo)
Далее выбираем пункт GDB Optional Features -> GDB Hardware Debugging
Далее создаем конфигурацию для отладки Run -> Debug Configurations. Выбираем образ, который будем отлаживать.
Параметры отладчика.
Собственно все, теперь можно запустить и ходить по точкам останова.
Частично приведенная информация есть у нас на странице вики.
На этом все, удачной отладки.