14.1.1.3.5.3. OpenMV Cam RT1062:NXP SPSDK¶
OpenMV Cam RT1062 是唯一没有 USB DFU 引导加载程序的摄像头。它通过一个片上安全引导加载程序(SBL)从外部闪存启动,该 SBL 提供 NXP MCU-bootloader USB 接口。刷写使用 NXP SPSDK 工具 blhost 和 sdphost,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) |
|
|
4,096(4 KiB) |
安全引导加载程序(SBL) |
|
|
258,048(252 KiB) |
固件 |
|
|
3,932,160(3.75 MiB) |
FAT 磁盘(内部文件系统) |
|
|
4,194,304(4 MiB) |
ROMFS |
|
|
8,388,608(8 MiB) |
FCB、FAT 磁盘和 ROMFS 的大小在 IDE 配置中是固定的。所示的 SBL 和固件大小是该区域到下一区域基址的跨度(起始地址是固定的;实际映像更小)。