13.1.12. 编辑 ROM 文件系统

支持 ROMFS 的开发板在闪存中携带一个只读文件系统,挂载在摄像头的 /rom 上。它随附开发板默认的机器学习模型,也是产品模型和资产应当存放的地方:ROMFS 中的文件会直接从闪存中进行内存映射,因此加载大型模型时无需为副本消耗 RAM。IDE 的 Tools → ROM File System 子菜单就是它的编辑器。

13.1.12.1. 编辑器

Edit ROMFS on OpenMV Cam 会读取所连接摄像头的 ROMFS 并在编辑器中打开它:一个文件树,外加用于添加文件、创建文件夹、删除和提取条目,以及直接从 模型库 拉取模型的按钮。一个用量读数会跟踪内容占用了开发板 ROMFS 分区的多少。在你按下 Commit 之前不会对摄像头做任何改动,按下后它会询问是将结果写回摄像头,还是保存为磁盘上的 .img 文件。

在你添加文件时会自动进行两种转换。.py 脚本会为目标开发板交叉编译为 .mpy 字节码,而当开发板带有 NPU 加速器且模型需要时,模型文件会为其进行转换。落入 ROMFS 的始终是摄像头可直接执行的形式。

Edit ROMFS 对话框:一个由模型和标签文件组成的文件树、用量读数,以及 Commit、Model Zoo、Add File、New Folder、Delete 和 Extract File 按钮

Edit ROMFS 对话框显示一块开发板的默认内容——其机器学习模型——右下角是用量读数。

Open ROMFS File 会针对磁盘上的 .img 镜像文件而非所连接的摄像头运行同一个编辑器,而 New ROMFS File 则从空白开始——无论哪种方式,都是离线准备 ROMFS 镜像的途径,用于生产环境的烧录或随自定义固件构建一同发布。Reset ROMFS on OpenMV Cam 会将所连接摄像头的 ROMFS 恢复为开发板的默认值,撤销所有编辑。

参见

构建 ROMFS 镜像 介绍了 ROMFS 在发布应用程序中的作用——该放些什么,以及摄像头在运行时如何读取它。