14.1. Разработка прошивки¶
Эти страницы предназначены для разработчиков прошивки – тех, кто хочет изменять код на C, выполняющийся на OpenMV Cam, а не просто писать скрипты на MicroPython. Они охватывают весь цикл: настройку редактора, установку инструментария сборки, компиляцию прошивки для каждой поддерживаемой платы, прошивку вашей сборки на камеру и её отладку на реальном оборудовании с помощью пробника J-Link и пошаговой отладки на уровне исходного кода в VS Code.
К концу вы должны уметь взять чистую машину, собрать прошивку, записать её на камеру, установить точку останова в исходном коде на C и выполнять процессор по шагам.
Примечание
Прошивка OpenMV – это форк MicroPython с добавленными библиотекой машинного зрения OpenMV, драйверами и портами под платы. Исходный код находится на github.com/openmv/openmv. Модули Python image / ml / csi, которые вы используете в скриптах, – это код на C в этом репозитории.
14.1.1. Как работает сборка¶
Прежде чем начать, стоит понять две вещи, поскольку они объясняют все приведённые ниже инструкции:
Сборка управляется SDK. Вам не нужно самостоятельно устанавливать компилятор ARM, CMake, Python или инструменты ST. Репозиторий фиксирует точную версию OpenMV SDK (файл
SDK_VERSION–1.6.0на момент написания), аmake sdkзагружает и распаковывает этот SDK в~/openmv-sdk-<version>/. Затем сборка добавляет в началоPATHкаталогиgcc,llvm,cmake,pythonи инструментов ST из SDK. Это означает, что все собирают одним и тем же в точности инструментарием, а настройка хоста минимальна.Нативной сборки под Windows нет. Инструментарий и скрипты сборки рассчитаны только на Linux (x86-64) и macOS (arm64). В Windows вы собираете внутри WSL (Windows Subsystem for Linux), которая является настоящей средой Linux – поэтому после установки WSL пользователи Windows точно следуют инструкциям для Linux. Сборка на основе Docker и виртуальная машина с Linux также являются вариантами.
Высокоуровневая последовательность на любой поддерживаемой системе всегда такова:
Установите редактор (VS Code).
Получите Linux-подобную оболочку (нативный Linux, macOS или WSL в Windows).
Клонируйте репозиторий и его подмодули.
make sdk– однократная установка инструментария.make -C lib/micropython/mpy-cross– сборка компилятора байт-кода.make TARGET=<board>– сборка прошивки.Прошейте её (OpenMV IDE или
dfu-util).При желании подключите J-Link и отладьте её.
Страницы ниже последовательно проводят вас через каждый шаг.