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_VERSION fájl – a jelen írás idején 1.6.0), és a make sdk letölti és kicsomagolja azt az SDK-t a ~/openmv-sdk-<version>/ könyvtárba. A build ezután az SDK gcc, llvm, cmake, python és ST eszközkönyvtárait a PATH elejé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ő:

  1. Telepítsen egy szerkesztőt (VS Code).

  2. Szerezzen be egy Linux-szerű shellt (natív Linux, macOS vagy WSL Windowson).

  3. Klónozza a tárolót és annak almoduljait.

  4. make sdk – egyszeri eszközlánc-telepítés.

  5. make -C lib/micropython/mpy-cross – a bájtkód-fordító buildelése.

  6. make TARGET=<board> – a firmware buildelése.

  7. Flashelje azt (OpenMV IDE vagy dfu-util).

  8. Opcionálisan csatlakoztasson egy J-Linket, és végezzen hibakeresést.

Az alábbi oldalak sorban végigvezetik az egyes lépéseken.