预置文件系统¶
本文主要介绍如何预置文件系统。
介绍¶
预置文件系统,是指在编译阶段,将SDK中的某些文件预置到模块文件系统中。用于在系统启动时,挂载到文件系统中,通过yopen_fs.h提供的文件系统接口,实现文件的读写等操作。
版本差异¶
| 操作步骤 | YOPEN SDK >= R4.0.5 | YOPEN SDK < R4.0.5 |
|---|---|---|
| 配置方式 | 通过CMake变量定义 | 手动生成镜像文件 |
| 镜像生成 | 自动打包 | 需执行Python脚本 |
| 编译流程 | 集成到构建系统 | 需手动拷贝镜像 |
YOPEN SDK >= R4.0.5 版本操作流程¶
1. 配置文件路径¶
在项目文件project/xxx.cmake文件中定义BASE_YOPEN_PROJECT_FS_DIR需要预置的文件路径,例如project/demo.cmake项目预置文件,增加内容如下:
#####################################
#### 预制文件系统 路径下的所有文件都会打包成镜像
#####################################
set(BASE_YOPEN_PROJECT_FS_DIR ${YOPEN_TOP_DIR}/demo/fs)
2. 编译固件¶
在demo_entry.c文件中打开下面的注释,加载demo_fs,用于查看预置文件系统效果:
application_init(yopen_fs_demo_task, "FS", 12, 4,NULL);
直接编译固件,文件系统会自动打包到固件中:
.\build.bat YM310_X09S.U62 demo clean
.\build.bat YM310_X09S.U62 demo
3. 下载固件¶
下载固件时,选择ini配置文件,系统会自动处理文件系统部分。

4. 运行日志¶
从日志中可以看到预置的文件。注意:打印内容以实际文件内容为准。

YOPEN SDK < R4.0.5 版本操作流程¶
1. 准备工作¶
-
如果SDK版本低于R3.1.3,需要打包yopen_fs_patch,用于镜像文件打包到固件中
-
在demo_entry.c文件中打开下面的注释,加载demo_fs,用于查看预置文件系统效果:
application_init(yopen_fs_demo_task, "FS", 12, 4,NULL);
2. 镜像生成¶
-
- 进入代码路径tools\fs,文件内容如下

-
- 将预置文件放入root文件夹中

-
- 执行脚本:
## 注 868352 为文件系统大小,有宏FLASH_FS_REGION_SIZE控制
python genfs.python --size 868352
生成fs.img文件如下所示

-
- 拷贝fs.img到指定路径
将编译好的fs.img放入路径bsp\EC7XX\kernel\PLAT\project\download\ec716x 下: (X09C项目放入ec716s中, X09S项目放入ec716e中)

3. 编译固件¶
编译固件:
.\build.bat YM310_X09S.U62 demo clean
.\build.bat YM310_X09S.U62 demo
4. 下载固件¶
下载固件,选择ini配置文件,能看到多了一行下载项,fs.bin

5. 运行日志¶
从日志中可以看到预置的文件
