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 (0x600000000x61000000, dalla configurazione di OpenMV IDE):

Regione

Indirizzo

Dimensione (hex)

Dimensione (byte)

Flash configuration block (FCB)

0x60000000

0x1000

4.096 (4 KiB)

Secure bootloader (SBL)

0x60001000

0x3F000

258.048 (252 KiB)

Firmware

0x60040000

0x3C0000

3.932.160 (3,75 MiB)

Disco FAT (filesystem interno)

0x60400000

0x400000

4.194.304 (4 MiB)

ROMFS

0x60800000

0x800000

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.