14.1.1.3.5.1. Камеры OpenMV STM32: dfu-util¶
Для прошивки в скриптах или CI одноядерных камер OpenMV на STM32 (M4, M7, H7, H7 Plus, Pure Thermal, N6) используйте 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-util с sudo.
Эти камеры используют загрузчик openmv_dfu и прошиваются по номеру alt DFU (-a N), а не по абсолютному адресу – загрузчик сопоставляет каждый alt с правильным регионом флеш-памяти. Чтобы войти в загрузчик, просто подключите камеру: она кратко прослушивает при включении, а флаг -w заставляет dfu-util дождаться её появления. --reset при последней передаче перезагружает камеру в новую прошивку.
Камера ( |
VID:PID приложения |
VID:PID DFU |
Команда прошивки |
Команда 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
См. также
Чтобы стереть внутреннюю файловую систему FAT камеры – решение, когда повреждённый main.py или повреждённая файловая система не дают камере загрузиться – см. Стирание внутренней файловой системы.
Чтобы восстановить сам загрузчик камеры, см. Восстановление загрузчика.