14.1.1.1. De ontwikkelomgeving opzetten¶
Je hebt drie dingen nodig op de host voordat je kunt compileren: een editor (VS Code wordt aanbevolen omdat de debugger erop aansluit), een Linux-achtige shell (WSL op Windows, native op Linux/macOS) en de OpenMV-repository met de vastgepinde SDK uitgepakt.
14.1.1.1.1. VS Code¶
Elke editor werkt voor firmware-ontwikkeling – de build is gewoon make, en de debugger op de hardware draait ook vanaf de opdrachtregel. Visual Studio Code is simpelweg de eenvoudigste weg: de De firmware debuggen-setup sluit aan op de Cortex-Debug-extensie, dus met VS Code geïnstalleerd werkt de rest van deze pagina’s direct, zowel voor het bouwen als voor het debuggen.
14.1.1.1.1.1. VS Code installeren¶
Windows – download het installatieprogramma van code.visualstudio.com en voer het uit. Installeer VS Code op Windows, niet binnen WSL; het integreert met WSL via de WSL-extensie, waarbij de gebruikersinterface op Windows draait terwijl de compiler, bestanden en debugger zich in Linux bevinden.
macOS – download de
.zipvan code.visualstudio.com, pak hem uit en sleep Visual Studio Code.app naar/Applications. Ofbrew install --cask visual-studio-code.Linux – installeer de
.deb/.rpmvan code.visualstudio.com (bijv.sudo apt install ./code_*.deb), of gebruik de Snap/Flatpak van de distributie.
Te installeren extensies (vanuit het Extensions-paneel, Ctrl+Shift+X):
C/C++ (
ms-vscode.cpptools) – C-broncodenavigatie en IntelliSense.Cortex-Debug (
marus25.cortex-debug) – on-chip debuggen via GDB en een J-Link / OpenOCD-server. Vereist voor De firmware debuggen.WSL (
ms-vscode-remote.remote-wsl) – alleen Windows. Laat VS Code een map binnen je WSL-distributie openen zodat de editor, terminal, IntelliSense en Cortex-Debug allemaal in Linux werken. Installeer de C/C++- en Cortex-Debug-extensies in de WSL-host zodra je verbonden bent (VS Code vraagt hierom).
14.1.1.1.2. Host-shell¶
Je hebt een Linux (x86-64)- of macOS (arm64)-omgeving nodig met git en een paar basistools. Kies de sectie voor jouw besturingssysteem.
14.1.1.1.2.1. Windows: WSL installeren¶
WSL draait een echte Ubuntu-userland op Windows. Nadat het geïnstalleerd is, is elke latere instructie in deze handleiding identiek aan native Linux.
Open PowerShell als Administrator (rechtsklik op Start -> Terminal (Admin)).
Installeer WSL met de standaard Ubuntu-distributie:
wsl --installDit schakelt de vereiste Windows-functies in, installeert de WSL 2-kernel en installeert Ubuntu. Herstart als daarom wordt gevraagd.
Na de herstart start Ubuntu en vraagt het je om een UNIX-gebruikersnaam en -wachtwoord aan te maken. Dit account staat los van je Windows-account.
Werk de distributie bij:
sudo apt update && sudo apt upgrade -yBevestig dat je op WSL 2 zit (vereist – WSL 1 wordt niet ondersteund voor deze workflow). In PowerShell:
wsl --list --verboseDe kolom
VERSIONmoet2aangeven. Als er1staat, converteer hem dan:wsl --set-version Ubuntu 2
Tip
Werk binnen het Linux-bestandssysteem (~/ in WSL), niet onder /mnt/c/. Bouwen op de via Windows aangekoppelde schijf is dramatisch trager en kan problemen met bestandsrechten en regeleindes veroorzaken. Kloon de repository naar je WSL-thuismap.
Om het project later te openen: start Ubuntu vanuit het Startmenu voor een shell, of druk vanuit VS Code op Windows op Ctrl+Shift+P -> WSL: Connect to WSL, vervolgens File -> Open Folder en kies de gekloonde repo in het Linux-bestandssysteem.
14.1.1.1.2.2. Linux / WSL-vereisten¶
De SDK levert de compiler, dus slechts een handvol host-pakketten is nodig:
sudo apt-get update
sudo apt-get install git build-essential
14.1.1.1.2.3. macOS-vereisten¶
Native bouwen wordt alleen ondersteund op Apple-silicon (arm64) macOS. Met behulp van Homebrew
brew install bash make coreutils
(Intel-macs zijn geen ondersteunde native build-host – gebruik de Docker-build uit De firmware bouwen of een Linux-VM.)
14.1.1.1.3. De broncode ophalen¶
Kloon de repository met alle submodules (MicroPython, CMSIS, vendor-drivers, enz.):
git clone --recursive https://github.com/openmv/openmv.git
cd openmv
Een volledige recursieve kloon is groot. Voor een snellere, ondiepe kloon:
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
Notitie
Bij het bouwen van een specifiek bord kun je in plaats daarvan make alleen de submodules van dat bord laten ophalen:
make TARGET=<board> submodules
De expliciete git submodule update die hierboven wordt getoond, dekt al alles, dus deze stap is optioneel.
14.1.1.1.4. De OpenMV SDK installeren¶
Voer vanuit de root van de repository de eenmalige SDK-installatie uit:
make sdk
Dit downloadt openmv-sdk-<version>-<os>-<arch>.tar.xz van download.openmv.io, verifieert de SHA-256-checksum en pakt het uit naar ~/openmv-sdk-<version>/ (de versie wordt vastgepind door het SDK_VERSION-bestand van de repo). Het is idempotent – opnieuw uitvoeren doet niets als de juiste versie al geïnstalleerd is, en de gewone build wordt afgebroken met “OpenMV SDK not found. Run ‘make sdk’ to install it.” als hij ontbreekt of de verkeerde versie is.
De SDK bundelt alles wat de build en debugger nodig hebben, allemaal automatisch toegevoegd aan PATH door de Makefile:
Component |
Doel |
|---|---|
ARM GNU-toolchain ( |
Compiler, linker, |
LLVM/clang |
Gebruikt voor geselecteerde objecten op sommige ports |
CMake, GNU Make |
Build-orkestratie voor vendor-bibliotheken |
Python (verplaatsbaar) |
Build-scripts, |
STM32CubeProgrammer ( |
SWD-flashen en de STM32N6-herstelflow |
ST Edge AI |
Neuraal-netwerkcompiler voor de STM32N6 NPU |
|
USB DFU-flashen |
|
De GDB-serverlauncher van het |
Waarschuwing
De OpenMV N6 en OpenMV AE3 gebruiken Cortex-M55-cores en vereisen GCC 14.3 of nieuwer. De build dwingt dit af voor die targets en breekt af met een “Upgrade to GCC 14.3+ for proper CM55 support”-fout als er een oudere arm-none-eabi-gcc voor die van de SDK op PATH wordt gevonden. De meegeleverde SDK-toolchain voldoet hier al aan; de fout betekent dat een andere, oudere toolchain hem overschaduwt.