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

2341:035b

-a 0 -s 0x08040000

-a 1 -s 0x90B00000:leave

Arduino Giga

2341:0366

-a 0 -s 0x08040000

-a 1 -s 0x90B00000:leave

Arduino Nicla Vision

2341:035f

-a 0 -s 0x08040000

-a 1 -s 0x90B00000:leave

Прошейте приложение (показана 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

0x90F00000

cyw4343_7_45_98_102.bin

Прошивка Bluetooth

0x90FC0000

cyw4343_btfw.bin

Прошейте оба на 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 или повреждённая файловая система не дают камере загрузиться – см. Стирание внутренней файловой системы.