14.1.1.1. Konfigurera utvecklingsmiljön

Du behöver tre saker på värddatorn innan du kan kompilera: en editor (VS Code rekommenderas eftersom felsökaren ansluter till den), ett Linux-liknande skal (WSL på Windows, inbyggt på Linux/macOS) och OpenMV-arkivet med den fastlåsta SDK:n uppackad.

14.1.1.1.1. VS Code

Vilken editor som helst fungerar för utveckling av fast programvara – bygget är bara make, och felsökaren på hårdvaran körs också från kommandoraden. Visual Studio Code är helt enkelt den enklaste vägen: konfigurationen i Felsöka den fasta programvaran ansluter till dess Cortex-Debug-tillägg, så med VS Code installerat fungerar resten av dessa sidor direkt, både för att bygga och felsöka.

14.1.1.1.1.1. Installera VS Code

  • Windows – ladda ner installationsprogrammet från code.visualstudio.com och kör det. Installera VS Code på Windows, inte inuti WSL; det integreras med WSL via tillägget WSL och kör sitt gränssnitt på Windows medan kompilatorn, filerna och felsökaren ligger i Linux.

  • macOS – ladda ner .zip-filen från code.visualstudio.com, packa upp den och dra Visual Studio Code.app till /Applications. Eller brew install --cask visual-studio-code.

  • Linux – installera .deb / .rpm från code.visualstudio.com (t.ex. sudo apt install ./code_*.deb), eller använd distributionens Snap/Flatpak.

Tillägg att installera (från panelen Extensions, Ctrl+Shift+X):

  • C/C++ (ms-vscode.cpptools) – navigering i C-källkod och IntelliSense.

  • Cortex-Debug (marus25.cortex-debug) – felsökning på chippet via GDB och en J-Link / OpenOCD-server. Krävs för Felsöka den fasta programvaran.

  • WSL (ms-vscode-remote.remote-wsl) – endast Windows. Låter VS Code öppna en mapp inuti din WSL-distribution så att editorn, terminalen, IntelliSense och Cortex-Debug alla körs i Linux. Installera tilläggen C/C++ och Cortex-Debug i WSL-värden när du väl är ansluten (VS Code uppmanar dig att göra detta).

14.1.1.1.2. Värdskal

Du behöver en Linux- (x86-64) eller macOS- (arm64) miljö med git och några grundläggande verktyg. Välj avsnittet för ditt operativsystem.

14.1.1.1.2.1. Windows: installera WSL

WSL kör en äkta Ubuntu-användarmiljö på Windows. När den är installerad är varje senare instruktion i den här guiden identisk med inbyggt Linux.

  1. Öppna PowerShell som administratör (högerklicka på Start -> Terminal (Admin)).

  2. Installera WSL med standarddistributionen Ubuntu:

    wsl --install
    

    Detta aktiverar de nödvändiga Windows-funktionerna, installerar WSL 2-kärnan och installerar Ubuntu. Starta om om du uppmanas till det.

  3. Efter omstarten startar Ubuntu och ber dig skapa ett UNIX-användarnamn och lösenord. Detta konto är oberoende av ditt Windows-konto.

  4. Uppdatera distributionen:

    sudo apt update && sudo apt upgrade -y
    
  5. Bekräfta att du kör WSL 2 (krävs – WSL 1 stöds inte för detta arbetsflöde). I PowerShell:

    wsl --list --verbose
    

    Kolumnen VERSION måste visa 2. Om den visar 1, konvertera den:

    wsl --set-version Ubuntu 2
    

Tips

Arbeta inuti Linux-filsystemet (~/ i WSL), inte under /mnt/c/. Att bygga på den Windows-monterade enheten är dramatiskt långsammare och kan orsaka problem med filrättigheter och radslut. Klona arkivet till din WSL-hemkatalog.

För att öppna projektet senare: starta Ubuntu från Start-menyn för ett skal, eller tryck i VS Code på Windows Ctrl+Shift+P -> WSL: Connect to WSL, sedan File -> Open Folder och välj det klonade arkivet i Linux-filsystemet.

14.1.1.1.2.2. Förutsättningar för Linux / WSL

SDK:n tillhandahåller kompilatorn, så endast ett fåtal värdpaket behövs:

sudo apt-get update
sudo apt-get install git build-essential

14.1.1.1.2.3. Förutsättningar för macOS

Inbyggt bygge stöds endast på macOS med Apple-kisel (arm64). Med Homebrew

brew install bash make coreutils

(Intel-macar är inte en värddator som stöds för inbyggt bygge – använd Docker-bygget från Bygga den fasta programvaran eller en Linux-VM.)

14.1.1.1.3. Hämta källkoden

Klona arkivet med alla undermoduler (MicroPython, CMSIS, leverantörsdrivrutiner osv.):

git clone --recursive https://github.com/openmv/openmv.git
cd openmv

En fullständig rekursiv kloning är stor. För en snabbare, grund kloning:

git clone --depth=1 https://github.com/openmv/openmv.git
cd openmv
git submodule update --init --depth=1 --no-single-branch
git -C lib/micropython/ submodule update --init --depth=1

Anteckning

När du bygger ett specifikt kort kan du i stället låta make hämta enbart det kortets undermoduler:

make TARGET=<board> submodules

Den explicita git submodule update som visas ovan täcker redan allt, så detta steg är valfritt.

14.1.1.1.4. Installera OpenMV SDK

Kör engångsinstallationen av SDK:n från arkivets rotkatalog:

make sdk

Detta laddar ner openmv-sdk-<version>-<os>-<arch>.tar.xz från download.openmv.io, verifierar dess SHA-256-kontrollsumma och packar upp den till ~/openmv-sdk-<version>/ (versionen är fastlåst av arkivets SDK_VERSION-fil). Det är idempotent – att köra det igen gör ingenting om rätt version redan är installerad, och det vanliga bygget avbryts med ”OpenMV SDK not found. Run ’make sdk’ to install it.” om den saknas eller är fel version.

SDK:n innehåller allt som bygget och felsökaren behöver, allt automatiskt tillagt i PATH av Makefile:n:

Komponent

Syfte

ARM GNU-verktygskedja (arm-none-eabi-gcc 14.3)

Kompilator, länkare, arm-none-eabi-gdb för felsökning

LLVM/clang

Används för utvalda objekt på vissa portar

CMake, GNU Make

Byggorkestrering för leverantörsbibliotek

Python (omplaceringsbar)

Byggskript, mpy-cross-hjälpverktyg, signering, modellverktyg

STM32CubeProgrammer (STM32_Programmer_CLI)

SWD-flashning och återställningsflödet för STM32N6

ST Edge AI

Neuronnätskompilator för STM32N6:s NPU

dfu-util

USB DFU-flashning

gdbrunner

GDB-serverstartaren för make debug-målet (Segger J-Link-programvaran som den styr är en separat installation)

Varning

OpenMV N6 och OpenMV AE3 använder Cortex-M55-kärnor och kräver GCC 14.3 eller nyare. Bygget upprätthåller detta för dessa mål och avbryts med felet ”Upgrade to GCC 14.3+ for proper CM55 support” om en äldre arm-none-eabi-gcc hittas före SDK:ns på PATH. Den medföljande SDK-verktygskedjan uppfyller redan detta; felet betyder att en annan, äldre verktygskedja skuggar den.