14.1.1.3.5.3. OpenMV Cam RT1062:NXP SPSDK

OpenMV Cam RT1062 是唯一没有 USB DFU 引导加载程序的摄像头。它通过一个片上安全引导加载程序(SBL)从外部闪存启动,该 SBL 提供 NXP MCU-bootloader USB 接口。刷写使用 NXP SPSDK 工具 blhostsdphost,OpenMV SDK 集成了它们,并以 python -m spsdk.apps.blhost / python -m spsdk.apps.sdphost 的方式调用。

要进入引导加载程序,复位或重新插拔摄像头即可:SBL 已经存在,因此无需跳线,它会枚举为 SBL 设备(blhost VID:PID 0x15A2:0x0073)。仅刷写固件的序列为::

blhost -u 0x15A2,0x0073 -t 120000 -- flash-erase-region 0x60040000 <firmware_size>
blhost -u 0x15A2,0x0073 -- write-memory 0x60040000 firmware.bin
blhost -u 0x15A2,0x0073 -- reset

<firmware_size>firmware.bin 的字节大小。若还想重置 ROMFS,请在固件步骤之前运行以下命令::

blhost -u 0x15A2,0x0073 -t 120000 -- flash-erase-region 0x60800000 0x00800000
blhost -u 0x15A2,0x0073 -- write-memory 0x60800000 romfs0.img

RT1062 的 16 MiB 外部闪存映射(0x60000000--0x61000000,来自 OpenMV IDE 的配置):

区域

地址

大小(十六进制)

大小(字节)

闪存配置块(FCB)

0x60000000

0x1000

4,096(4 KiB)

安全引导加载程序(SBL)

0x60001000

0x3F000

258,048(252 KiB)

固件

0x60040000

0x3C0000

3,932,160(3.75 MiB)

FAT 磁盘(内部文件系统)

0x60400000

0x400000

4,194,304(4 MiB)

ROMFS

0x60800000

0x800000

8,388,608(8 MiB)

FCB、FAT 磁盘和 ROMFS 的大小在 IDE 配置中是固定的。所示的 SBL 和固件大小是该区域到下一区域基址的跨度(起始地址是固定的;实际映像更小)。

参见

要清除摄像头的内部 FAT 文件系统——当损坏的 main.py 或损坏的文件系统导致摄像头无法启动时的解决方法——参见 擦除内部文件系统

要恢复摄像头的引导加载程序本身,参见 恢复引导加载程序