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_VERSION1.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 также являются вариантами.

Высокоуровневая последовательность на любой поддерживаемой системе всегда такова:

  1. Установите редактор (VS Code).

  2. Получите Linux-подобную оболочку (нативный Linux, macOS или WSL в Windows).

  3. Клонируйте репозиторий и его подмодули.

  4. make sdk – однократная установка инструментария.

  5. make -C lib/micropython/mpy-cross – сборка компилятора байт-кода.

  6. make TARGET=<board> – сборка прошивки.

  7. Прошейте её (OpenMV IDE или dfu-util).

  8. При желании подключите J-Link и отладьте её.

Страницы ниже последовательно проводят вас через каждый шаг.