14.1.1.3.5.5. 清除內部檔案系統

每台相機都有一個小型可寫入的 FAT 檔案系統(main.py 與使用者檔案存放於此,與任何 SD 卡分開)。當不良的 main.py 或損毀的檔案系統導致相機無法開機時,清除它便是修復方法。在 OpenMV IDE 中,這就是 Load Custom Firmware 裡的 Erase internal file system 核取方塊;命令列的對應做法則因相機系列而異。

14.1.1.3.5.5.1. 使用 openmv_dfu 開機載入程式的 OpenMV 相機

開機載入程式會提供一個專用的 erase DFU alt。將一個以零填滿的小檔案寫入它(4 KB 的零區塊就綽綽有餘——它會清除檔案系統標頭,讓相機在下次開機時重新格式化),並搭配 --reset:

dd if=/dev/zero of=erase.bin bs=4096 count=1
dfu-util -w -d ,<DFU VID:PID> -a <erase alt> --reset -D erase.bin

相機(TARGET

DFU VID:PID

Erase alt

OpenMV Cam M4(OPENMV2

37C5:9202

-a 1

OpenMV Cam M7(OPENMV3

37C5:9203

-a 1

OpenMV Cam H7(OPENMV4

37C5:9204

-a 1

OpenMV Cam H7 Plus(OPENMV4P

37C5:924A

-a 3

OpenMV Pure Thermal(OPENMVPT

37C5:9205

-a 3

OpenMV Cam N6(OPENMV_N6

37C5:9206

-a 2

OpenMV AE3(OPENMV_AE3

37C5:96E3

-a 5

OpenMV AE3 有一個由兩個 Cortex-M55 核心共用的可寫入 FAT 檔案系統,透過 -a 5 一次清除。並沒有各核心獨立的檔案系統清除。

14.1.1.3.5.5.2. OpenMV Cam RT1062

RT1062 沒有 DFU 開機載入程式;請以 SPSDK flashloader 清除其 FAT 磁碟的主開機記錄(位於 0x60400000),這會強制在下次開機時重新格式化:

blhost -u 0x15A2,0x0073 -t 120000 -- flash-erase-region 0x60400000 0x1000

14.1.1.3.5.5.3. STM32 Arduino 板子

Portenta H7、Giga 與 Nicla Vision 以絕對位址而非 alt 來清除:

dd if=/dev/zero of=erase.bin bs=4096 count=1
dfu-util -w -d ,<DFU VID:PID> -a 0 -s 0x08020000 -D erase.bin
dfu-util -w -d ,<DFU VID:PID> -a 1 -s 0x90000000 --reset -D erase.bin