14.1.1.3.5.4. Arduino 板子

以 STM32 為基礎的 Arduino 板子(Portenta H7、Giga、Nicla Vision)是透過 Arduino DFU bootloader(開機載入程式),以 dfu-util 搭配 絕對快閃記憶體位址 來燒錄。兩款 Nano 板子則使用它們各自的工具。

14.1.1.3.5.4.1. STM32 Arduino 板子:dfu-util

若要進入開機載入程式,請快速點按兩下重設按鈕(或以 1200 鮑率開啟板子的序列埠——即 Arduino 的「touch」重設)。

板子

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 需要兩個額外的二進位檔(blob),它們隨 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 按鈕;板子會列舉為 nRF52840 DFU 裝置(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

若要進入開機載入程式,請在連接 USB 時按住 BOOTSEL 按鈕;板子會掛載一個名為 RPI-RP2 的 USB 大容量儲存磁碟。可透過將 .uf2 檔複製到該磁碟,或以 picotool 來燒錄它:

picotool load -x firmware.uf2

警告

Arduino 板子的開機載入程式在出廠時已鎖定,使用者 無法 還原——只有應用程式區域會被寫入。損毀的 Arduino 開機載入程式必須以 Arduino 自家的工具來復原。還原開機載入程式 中的開機載入程式還原程序僅適用於 OpenMV 品牌的相機。

請參閱

若要清除相機的內部 FAT 檔案系統——當不良的 main.py 或損毀的檔案系統導致相機無法開機時的修復方法——請參見 清除內部檔案系統