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 的始终是摄像头可直接执行的形式。

The Edit ROMFS dialog: a file tree of model and label files, the usage readout, and the Commit, Model Zoo, Add File, New Folder, Delete, and Extract File buttons

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

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

参见

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