14.1.1.3.5.3. OpenMV Cam RT1062: NXP SPSDK¶
L’OpenMV Cam RT1062 è l’unica camera senza un bootloader USB DFU. Si avvia dalla flash esterna tramite un bootloader sicuro on-flash (SBL) che presenta l’interfaccia USB NXP MCU-bootloader. Il flashing usa gli strumenti NXP SPSDK blhost e sdphost, che l’SDK OpenMV include e invoca come python -m spsdk.apps.blhost / python -m spsdk.apps.sdphost.
Per entrare nel bootloader, resetta o ricollega la camera: l’SBL è già presente, quindi non serve alcun jumper, e si enumera come dispositivo SBL (blhost VID:PID 0x15A2:0x0073). La sequenza per il solo 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> è la dimensione in byte di firmware.bin. Per resettare anche il ROMFS, esegui questi comandi prima dei passaggi del firmware:
blhost -u 0x15A2,0x0073 -t 120000 -- flash-erase-region 0x60800000 0x00800000
blhost -u 0x15A2,0x0073 -- write-memory 0x60800000 romfs0.img
La mappa della flash esterna da 16 MiB dell’RT1062 (0x60000000–0x61000000, dalla configurazione di OpenMV IDE):
Regione |
Indirizzo |
Dimensione (hex) |
Dimensione (byte) |
|---|---|---|---|
Flash configuration block (FCB) |
|
|
4.096 (4 KiB) |
Secure bootloader (SBL) |
|
|
258.048 (252 KiB) |
Firmware |
|
|
3.932.160 (3,75 MiB) |
Disco FAT (filesystem interno) |
|
|
4.194.304 (4 MiB) |
ROMFS |
|
|
8.388.608 (8 MiB) |
Le dimensioni di FCB, disco FAT e ROMFS sono fisse nella configurazione dell’IDE. Le dimensioni di SBL e firmware mostrate sono l’estensione della regione fino all’indirizzo base della regione successiva (gli indirizzi di partenza sono fissi; l’immagine effettiva è più piccola).
Vedi anche
Per cancellare il filesystem FAT interno della camera – la soluzione quando un main.py errato o un filesystem corrotto impedisce l’avvio della camera – vedi Cancellazione del filesystem interno.
Per ripristinare il bootloader stesso della camera, vedi Ripristino del bootloader.