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 VM.
Загальна послідовність на будь-якій підтримуваній системі завжди така:
Встановіть редактор (VS Code).
Отримайте Linux-подібну оболонку (рідний Linux, macOS або WSL на Windows).
Клонуйте репозиторій та його підмодулі.
make sdk– одноразове встановлення ланцюжка інструментів.make -C lib/micropython/mpy-cross– збірка компілятора байт-коду.make TARGET=<board>– збірка мікропрограми.Прошийте її (OpenMV IDE або
dfu-util).За бажанням підключіть J-Link та налагоджуйте її.
На наведених нижче сторінках детально описано кожен крок по порядку.