14.1.1.3. Прошивка мікропрограми¶
Після того як ви отримали 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 tools, Alif SE Tools) не можуть виявити пристрій, поки до нього не буде прив’язано WinUSB-драйвер. Інсталятор OpenMV IDE для Windows встановлює всі ці драйвери, тому найпростіше – один раз встановити OpenMV IDE, після чого працюватимуть і IDE, і інструменти командного рядка. Саме тому прошивка через GUI успішно виконується на нових машинах Windows, тоді як окремий dfu-util без цього не працює.
Якщо встановлення IDE неможливе, запустіть відповідний інсталятор драйвера з каталогу share/qtcreator/drivers/ OpenMV IDE від імені адміністратора:
Інсталятор драйвера |
USB-пристрої, до яких він прив’язується |
|---|---|
|
Пристрої OpenMV DFU та інтерфейси RT1062 SPSDK (SDP ROM |
|
Пристрої Arduino DFU ( |
|
Адаптер FTDI |
|
Системний DFU-пристрій 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.