14.1.1.3. Flasher le micrologiciel¶
Une fois que vous disposez d’un firmware.bin (et de son romfs<n>.img) issu de Compiler le micrologiciel, programmez-le sur la caméra. OpenMV IDE est la méthode recommandée ; la procédure en ligne de commande diffère selon la famille de caméra et est documentée pour chacune sur les pages liées en bas. Le programme d’amorçage lui-même se restaure séparément – voir Restauration du programme d’amorçage.
14.1.1.3.1. OpenMV IDE : Load Custom Firmware (recommandé)¶
OpenMV IDE regroupe tous les outils de flashage (dfu-util, les outils NXP SPSDK, les Alif SE Tools, les outils STM32), installe les pilotes USB requis sous Windows, gère l’entrée dans le programme d’amorçage et sélectionne la commande adaptée à la caméra connectée. C’est la manière recommandée de flasher une compilation personnalisée.
Branchez la caméra en USB (vous n’avez pas besoin de cliquer sur Connect).
Tools -> Load Custom Firmware.
Dans la boîte de dialogue, réglez Firmware Path sur le
build/<TARGET>/bin/firmware.binde votre compilation.Cochez éventuellement Erase internal file system pour effacer le système de fichiers FAT interne de la caméra (voir Effacement du système de fichiers interne pour savoir quand et pourquoi).
Cochez éventuellement Reset ROMFS file system pour reflasher le ROMFS par défaut (désactivé si vous avez sélectionné directement un
.img).Cliquez sur Run. L’IDE redémarre la caméra dans son programme d’amorçage, affiche la commande de flashage exacte et une barre de progression, puis redémarre la caméra sur le nouveau micrologiciel. Attendez la LED bleue d’autotest ; la caméra se ré-énumère ensuite normalement.
Il existe aussi Tools -> Force enter OpenMV Cam bootloader pour placer manuellement la caméra en mode DFU avant le flashage.
14.1.1.3.2. Windows : installer les pilotes USB¶
Windows ne possède pas de pilote intégré pour les interfaces USB DFU, SDP et ISP de la caméra, de sorte que les outils en ligne de commande (dfu-util, les outils NXP SPSDK, les Alif SE Tools) ne peuvent pas détecter le périphérique tant qu’un pilote WinUSB ne lui est pas associé. L’installateur Windows d’OpenMV IDE installe tous ces pilotes ; l’approche la plus simple est donc d’installer OpenMV IDE une fois – après quoi l’IDE et les outils en ligne de commande fonctionnent tous deux. C’est pourquoi le flashage par interface graphique réussit sur une machine Windows neuve alors qu’un dfu-util autonome échoue.
Si l’installation de l’IDE n’est pas envisageable, exécutez l’installateur de pilote correspondant depuis le répertoire share/qtcreator/drivers/ d’OpenMV IDE en tant qu’administrateur :
Installateur de pilote |
Périphériques USB qu’il associe |
|---|---|
|
Périphériques OpenMV DFU, et les interfaces SPSDK du RT1062 ( |
|
Périphériques Arduino DFU ( |
|
L’adaptateur FTDI |
|
Le périphérique ST |
Vous pouvez aussi associer WinUSB au VID:PID spécifique avec Zadig ou pnputil. Aucun flashage en ligne de commande sous Windows ne fonctionne sans cela. Linux et macOS ne nécessitent aucune installation de pilote (Linux requiert uniquement les règles udev).
14.1.1.3.3. Flashage par SWD (make deploy)¶
Si une sonde de débogage est déjà câblée à la caméra – comme c’est le cas pour le débogage – le cycle édition-compilation-flashage le plus rapide contourne l’USB DFU et programme la puce directement par SWD. Sur les caméras STM32
make -j$(nproc) TARGET=<TARGET> deploy
Cela flashe le micrologiciel fraîchement compilé via STM32_Programmer_CLI (issu du SDK) à travers la sonde connectée. Il n’y a pas d’entrée dans le programme d’amorçage, pas de ré-énumération USB et pas de changement de câble : compilez, lancez deploy, et la caméra redémarre en exécutant le nouveau code. C’est le flux de travail recommandé lors du développement actif du micrologiciel. Utilisez le DFU ou OpenMV IDE pour flasher sans sonde ou pour distribuer le micrologiciel à d’autres.
14.1.1.3.4. Entrer en mode programme d’amorçage / DFU¶
Le flashage requiert que la caméra soit en mode programme d’amorçage / DFU. Il y a trois moyens d’y entrer :
Au branchement (toute caméra). Chaque caméra exécute son programme d’amorçage pendant une courte fenêtre lors de sa mise sous tension, avant le démarrage du micrologiciel – branchez la caméra en USB et le programme d’amorçage est brièvement à l’écoute.
Depuis l’IDE (toute caméra). La caméra étant branchée, Tools -> Force enter OpenMV Cam bootloader la redémarre en mode programme d’amorçage.
Bouton de réinitialisation Arduino. Sur les cartes Arduino, double-cliquez sur le bouton de réinitialisation pour entrer en mode programme d’amorçage.
14.1.1.3.5. Flashage en ligne de commande par famille de caméra¶
Les pages ci-dessous montrent ce qu’OpenMV IDE fait en coulisses pour chaque famille de caméra, pour le cas où vous souhaitez effectuer le flashage vous-même – dans des scripts, en CI ou sur une chaîne de production. Pour le flashage courant, nous recommandons OpenMV IDE.