14.1.1.3.5.1. Camerele OpenMV STM32: dfu-util

Pentru programarea prin script sau CI a camerelor OpenMV STM32 cu un singur nucleu (M4, M7, H7, H7 Plus, Pure Thermal, N6), folosiți direct dfu-util. Este inclus în OpenMV SDK și în directorul de instrumente al OpenMV IDE. Pe Linux, accesul non-root la dispozitivul DFU necesită reguli udev: instalați OpenMV IDE (care le instalează) sau copiați fișierele sale 99-openmv*.rules din share/qtcreator/pydfu/ în /etc/udev/rules.d/ și rulați sudo udevadm control --reload-rules && sudo udevadm trigger. În caz contrar, rulați dfu-util cu sudo.

Aceste camere folosesc bootloader-ul openmv_dfu și sunt programate după setarea alt DFU (-a N), nu după adresa absolută – bootloader-ul mapează fiecare alt la regiunea de flash corectă. Pentru a intra în bootloader, doar conectați camera: ascultă pentru scurt timp la pornire, iar -w face ca dfu-util să aștepte apariția acesteia. --reset la transferul final repornește camera în noul firmware.

Cameră (TARGET)

App VID:PID

DFU VID:PID

Comandă firmware

Comandă 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

Programați OpenMV Cam H7, mai întâi firmware-ul, apoi 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

Vezi și

Pentru a șterge sistemul de fișiere FAT intern al camerei – soluția când un main.py defect sau un sistem de fișiere corupt împiedică camera să pornească – consultați Ștergerea sistemului de fișiere intern.

Pentru a restaura bootloader-ul în sine al camerei, consultați Restaurarea bootloader-ului.