14.1.1.3.5.1. Camere OpenMV STM32: dfu-util

Per il flashing scriptato o in CI delle camere OpenMV STM32 a singolo core (M4, M7, H7, H7 Plus, Pure Thermal, N6), usa direttamente dfu-util. È incluso nell’SDK OpenMV e nella directory degli strumenti di OpenMV IDE. Su Linux, l’accesso non-root al dispositivo DFU richiede regole udev: installa OpenMV IDE (che le installa), oppure copia i suoi file 99-openmv*.rules da share/qtcreator/pydfu/ in /etc/udev/rules.d/ ed esegui sudo udevadm control --reload-rules && sudo udevadm trigger. Altrimenti esegui dfu-util con sudo.

Queste camere usano il bootloader openmv_dfu e vengono flashate per impostazione alt DFU (-a N), non per indirizzo assoluto – il bootloader mappa ogni alt alla regione flash corretta. Per entrare nel bootloader, basta collegare la camera: resta brevemente in ascolto all’accensione, e -w fa sì che dfu-util attenda che compaia. --reset sull’ultimo trasferimento riavvia la camera con il nuovo firmware.

Camera (TARGET)

VID:PID App

VID:PID DFU

Comando firmware

Comando ROMFS

OpenMV Cam M4 (OPENMV2)

37C5:1202

37C5:9202

-a 2 -D firmware.bin

-a 3 -D romfs0.img

OpenMV Cam M7 (OPENMV3)

37C5:1203

37C5:9203

-a 2 -D firmware.bin

-a 3 -D romfs0.img

OpenMV Cam H7 (OPENMV4)

37C5:1204

37C5:9204

-a 2 -D firmware.bin

-a 3 -D romfs0.img

OpenMV Cam H7 Plus (OPENMV4P)

37C5:124A

37C5:924A

-a 2 -D firmware.bin

-a 4 -D romfs0.img

OpenMV Pure Thermal (OPENMVPT)

37C5:1205

37C5:9205

-a 2 -D firmware.bin

-a 4 -D romfs0.img

OpenMV Cam N6 (OPENMV_N6)

37C5:1206

37C5:9206

-a 1 -D firmware.bin

-a 3 -D romfs0.img

Esegui il flashing dell’OpenMV Cam H7, prima il firmware poi il ROMFS:

dfu-util -w -d ,37C5:9204 -a 2 -D build/OPENMV4/bin/firmware.bin
dfu-util -w -d ,37C5:9204 -a 3 --reset -D build/OPENMV4/bin/romfs0.img

Vedi anche

Per cancellare il filesystem FAT interno della camera – la soluzione quando un main.py errato o un filesystem corrotto impedisce l’avvio della camera – vedi Cancellazione del filesystem interno.

Per ripristinare il bootloader stesso della camera, vedi Ripristino del bootloader.