romfs — Utilitaires d’aide ROMFS

Le module romfs fournit des utilitaires d’aide pour inspecter le système de fichiers en lecture seule (ROMFS) que le micrologiciel OpenMV monte sur /rom. Voir Utilisation de ROMFS pour une description de bout en bout du système de fichiers ROMFS lui-même, de la manière dont les images sont construites et déployées, ainsi que des API sous-jacentes vfs.VfsRom / vfs.rom_ioctl().

Ce module se concentre sur l”agencement physique d’un ROMFS déjà monté plutôt que sur sa sémantique de système de fichiers. Comme les fichiers de bytecode .mpy d’un ROMFS sont exécutés directement depuis la mémoire flash (mappés en mémoire, sans copie), MicroPython a besoin que la charge utile de chaque fichier soit alignée sur une frontière suffisante – généralement 4 octets pour les fichiers .mpy simples et jusqu’à 16 octets lorsqu’un fichier contient des blobs de code natif ou des références à des données alignées. ls_romfs() indique l’adresse, la taille et le plus grand alignement en puissance de deux de chaque fichier, de sorte qu’une image déployée puisse être vérifiée ponctuellement depuis le REPL avant de se fier aux importations sans copie.

Fonctions

romfs.ls_romfs() None

Liste tous les fichiers présents dans le ROMFS monté sur /rom et affiche des informations de diagnostic sur chaque entrée vers stdout.

Pour chaque fichier, les informations suivantes sont affichées :

  • addr : L’adresse mémoire des données du fichier, masquée à 28 bits et formatée en valeur hexadécimale à 8 chiffres.

  • size : La taille du fichier en octets, obtenue à partir de la longueur d’un memoryview du fichier ouvert.

  • alignment : Le plus grand alignement en puissance de deux (vérifié par rapport à 128, 64, 32, 16, 8, 4) que satisfait l’adresse du fichier. Si l’adresse n’est alignée sur aucune de ces frontières, NOT aligned est affiché à la place.

  • name : Le nom du fichier dans /rom.

Cette fonction ne prend aucun argument et renvoie None.