14.1.1.3.5.1. Câmeras OpenMV STM32: dfu-util

Para gravação automatizada por script ou em CI das câmeras OpenMV STM32 de núcleo único (M4, M7, H7, H7 Plus, Pure Thermal, N6), use o dfu-util diretamente. Ele está incluído no OpenMV SDK e no diretório de ferramentas do OpenMV IDE. No Linux, o acesso não-root ao dispositivo DFU requer regras de udev: instale o OpenMV IDE (que as instala) ou copie seus arquivos 99-openmv*.rules de share/qtcreator/pydfu/ para /etc/udev/rules.d/ e execute sudo udevadm control --reload-rules && sudo udevadm trigger. Caso contrário, execute o dfu-util com sudo.

Essas câmeras usam o bootloader openmv_dfu e são gravadas por configuração de alt DFU (-a N), não por endereço absoluto – o bootloader mapeia cada alt para a região de flash correta. Para entrar no bootloader, basta conectar a câmera: ela fica à escuta brevemente ao ligar, e -w faz o dfu-util aguardar até que ela apareça. --reset na transferência final reinicia a câmera com o novo firmware.

Câmera (TARGET)

VID:PID da aplicação

VID:PID DFU

Comando de firmware

Comando de 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

Grave a OpenMV Cam H7, primeiro o firmware e depois o 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

Ver também

Para apagar o sistema de arquivos FAT interno da câmera – a solução quando um main.py defeituoso ou um sistema de arquivos corrompido impede a câmera de inicializar – veja Apagando o sistema de arquivos interno.

Para restaurar o próprio bootloader da câmera, veja Restaurando o bootloader.