14.1.1.3.5.1. OpenMV STM32 摄像头:dfu-util

对于单核 STM32 OpenMV 摄像头(M4、M7、H7、H7 Plus、Pure Thermal、N6)的脚本化或 CI 刷写,请直接使用 dfu-util。它包含在 OpenMV SDK 和 OpenMV IDE 的工具目录中。在 Linux 上,对 DFU 设备的非 root 访问需要 udev 规则:安装 OpenMV IDE(它会安装这些规则),或将其 share/qtcreator/pydfu/ 中的 99-openmv*.rules 文件复制到 /etc/udev/rules.d/ 并运行 sudo udevadm control --reload-rules && sudo udevadm trigger。否则请以 sudo 运行 dfu-util

这些摄像头使用 openmv_dfu 引导加载程序,并按 DFU alt 设置-a N)刷写,而非按绝对地址——引导加载程序会将每个 alt 映射到正确的闪存区域。要进入引导加载程序,只需插入摄像头即可:它在上电时会短暂监听,而 -w 会让 dfu-util 等待其出现。最后一次传输上的 --reset 会将摄像头重启进入新固件。

摄像头(TARGET

应用 VID:PID

DFU VID:PID

固件命令

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

刷写 OpenMV Cam H7,先固件后 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

参见

要清除摄像头的内部 FAT 文件系统——当损坏的 main.py 或损坏的文件系统导致摄像头无法启动时的解决方法——参见 擦除内部文件系统

要恢复摄像头的引导加载程序本身,参见 恢复引导加载程序