14.1.1.3. Прошивка firmware¶
После того как вы получили firmware.bin (и соответствующий romfs<n>.img) из Сборка прошивки, запишите её на камеру. OpenMV IDE – рекомендуемый способ; процедура для командной строки различается в зависимости от семейства камер и описана для каждого семейства на страницах, ссылки на которые приведены внизу. Сам загрузчик восстанавливается отдельно – см. Восстановление загрузчика.
14.1.1.3.1. OpenMV IDE: загрузка пользовательской прошивки (рекомендуется)¶
OpenMV IDE содержит все инструменты прошивки (dfu-util, инструменты NXP SPSDK, инструменты Alif SE Tools, инструменты STM32), устанавливает необходимые драйверы USB в Windows, выполняет вход в загрузчик и выбирает правильную команду для подключённой камеры. Это рекомендуемый способ прошивки пользовательской сборки.
Подключите камеру к USB (нажимать Connect не нужно).
Tools -> Load Custom Firmware.
В диалоговом окне укажите в поле Firmware Path путь к файлу вашей сборки
build/<TARGET>/bin/firmware.bin.При желании установите флажок Erase internal file system, чтобы стереть внутреннюю файловую систему FAT камеры (о том, когда и зачем это нужно, см. Стирание внутренней файловой системы).
При желании установите флажок Reset ROMFS file system, чтобы перепрошить ROMFS по умолчанию (отключён, если вы выбрали
.imgнапрямую).Нажмите Run. IDE сбрасывает камеру в её загрузчик, показывает точную команду прошивки и индикатор выполнения, после чего перезагружает камеру в новую прошивку. Дождитесь синего светодиода самотестирования; после этого камера снова нормально перечисляется в системе.
Также есть пункт Tools -> Force enter OpenMV Cam bootloader, позволяющий вручную перевести камеру в режим DFU перед прошивкой.
14.1.1.3.2. Windows: установка драйверов USB¶
В Windows нет встроенного драйвера для интерфейсов USB DFU, SDP и ISP камеры, поэтому инструменты командной строки (dfu-util, инструменты NXP SPSDK, инструменты Alif SE Tools) не могут обнаружить устройство, пока к нему не привязан драйвер WinUSB. Установщик OpenMV IDE для Windows устанавливает все эти драйверы, поэтому проще всего один раз установить OpenMV IDE – после чего работают и IDE, и инструменты командной строки. Именно поэтому прошивка через графический интерфейс успешна на свежей машине с Windows, а отдельный dfu-util – нет.
Если установка IDE невозможна, запустите соответствующий установщик драйвера из каталога share/qtcreator/drivers/ OpenMV IDE от имени администратора:
Установщик драйвера |
Устройства USB, к которым он привязывается |
|---|---|
|
Устройства OpenMV DFU и интерфейсы RT1062 SPSDK ( |
|
Устройства Arduino DFU ( |
|
Адаптер FTDI |
|
Системное устройство ST |
В качестве альтернативы привяжите WinUSB к конкретному VID:PID с помощью Zadig или pnputil. Без этого прошивка из командной строки в Windows не работает. Linux и macOS не требуют установки драйверов (для Linux нужны только правила udev).
14.1.1.3.3. Прошивка через SWD (make deploy)¶
Если отладочный пробник уже подключён к камере – как при отладке – то самый быстрый цикл правка-сборка-прошивка минует USB DFU и программирует чип напрямую через SWD. На камерах STM32:
make -j$(nproc) TARGET=<TARGET> deploy
При этом только что собранная прошивка записывается через STM32_Programmer_CLI (из SDK) посредством подключённого пробника. Нет входа в загрузчик, нет повторного перечисления USB и нет перестановки кабелей: соберите, выполните deploy, и камера перезапустится с новым кодом. Это рекомендуемый рабочий процесс при активной разработке прошивки. Используйте DFU или OpenMV IDE, когда прошиваете без пробника или распространяете прошивку другим.
14.1.1.3.4. Вход в режим загрузчика / DFU¶
Для прошивки камера должна находиться в режиме загрузчика / DFU. Есть три способа войти в него:
При подключении (любая камера). Каждая камера на короткое время запускает свой загрузчик при включении, до старта прошивки – подключите камеру к USB, и загрузчик некоторое время прослушивает.
Из IDE (любая камера). Когда камера подключена, Tools -> Force enter OpenMV Cam bootloader перезагружает её в режим загрузчика.
Кнопка сброса Arduino. На платах Arduino дважды нажмите кнопку сброса, чтобы войти в режим загрузчика.
14.1.1.3.5. Прошивка из командной строки по семействам камер¶
Страницы ниже показывают, что OpenMV IDE делает «под капотом» для каждого семейства камер – на случай, если вы хотите выполнить прошивку самостоятельно: в скриптах, в CI или на производственной линии. Для повседневной прошивки мы рекомендуем OpenMV IDE.