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 |
|
|
|
Arduino Giga |
|
|
|
Arduino Nicla Vision |
|
|
|
燒錄應用程式(以 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 韌體 |
|
|
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 按鈕;板子會列舉為 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 或損毀的檔案系統導致相機無法開機時的修復方法——請參見 清除內部檔案系統。