romfs — Utilitare ajutătoare ROMFS

Modulul romfs oferă utilitare ajutătoare pentru inspectarea sistemului de fișiere doar pentru citire (ROMFS) pe care firmware-ul OpenMV îl montează la /rom. Vezi Lucrul cu ROMFS pentru o descriere completă a sistemului de fișiere ROMFS în sine, a modului în care imaginile sunt construite și implementate, precum și a API-urilor subiacente vfs.VfsRom / vfs.rom_ioctl().

Acest modul se concentrează pe organizarea fizică a unui ROMFS deja montat, mai degrabă decât pe semantica sistemului său de fișiere. Deoarece fișierele de bytecode .mpy dintr-un ROMFS sunt executate direct din memoria flash (mapate în memorie, fără copiere), MicroPython are nevoie ca încărcătura utilă a fiecărui fișier să fie aliniată la o limită suficientă – de obicei 4 octeți pentru fișierele .mpy simple și până la 16 octeți atunci când un fișier conține blob-uri de cod nativ sau referințe de date aliniate. ls_romfs() raportează adresa, dimensiunea și cea mai mare aliniere putere-a-lui-doi a fiecărui fișier, astfel încât o imagine implementată să poată fi verificată din REPL înainte de a se baza pe importuri fără copiere.

Funcții

romfs.ls_romfs() None

Listează fiecare fișier prezent în ROMFS-ul montat la /rom și afișează informații de diagnostic despre fiecare intrare la stdout.

Pentru fiecare fișier, sunt afișate următoarele informații:

  • addr: adresa de memorie a datelor fișierului, mascată la 28 de biți și formatată ca o valoare hexazecimală de 8 cifre.

  • size: dimensiunea fișierului în octeți, obținută din lungimea unui memoryview al fișierului deschis.

  • alignment: cea mai mare aliniere putere-a-lui-doi (verificată față de 128, 64, 32, 16, 8, 4) pe care o satisface adresa fișierului. Dacă adresa nu este aliniată la niciuna dintre aceste limite, se afișează în schimb NOT aligned.

  • name: numele fișierului în cadrul /rom.

Această funcție nu primește argumente și returnează None.