14.1. Firmware-fejlesztés¶
Ezek az oldalak a firmware-fejlesztőknek szólnak – azoknak, akik meg akarják változtatni az OpenMV Cam-en futó C kódot, nem csak MicroPython szkripteket írni. A teljes folyamatot lefedik: egy szerkesztő beállítása, a build eszközlánc telepítése, a firmware lefordítása minden támogatott kártyához, a build flashelése a kamerára, valamint a hibakeresése valódi hardveren egy J-Link szondával és egységnyi lépéses, forráskód-szintű hibakereséssel a VS Code-ban.
A végére képesnek kell lennie arra, hogy egy tiszta gépen lefordítsa a firmware-t, feltegye azt egy kamerára, töréspontot állítson be a C forráskódban, és lépésenként futtassa a processzort.
Megjegyzés
Az OpenMV firmware a MicroPython egy forkja, kiegészítve az OpenMV gépi látás könyvtárral, illesztőprogramokkal és kártyaportokkal. A forrás a github.com/openmv/openmv címen található. A szkriptekben használt Python image / ml / csi modulok ebben a tárolóban C kódként vannak megvalósítva.
14.1.1. Hogyan működik a build¶
Két dolgot érdemes megérteni, mielőtt belekezdene, mert ezek magyarázzák az összes alábbi utasítást:
A build SDK-vezérelt. Nem kell saját maga telepítenie az ARM fordítót, a CMake-et, a Pythont vagy az ST eszközöket. A tároló egy pontos OpenMV SDK verziót rögzít (a
SDK_VERSIONfájl – a jelen írás idején1.6.0), és amake sdkletölti és kicsomagolja azt az SDK-t a~/openmv-sdk-<version>/könyvtárba. A build ezután az SDKgcc,llvm,cmake,pythonés ST eszközkönyvtárait aPATHelejére helyezi. Ez azt jelenti, hogy mindenki pontosan ugyanazzal az eszközlánccal buildel, és a hosztgép beállítása minimális.Nincs natív Windows build. Az eszközlánc és a build szkriptek csak Linuxot (x86-64) és macOS-t (arm64) céloznak. Windowson a WSL (Windows Subsystem for Linux) belsejében buildel, ami egy valódi Linux környezet – így a WSL telepítése után a Windows-felhasználók pontosan a Linux utasításokat követik. A Docker-alapú build és egy Linux VM is választható lehetőség.
A magas szintű szekvencia bármely támogatott rendszeren mindig a következő:
Telepítsen egy szerkesztőt (VS Code).
Szerezzen be egy Linux-szerű shellt (natív Linux, macOS vagy WSL Windowson).
Klónozza a tárolót és annak almoduljait.
make sdk– egyszeri eszközlánc-telepítés.make -C lib/micropython/mpy-cross– a bájtkód-fordító buildelése.make TARGET=<board>– a firmware buildelése.Flashelje azt (OpenMV IDE vagy
dfu-util).Opcionálisan csatlakoztasson egy J-Linket, és végezzen hibakeresést.
Az alábbi oldalak sorban végigvezetik az egyes lépéseken.