romfs — ROMFS-hulpprogramma’s

De romfs module biedt hulpprogramma’s voor het inspecteren van het alleen-lezen bestandssysteem (ROMFS) dat de OpenMV-firmware aankoppelt op /rom. Zie Werken met ROMFS voor een volledige beschrijving van het ROMFS-bestandssysteem zelf, hoe images worden gebouwd en uitgerold, en de onderliggende vfs.VfsRom / vfs.rom_ioctl() API’s.

Deze module richt zich op de fysieke indeling van een reeds aangekoppelde ROMFS in plaats van op de bestandssysteemsemantiek. Omdat .mpy bytecodebestanden in een ROMFS rechtstreeks vanuit het flashgeheugen worden uitgevoerd (memory-mapped, zero copy), heeft MicroPython nodig dat de payload van elk bestand op een voldoende grens is uitgelijnd – doorgaans 4 bytes voor gewone .mpy bestanden en tot 16 bytes wanneer een bestand native-code-blobs of uitgelijnde gegevensverwijzingen bevat. ls_romfs() rapporteert het adres, de grootte en de grootste macht-van-twee uitlijning van elk bestand zodat een uitgerolde image vanuit de REPL steekproefsgewijs kan worden gecontroleerd voordat op zero-copy imports wordt vertrouwd.

Functies

romfs.ls_romfs() None

Geeft een lijst van elk bestand dat aanwezig is in de ROMFS die op /rom is aangekoppeld en print diagnostische informatie over elke vermelding naar stdout.

Voor elk bestand wordt de volgende informatie geprint:

  • addr: Het geheugenadres van de gegevens van het bestand, gemaskeerd tot 28 bits en geformatteerd als een hexadecimale waarde van 8 cijfers.

  • size: De grootte van het bestand in bytes, verkregen uit de lengte van een memoryview van het geopende bestand.

  • alignment: De grootste macht-van-twee uitlijning (gecontroleerd tegen 128, 64, 32, 16, 8, 4) waaraan het adres van het bestand voldoet. Als het adres niet op een van deze grenzen is uitgelijnd, wordt in plaats daarvan NOT aligned geprint.

  • name: De bestandsnaam binnen /rom.

Deze functie neemt geen argumenten en retourneert None.