14.1. Développement du micrologiciel

Ces pages s’adressent aux développeurs de micrologiciel – les personnes qui souhaitent modifier le code C exécuté sur l’OpenMV Cam, et pas seulement écrire des scripts MicroPython. Elles couvrent l’ensemble du cycle : configurer un éditeur, installer la chaîne d’outils de compilation, compiler le micrologiciel pour chaque carte prise en charge, flasher votre compilation sur une caméra et la déboguer sur du matériel réel avec une sonde J-Link et le débogage pas à pas au niveau du code source dans VS Code.

À la fin, vous devriez être capable de prendre une machine vierge, compiler le micrologiciel, le mettre sur une caméra, placer un point d’arrêt dans le code source C et exécuter le processeur pas à pas.

Note

Le micrologiciel OpenMV est un fork de MicroPython auquel ont été ajoutés la bibliothèque de vision industrielle d’OpenMV, les pilotes et les portages de cartes. Le code source réside sur github.com/openmv/openmv. Les modules Python image / ml / csi que vous utilisez dans vos scripts sont du code C dans ce dépôt.

14.1.1. Comment fonctionne la compilation

Deux choses méritent d’être comprises avant de commencer, car elles expliquent toutes les instructions ci-dessous :

  • La compilation est pilotée par le SDK. Vous n’installez pas vous-même le compilateur ARM, CMake, Python ou les outils ST. Le dépôt fige une version exacte du SDK OpenMV (le fichier SDK_VERSION1.6.0 au moment de la rédaction), et make sdk télécharge et décompresse ce SDK dans ~/openmv-sdk-<version>/. La compilation ajoute ensuite en tête du PATH les répertoires gcc, llvm, cmake, python et des outils ST du SDK. Cela signifie que tout le monde compile avec la même chaîne d’outils exacte, et que la configuration de l’hôte est minimale.

  • Il n’y a pas de compilation native Windows. La chaîne d’outils et les scripts de compilation ne ciblent que Linux (x86-64) et macOS (arm64). Sous Windows, vous compilez dans WSL (Windows Subsystem for Linux), qui est un véritable environnement Linux – ainsi, une fois WSL installé, les utilisateurs Windows suivent exactement les instructions Linux. Une compilation basée sur Docker et une VM Linux sont également des options.

La séquence de haut niveau sur tout système pris en charge est toujours :

  1. Installer un éditeur (VS Code).

  2. Obtenir un shell de type Linux (Linux natif, macOS ou WSL sous Windows).

  3. Cloner le dépôt et ses sous-modules.

  4. make sdk – installation unique de la chaîne d’outils.

  5. make -C lib/micropython/mpy-cross – compiler le compilateur de bytecode.

  6. make TARGET=<board> – compiler le micrologiciel.

  7. Le flasher (OpenMV IDE ou dfu-util).

  8. Éventuellement, brancher un J-Link et le déboguer.

Les pages ci-dessous décrivent chaque étape dans l’ordre.