14.1.1.3.5.1. OpenMV STM32 kamery: dfu-util

Pro skriptované nebo CI nahrávání jednojádrových STM32 kamer OpenMV (M4, M7, H7, H7 Plus, Pure Thermal, N6) použijte přímo dfu-util. Je součástí OpenMV SDK a adresáře nástrojů OpenMV IDE. Na Linuxu vyžaduje neprivilegovaný přístup k DFU zařízení pravidla udev: nainstalujte OpenMV IDE (které je nainstaluje), nebo zkopírujte jeho soubory 99-openmv*.rules z share/qtcreator/pydfu/ do /etc/udev/rules.d/ a spusťte sudo udevadm control --reload-rules && sudo udevadm trigger. Jinak spusťte dfu-util se sudo.

Tyto kamery používají bootloader openmv_dfu a nahrávají se podle nastavení DFU alt (-a N), nikoli podle absolutní adresy – bootloader mapuje každý alt na správnou oblast flash paměti. Pro vstup do bootloaderu stačí kameru připojit: při zapnutí krátce naslouchá a -w přiměje dfu-util počkat, až se objeví. --reset u posledního přenosu restartuje kameru do nového firmwaru.

Kamera (TARGET)

Aplikační VID:PID

DFU VID:PID

Příkaz firmwaru

Příkaz 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

Nahrání OpenMV Cam H7, nejprve firmware a poté 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

Viz také

Pro vymazání interního souborového systému FAT v kameře – řešení, když chybný main.py nebo poškozený souborový systém brání kameře ve spuštění – viz Vymazání interního souborového systému.

Pro obnovu samotného bootloaderu kamery viz Obnovení bootloaderu.