14.1.1.3.5.4. Платы Arduino¶
Платы Arduino на базе STM32 (Portenta H7, Giga, Nicla Vision) прошиваются с помощью dfu-util с использованием абсолютных адресов флеш-памяти через DFU-загрузчик Arduino. Две платы Nano используют собственные инструменты.
14.1.1.3.5.4.1. Платы Arduino на STM32: dfu-util¶
Чтобы войти в загрузчик, дважды нажмите кнопку сброса (или откройте последовательный порт платы на скорости 1200 бод – сброс по «касанию» Arduino).
Плата |
DFU VID:PID |
Команда прошивки |
Команда ROMFS |
|---|---|---|---|
Arduino Portenta H7 |
|
|
|
Arduino Giga |
|
|
|
Arduino Nicla Vision |
|
|
|
Прошейте приложение (показана Nicla Vision):
dfu-util -w -d ,2341:035f -a 0 -s 0x08040000 -D firmware.bin
Для Wi-Fi и Bluetooth нужны два дополнительных блоба, поставляемых с OpenMV IDE в share/qtcreator/firmware/CYW4343/:
Компонент |
Адрес флеш-памяти |
Файл |
|---|---|---|
Прошивка Wi-Fi |
|
|
Прошивка Bluetooth |
|
|
Прошейте оба на alt внешней флеш-памяти, с :leave на последней передаче (показана Nicla Vision):
dfu-util -w -d ,2341:035f -a 1 -s 0x90F00000 -D cyw4343_7_45_98_102.bin
dfu-util -w -d ,2341:035f -a 1 -s 0x90FC0000:leave -D cyw4343_btfw.bin
14.1.1.3.5.4.2. Arduino Nano 33 BLE Sense: bossac¶
Nano 33 BLE Sense (nRF52840) не использует dfu-util. Чтобы войти в загрузчик, дважды нажмите кнопку RESET; плата определяется как DFU-устройство nRF52840 (2341:805a). Прошейте её с помощью bossac, записывая приложение по смещению флеш-памяти 0x16000 – выше заводского SoftDevice и загрузчика, которые никогда не перезаписываются:
bossac -e -w -v -R --offset=0x16000 firmware.bin
14.1.1.3.5.4.3. Arduino Nano RP2040 Connect: picotool¶
Чтобы войти в загрузчик, удерживайте кнопку BOOTSEL при подключении USB; плата монтируется как USB-накопитель с именем RPI-RP2. Прошейте её либо скопировав файл .uf2 на этот диск, либо с помощью picotool:
picotool load -x firmware.uf2
Предупреждение
Загрузчики плат Arduino заблокированы на заводе и не могут быть восстановлены пользователем – записывается только область приложения. Повреждённый загрузчик Arduino должен восстанавливаться собственными инструментами Arduino. Процедуры восстановления загрузчика в Восстановление загрузчика применимы только к камерам под брендом OpenMV.
См. также
Чтобы стереть внутреннюю файловую систему FAT камеры – решение, когда плохой main.py или повреждённая файловая система не дают камере загрузиться – см. Стирание внутренней файловой системы.