14.1. Utveckling av fast programvara

Dessa sidor är för utvecklare av fast programvara – personer som vill ändra C-koden som körs på OpenMV Cam, inte bara skriva MicroPython-skript. De täcker hela kedjan: att ställa in en editor, installera byggverktygskedjan, kompilera den fasta programvaran för varje kort som stöds, flasha din build på en kamera och felsöka den på verklig hårdvara med en J-Link-sond och stegvis felsökning på källkodsnivå i VS Code.

I slutet bör du kunna ta en ren maskin, bygga den fasta programvaran, lägga den på en kamera, sätta en brytpunkt i C-källkoden och stega processorn steg för steg.

Anteckning

OpenMV:s fasta programvara är en fork av MicroPython med OpenMV:s maskinseendebibliotek, drivrutiner och kortportar tillagda. Källkoden finns på github.com/openmv/openmv. Python-modulerna image / ml / csi som du använder i skript är C-kod i detta repository.

14.1.1. Hur bygget fungerar

Två saker är värda att förstå innan du börjar, eftersom de förklarar alla instruktioner nedan:

  • Bygget är SDK-drivet. Du installerar inte ARM-kompilatorn, CMake, Python eller ST-verktygen själv. Repositoryt fäster en exakt OpenMV SDK-version (filen SDK_VERSION1.6.0 i skrivande stund), och make sdk laddar ner och packar upp den SDK:n till ~/openmv-sdk-<version>/. Bygget lägger sedan SDK:ns kataloger för gcc, llvm, cmake, python och ST-verktyg först i PATH. Detta innebär att alla bygger med exakt samma verktygskedja, och värddatorinställningen blir minimal.

  • Det finns inget inbyggt Windows-bygge. Verktygskedjan och byggskripten riktar sig endast till Linux (x86-64) och macOS (arm64). På Windows bygger du inuti WSL (Windows Subsystem for Linux), som är en riktig Linux-miljö – så när WSL väl är installerat följer Windows-användare Linux-instruktionerna exakt. Ett Docker-baserat bygge och en Linux-VM är också alternativ.

Den övergripande sekvensen på alla system som stöds är alltid:

  1. Installera en editor (VS Code).

  2. Skaffa ett Linux-liknande skal (inbyggt Linux, macOS eller WSL på Windows).

  3. Klona repositoryt och dess submoduler.

  4. make sdk – engångsinstallation av verktygskedjan.

  5. make -C lib/micropython/mpy-cross – bygg bytekodskompilatorn.

  6. make TARGET=<board> – bygg den fasta programvaran.

  7. Flasha den (OpenMV IDE eller dfu-util).

  8. Anslut eventuellt en J-Link och felsök den.

Sidorna nedan går igenom varje steg i ordning.