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_VERSION–1.6.0i skrivande stund), ochmake sdkladdar ner och packar upp den SDK:n till~/openmv-sdk-<version>/. Bygget lägger sedan SDK:ns kataloger förgcc,llvm,cmake,pythonoch ST-verktyg först iPATH. 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:
Installera en editor (VS Code).
Skaffa ett Linux-liknande skal (inbyggt Linux, macOS eller WSL på Windows).
Klona repositoryt och dess submoduler.
make sdk– engångsinstallation av verktygskedjan.make -C lib/micropython/mpy-cross– bygg bytekodskompilatorn.make TARGET=<board>– bygg den fasta programvaran.Flasha den (OpenMV IDE eller
dfu-util).Anslut eventuellt en J-Link och felsök den.
Sidorna nedan går igenom varje steg i ordning.