romfs — Utilità di supporto ROMFS

Il modulo romfs fornisce utilità di supporto per ispezionare il filesystem di sola lettura (ROMFS) che il firmware OpenMV monta in /rom. Vedi Lavorare con ROMFS per una descrizione completa del filesystem ROMFS stesso, di come le immagini vengono costruite e distribuite, e delle API sottostanti vfs.VfsRom / vfs.rom_ioctl().

Questo modulo si concentra sul layout fisico di un ROMFS già montato piuttosto che sulla sua semantica di filesystem. Poiché i file di bytecode .mpy in un ROMFS vengono eseguiti direttamente dalla flash (mappati in memoria, zero copy), MicroPython ha bisogno che il payload di ciascun file sia allineato a un confine sufficiente – tipicamente 4 byte per i normali file .mpy e fino a 16 byte quando un file contiene blob di codice nativo o riferimenti a dati allineati. ls_romfs() riporta l’indirizzo, la dimensione e il maggiore allineamento a potenza di due di ogni file, in modo che un’immagine distribuita possa essere verificata dal REPL prima di affidarsi alle importazioni zero-copy.

Funzioni

romfs.ls_romfs() None

Elenca ogni file presente nel ROMFS montato in /rom e stampa informazioni diagnostiche su ciascuna voce su stdout.

Per ogni file vengono stampate le seguenti informazioni:

  • addr: L’indirizzo di memoria dei dati del file, mascherato a 28 bit e formattato come valore esadecimale a 8 cifre.

  • size: La dimensione del file in byte, ottenuta dalla lunghezza di una memoryview del file aperto.

  • alignment: Il maggiore allineamento a potenza di due (verificato rispetto a 128, 64, 32, 16, 8, 4) che l’indirizzo del file soddisfa. Se l’indirizzo non è allineato a nessuno di questi confini, viene invece stampato NOT aligned.

  • name: Il nome del file all’interno di /rom.

Questa funzione non accetta argomenti e restituisce None.