13.1.14. Modifica del file system ROM#
Le schede con supporto ROMFS portano un file system di sola lettura nella flash, montato sulla camera in /rom. Viene fornito con i modelli di machine learning predefiniti della scheda, ed è il posto a cui appartengono i modelli e le risorse di un prodotto: i file in ROMFS sono mappati in memoria direttamente dalla flash, così un modello di grandi dimensioni si carica senza consumare RAM per una copia. Il sottomenu Tools → ROM File System dell’IDE ne è l’editor.
13.1.14.1. L’editor#
Edit ROMFS on OpenMV Cam legge il ROMFS della camera connessa e lo apre nell’editor: un albero dei file più pulsanti per aggiungere file, creare cartelle, eliminare ed estrarre voci, e importare un modello direttamente dal model zoo. Una lettura di utilizzo tiene traccia di quanta parte della partizione ROMFS della scheda occupano i contenuti. Nulla tocca la camera finché non premi Commit, che chiede se scrivere il risultato di nuovo sulla camera o salvarlo in un file .img su disco.
Due conversioni avvengono automaticamente mentre aggiungi i file. Uno script .py viene cross-compilato in bytecode .mpy per la scheda di destinazione, e un file di modello viene convertito per l’acceleratore NPU della scheda quando ne ha uno e il modello lo richiede. Ciò che finisce in ROMFS è sempre la forma che la camera esegue direttamente. I file trascinati dal tuo file manager passano per le stesse conversioni, nella cartella su cui li rilasci – o nella radice quando li rilasci su uno spazio vuoto.

La finestra di dialogo Edit ROMFS che mostra i contenuti predefiniti di una scheda – i suoi modelli di machine learning – con la lettura di utilizzo in basso a destra.#
Open ROMFS File esegue lo stesso editor su un file immagine .img su disco invece che su una camera connessa, e New ROMFS File lo avvia vuoto – in entrambi i casi, il percorso per preparare un’immagine ROMFS offline, per il flashing in produzione o per la spedizione insieme a una build firmware personalizzata. Reset ROMFS on OpenMV Cam ripristina il ROMFS della camera connessa alle impostazioni predefinite della scheda, annullando tutte le modifiche.
La lettura e la scrittura del ROMFS della camera passano per il suo bootloader, con una finestra di avanzamento che puoi annullare. Annullare una lettura semplicemente la abbandona; annullare una scrittura lascia il ROMFS scritto parzialmente, quindi esegui Reset ROMFS o un nuovo commit prima di farci affidamento. In entrambi i casi l’IDE chiede al bootloader di riavviare la camera e attende che torni – e se la camera resta invece in modalità bootloader, lo dice, e la finestra del bootloader alla connessione successiva offre le stesse azioni di ripristino e modifica.
Vedi anche
Costruire un’immagine ROMFS per il ruolo di ROMFS nella spedizione di un’applicazione – cosa metterci e come la camera lo legge in fase di esecuzione.