14.1.1.3.5.3. OpenMV Cam RT1062: NXP SPSDK¶
A OpenMV Cam RT1062 é a única câmera sem um bootloader USB DFU. Ela inicializa a partir do flash externo por meio de um bootloader seguro (SBL) gravado no flash, que apresenta a interface USB do MCU-bootloader da NXP. A gravação usa as ferramentas NXP SPSDK blhost e sdphost, que o OpenMV SDK inclui e invoca como python -m spsdk.apps.blhost / python -m spsdk.apps.sdphost.
Para entrar no bootloader, reinicie ou reconecte a câmera: o SBL já está presente, então nenhum jumper é necessário, e ela é enumerada como o dispositivo SBL (blhost VID:PID 0x15A2:0x0073). A sequência apenas de firmware é:
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> é o tamanho em bytes de firmware.bin. Para também redefinir o ROMFS, execute estes comandos antes das etapas de firmware:
blhost -u 0x15A2,0x0073 -t 120000 -- flash-erase-region 0x60800000 0x00800000
blhost -u 0x15A2,0x0073 -- write-memory 0x60800000 romfs0.img
O mapa do flash externo de 16 MiB da RT1062 (0x60000000–0x61000000, da configuração do OpenMV IDE):
Região |
Endereço |
Tamanho (hex) |
Tamanho (bytes) |
|---|---|---|---|
Bloco de configuração do flash (FCB) |
|
|
4.096 (4 KiB) |
Bootloader seguro (SBL) |
|
|
258.048 (252 KiB) |
Firmware |
|
|
3.932.160 (3,75 MiB) |
Disco FAT (sistema de arquivos interno) |
|
|
4.194.304 (4 MiB) |
ROMFS |
|
|
8.388.608 (8 MiB) |
Os tamanhos do FCB, do disco FAT e do ROMFS são fixos na configuração do IDE. Os tamanhos do SBL e do firmware mostrados são a extensão da região até o endereço base da região seguinte (os endereços iniciais são fixos; a imagem real é menor).
Ver também
Para apagar o sistema de arquivos FAT interno da câmera – a solução quando um main.py defeituoso ou um sistema de arquivos corrompido impede a câmera de inicializar – veja Apagando o sistema de arquivos interno.
Para restaurar o próprio bootloader da câmera, veja Restaurando o bootloader.