13.1.14. Das ROM-Dateisystem bearbeiten#
Boards mit ROMFS-Unterstützung tragen ein schreibgeschütztes Dateisystem im Flash, das auf der Kamera unter /rom eingebunden ist. Es wird mit den standardmäßigen Machine-Learning-Modellen des Boards ausgeliefert und ist der Ort, an den die Modelle und Assets eines Produkts gehören: Dateien im ROMFS werden direkt aus dem Flash speicherabgebildet, sodass ein großes Modell geladen werden kann, ohne RAM für eine Kopie zu verbrauchen. Das Untermenü Tools → ROM File System der IDE ist der Editor dafür.
13.1.14.1. Der Editor#
Edit ROMFS on OpenMV Cam liest das ROMFS der verbundenen Kamera und öffnet es im Editor: ein Dateibaum sowie Schaltflächen zum Hinzufügen von Dateien, Erstellen von Ordnern, Löschen und Extrahieren von Einträgen und zum direkten Einziehen eines Modells aus dem Model Zoo. Eine Auslastungsanzeige verfolgt, wie viel der ROMFS-Partition des Boards der Inhalt belegt. Nichts berührt die Kamera, bis Sie Commit drücken, das fragt, ob das Ergebnis zurück auf die Kamera geschrieben oder als .img-Datei auf die Festplatte gespeichert werden soll.
Zwei Konvertierungen geschehen automatisch, während Sie Dateien hinzufügen. Ein .py-Skript wird für das Ziel-Board zu .mpy-Bytecode cross-kompiliert, und eine Modelldatei wird für den NPU-Beschleuniger des Boards konvertiert, wenn es einen hat und das Modell es benötigt. Was im ROMFS landet, ist immer die Form, die die Kamera direkt ausführt. Aus Ihrem Dateimanager hereingezogene Dateien durchlaufen dieselben Konvertierungen, in den Ordner, auf dem Sie sie ablegen – oder in das Wurzelverzeichnis, wenn Sie sie auf leerem Platz ablegen.

Der Dialog Edit ROMFS zeigt die Standardinhalte eines Boards – seine Machine-Learning-Modelle – mit der Auslastungsanzeige unten rechts.#
Open ROMFS File führt denselben Editor gegen eine .img-Abbilddatei auf der Festplatte aus statt gegen eine verbundene Kamera, und New ROMFS File startet ihn leer – in beiden Fällen der Weg, um ein ROMFS-Abbild offline vorzubereiten, zum Flashen in der Produktion oder zum Ausliefern zusammen mit einem Custom-Firmware-Build. Reset ROMFS on OpenMV Cam stellt das ROMFS der verbundenen Kamera auf die Standardwerte des Boards zurück und macht alle Bearbeitungen rückgängig.
Das Lesen und Schreiben des ROMFS der Kamera läuft über ihren Bootloader, mit einem Fortschrittsdialog, den Sie abbrechen können. Das Abbrechen eines Lesevorgangs gibt ihn einfach auf; das Abbrechen eines Schreibvorgangs hinterlässt das ROMFS teilweise geschrieben, führen Sie also Reset ROMFS aus oder committen Sie erneut, bevor Sie sich darauf verlassen. In beiden Fällen bittet die IDE den Bootloader, die Kamera neu zu starten, und wartet, bis sie zurückkommt – und bleibt die Kamera stattdessen im Bootloader-Modus, sagt sie das, und der Bootloader-Dialog beim nächsten Verbinden bietet dieselben Zurücksetz- und Bearbeitungsaktionen an.
Siehe auch
Ein ROMFS-Image erstellen für die Rolle von ROMFS beim Ausliefern einer Anwendung – was dort abgelegt werden soll und wie die Kamera es zur Laufzeit liest.