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 會將相機重新啟動到新韌體。
相機( |
應用程式 VID:PID |
DFU VID:PID |
韌體命令 |
ROMFS 命令 |
|---|---|---|---|---|
OpenMV Cam M4( |
|
|
|
|
OpenMV Cam M7( |
|
|
|
|
OpenMV Cam H7( |
|
|
|
|
OpenMV Cam H7 Plus( |
|
|
|
|
OpenMV Pure Thermal( |
|
|
|
|
OpenMV Cam N6( |
|
|
|
|
燒錄 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