Skip to content

预置文件系统

本文主要介绍如何预置文件系统。

介绍

预置文件系统,是指在编译阶段,将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. 准备工作

  1. 如果SDK版本低于R3.1.3,需要打包yopen_fs_patch,用于镜像文件打包到固件中

  2. 在demo_entry.c文件中打开下面的注释,加载demo_fs,用于查看预置文件系统效果:

application_init(yopen_fs_demo_task, "FS", 12, 4,NULL);

2. 镜像生成

    1. 进入代码路径tools\fs,文件内容如下

    1. 将预置文件放入root文件夹中

    1. 执行脚本:
## 注 868352 为文件系统大小,有宏FLASH_FS_REGION_SIZE控制
python genfs.python --size 868352  

生成fs.img文件如下所示

    1. 拷贝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. 运行日志

从日志中可以看到预置的文件