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 摄像头¶
引导加载程序会暴露一个专用的 擦除 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
摄像头( |
DFU VID:PID |
擦除 alt |
|---|---|---|
OpenMV Cam M4( |
|
|
OpenMV Cam M7( |
|
|
OpenMV Cam H7( |
|
|
OpenMV Cam H7 Plus( |
|
|
OpenMV Pure Thermal( |
|
|
OpenMV Cam N6( |
|
|
OpenMV AE3( |
|
|
OpenMV AE3 拥有一个由两个 Cortex-M55 核心共享的单一可写 FAT 文件系统,通过 -a 5 一次性擦除。不存在按核心区分的单独文件系统擦除。
14.1.1.3.5.5.2. OpenMV Cam RT1062¶
RT1062 没有 DFU 引导加载程序;请用 SPSDK 闪存加载器擦除其 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