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 をインストールするか(ルールがインストールされます)、その 99-openmv*.rules ファイルを share/qtcreator/pydfu/ から /etc/udev/rules.d/ にコピーして sudo udevadm control --reload-rules && sudo udevadm trigger を実行してください。それ以外の場合は dfu-utilsudo で実行します。

これらのカメラは 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 や破損したファイルシステムでカメラが起動しなくなった場合の修正方法)、内部ファイルシステムの消去 を参照してください。

カメラのブートローダー自体を復元するには、ブートローダーの復元 を参照してください。