romfs — ROMFS-Hilfsprogramme¶
Das Modul romfs stellt Hilfsprogramme zum Inspizieren des schreibgeschützten Dateisystems (ROMFS) bereit, das die OpenMV-Firmware unter /rom einhängt. Siehe Arbeiten mit ROMFS für eine durchgängige Beschreibung des ROMFS-Dateisystems selbst, wie Images erstellt und bereitgestellt werden, sowie der zugrunde liegenden APIs vfs.VfsRom / vfs.rom_ioctl().
Dieses Modul konzentriert sich auf das physische Layout eines bereits eingehängten ROMFS und nicht auf seine Dateisystemsemantik. Da .mpy-Bytecode-Dateien in einem ROMFS direkt aus dem Flash ausgeführt werden (speicherabgebildet, ohne Kopiervorgang), benötigt MicroPython, dass die Nutzlast jeder Datei an einer ausreichenden Grenze ausgerichtet ist – typischerweise 4 Bytes für einfache .mpy-Dateien und bis zu 16 Bytes, wenn eine Datei nativen Code-Blobs oder ausgerichtete Datenreferenzen enthält. ls_romfs() meldet die Adresse, Größe und die größte Zweierpotenz-Ausrichtung jeder Datei, sodass ein bereitgestelltes Image vom REPL aus stichprobenartig überprüft werden kann, bevor man sich auf Zero-Copy-Importe verlässt.
Funktionen¶
- romfs.ls_romfs() None¶
Listet jede im unter
/romeingehängten ROMFS vorhandene Datei auf und gibt zu jedem Eintrag Diagnoseinformationen aufstdoutaus.Für jede Datei werden die folgenden Informationen ausgegeben:
addr: Die Speicheradresse der Daten der Datei, maskiert auf 28 Bit und als 8-stelliger Hexadezimalwert formatiert.size: Die Größe der Datei in Bytes, ermittelt aus der Länge einesmemoryviewder geöffneten Datei.alignment: Die größte Zweierpotenz-Ausrichtung (geprüft gegen128,64,32,16,8,4), die die Adresse der Datei erfüllt. Wenn die Adresse an keiner dieser Grenzen ausgerichtet ist, wird stattdessenNOT alignedausgegeben.name: Der Dateiname innerhalb von/rom.
Diese Funktion nimmt keine Argumente entgegen und gibt
Nonezurück.