14.1.1.1. Configuration de l’environnement de développement¶
Vous avez besoin de trois éléments sur l’hôte avant de pouvoir compiler : un éditeur (VS Code est recommandé car le débogueur s’y intègre), un shell de type Linux (WSL sous Windows, natif sous Linux/macOS) et le dépôt OpenMV avec le SDK épinglé extrait.
14.1.1.1.1. VS Code¶
N’importe quel éditeur convient pour le développement du micrologiciel – la compilation se résume à make, et le débogueur sur matériel s’exécute également depuis la ligne de commande. Visual Studio Code est simplement la voie la plus simple : la configuration de Débogage du micrologiciel s’intègre à son extension Cortex-Debug, de sorte qu’avec VS Code installé, le reste de ces pages fonctionne immédiatement, aussi bien pour compiler que pour déboguer.
14.1.1.1.1.1. Installation de VS Code¶
Windows – téléchargez le programme d’installation depuis code.visualstudio.com et exécutez-le. Installez VS Code sous Windows, pas à l’intérieur de WSL ; il s’intègre à WSL via l’extension WSL, exécutant son interface sous Windows tandis que le compilateur, les fichiers et le débogueur résident dans Linux.
macOS – téléchargez le fichier
.zipdepuis code.visualstudio.com, décompressez-le et faites glisser Visual Studio Code.app dans/Applications. Ou bienbrew install --cask visual-studio-code.Linux – installez le fichier
.deb/.rpmdepuis code.visualstudio.com (par ex.sudo apt install ./code_*.deb), ou utilisez le Snap/Flatpak de votre distribution.
Extensions à installer (depuis le panneau Extensions, Ctrl+Shift+X) :
C/C++ (
ms-vscode.cpptools) – navigation dans les sources C et IntelliSense.Cortex-Debug (
marus25.cortex-debug) – débogage sur puce via GDB et un serveur J-Link / OpenOCD. Requis pour Débogage du micrologiciel.WSL (
ms-vscode-remote.remote-wsl) – Windows uniquement. Permet à VS Code d’ouvrir un dossier à l’intérieur de votre distribution WSL afin que l’éditeur, le terminal, IntelliSense et Cortex-Debug fonctionnent tous dans Linux. Installez les extensions C/C++ et Cortex-Debug dans l’hôte WSL une fois connecté (VS Code vous y invite).
14.1.1.1.2. Shell hôte¶
Vous avez besoin d’un environnement Linux (x86-64) ou macOS (arm64) avec git et quelques outils de base. Choisissez la section correspondant à votre système d’exploitation.
14.1.1.1.2.1. Windows : installer WSL¶
WSL exécute un véritable espace utilisateur Ubuntu sous Windows. Une fois installé, chaque instruction ultérieure de ce guide est identique à celle de Linux natif.
Ouvrez PowerShell en tant qu’administrateur (clic droit sur Démarrer -> Terminal (Admin)).
Installez WSL avec la distribution Ubuntu par défaut
wsl --installCela active les fonctionnalités Windows requises, installe le noyau WSL 2 et installe Ubuntu. Redémarrez si cela vous est demandé.
Après le redémarrage, Ubuntu se lance et vous demande de créer un nom d’utilisateur et un mot de passe UNIX. Ce compte est indépendant de votre compte Windows.
Mettez à jour la distribution
sudo apt update && sudo apt upgrade -yVérifiez que vous êtes bien sous WSL 2 (requis – WSL 1 n’est pas pris en charge pour ce flux de travail). Dans PowerShell
wsl --list --verboseLa colonne
VERSIONdoit indiquer2. Si elle indique1, convertissez-lawsl --set-version Ubuntu 2
Astuce
Travaillez à l’intérieur du système de fichiers Linux (~/ sous WSL), et non sous /mnt/c/. Compiler sur le lecteur monté de Windows est nettement plus lent et peut entraîner des problèmes de permissions de fichiers et de fins de ligne. Clonez le dépôt dans votre répertoire personnel WSL.
Pour ouvrir le projet ultérieurement : lancez Ubuntu depuis le menu Démarrer pour obtenir un shell, ou depuis VS Code sous Windows appuyez sur Ctrl+Shift+P -> WSL: Connect to WSL, puis File -> Open Folder et choisissez le dépôt cloné dans le système de fichiers Linux.
14.1.1.1.2.2. Prérequis Linux / WSL¶
Le SDK fournit le compilateur, de sorte que seuls quelques paquets hôtes sont nécessaires
sudo apt-get update
sudo apt-get install git build-essential
14.1.1.1.2.3. Prérequis macOS¶
La compilation native n’est prise en charge que sur macOS Apple-silicon (arm64). En utilisant Homebrew
brew install bash make coreutils
(Les Mac Intel ne sont pas pris en charge comme hôte de compilation natif – utilisez la compilation Docker décrite dans Compiler le micrologiciel ou une VM Linux.)
14.1.1.1.3. Obtention des sources¶
Clonez le dépôt avec tous les sous-modules (MicroPython, CMSIS, pilotes de fournisseurs, etc.)
git clone --recursive https://github.com/openmv/openmv.git
cd openmv
Un clone récursif complet est volumineux. Pour un clone superficiel plus rapide
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
Note
Lors de la compilation d’une carte spécifique, vous pouvez à la place laisser make ne récupérer que les sous-modules de cette carte
make TARGET=<board> submodules
La commande explicite git submodule update indiquée ci-dessus couvre déjà tout, cette étape est donc facultative.
14.1.1.1.4. Installation du SDK OpenMV¶
Depuis la racine du dépôt, exécutez l’installation unique du SDK
make sdk
Cette commande télécharge openmv-sdk-<version>-<os>-<arch>.tar.xz depuis download.openmv.io, vérifie sa somme de contrôle SHA-256 et l’extrait dans ~/openmv-sdk-<version>/ (la version est épinglée par le fichier SDK_VERSION du dépôt). Elle est idempotente – la relancer ne fait rien si la bonne version est déjà installée, et la compilation normale s’interrompt avec le message « OpenMV SDK not found. Run “make sdk” to install it. » s’il est absent ou s’il s’agit de la mauvaise version.
Le SDK regroupe tout ce dont la compilation et le débogueur ont besoin, le tout étant ajouté automatiquement au PATH par le Makefile :
Composant |
Rôle |
|---|---|
Chaîne d’outils ARM GNU ( |
Compilateur, éditeur de liens, |
LLVM/clang |
Utilisé pour certains objets sur certains ports |
CMake, GNU Make |
Orchestration de la compilation pour les bibliothèques des fournisseurs |
Python (relocalisable) |
Scripts de compilation, utilitaires |
STM32CubeProgrammer ( |
Flashage SWD et flux de récupération du STM32N6 |
ST Edge AI |
Compilateur de réseaux de neurones pour le NPU du STM32N6 |
|
Flashage USB DFU |
|
Le lanceur de serveur GDB de la cible |
Avertissement
Les OpenMV N6 et OpenMV AE3 utilisent des cœurs Cortex-M55 et nécessitent GCC 14.3 ou plus récent. La compilation l’impose pour ces cibles et s’interrompt avec une erreur « Upgrade to GCC 14.3+ for proper CM55 support » si un arm-none-eabi-gcc plus ancien est trouvé avant celui du SDK dans le PATH. La chaîne d’outils du SDK fournie satisfait déjà cette exigence ; l’erreur signifie qu’une autre chaîne d’outils, plus ancienne, la masque.