romfs --- ROMFS 辅助工具

romfs 模块提供了用于检查只读文件系统(ROMFS)的辅助工具,OpenMV 固件将该文件系统挂载在 /rom 处。关于 ROMFS 文件系统本身、镜像如何构建和部署,以及底层的 vfs.VfsRom / vfs.rom_ioctl() API 的完整描述,请参见 使用 ROMFS

本模块关注的是已挂载 ROMFS 的 物理布局,而非其文件系统语义。由于 ROMFS 中的 .mpy 字节码文件是直接从闪存执行的(内存映射、零拷贝),MicroPython 需要每个文件的负载对齐到一个足够的边界 -- 对于普通 .mpy 文件通常是 4 字节,当文件包含原生代码块或对齐的数据引用时则最多为 16 字节。ls_romfs() 报告每个文件的地址、大小和最大的二的幂对齐,以便在依赖零拷贝导入之前,可以从 REPL 对已部署的镜像进行抽查。

函数

romfs.ls_romfs() None

列出挂载在 /rom 处的 ROMFS 中的每个文件,并将每个条目的诊断信息打印到 stdout

对于每个文件,会打印以下信息:

  • addr:文件数据的内存地址,掩码为 28 位并格式化为 8 位十六进制值。

  • size:以字节为单位的文件大小,由打开文件的 memoryview 的长度获得。

  • alignment:文件地址所满足的最大二的幂对齐(依次检查 12864321684)。如果地址不对齐到这些边界中的任何一个,则改为打印 NOT aligned

  • name/rom 内的文件名。

此函数不接受任何参数,返回 None