14.1.1.3.5.1. OpenMV STM32 相機:dfu-util

若要以指令碼或 CI 方式燒錄單核心的 STM32 OpenMV 相機(M4、M7、H7、H7 Plus、Pure Thermal、N6),請直接使用 dfu-util。它已包含在 OpenMV SDK 以及 OpenMV IDE 的工具目錄中。在 Linux 上,非 root 存取 DFU 裝置需要 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 或損毀的檔案系統導致相機無法開機時的解決方法 — 請參閱 清除內部檔案系統

若要復原相機的開機載入程式本身,請參閱 還原開機載入程式