本文主要是介绍君正X2100 RTOS 文件系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
官方参考文档:
/doc/开发使用说明//1_FreeRTOS工程编译说明.pdf
/doc/开发使用说明/FreeRTOS_FAT文件系统制作说明文档.pdf
/doc/开发使用说明/文件系统 API.pdf
一、创建和烧录文件系统
需要在ubuntu的PC上执行。
1、创建文件系统
创建一个文件系统用于存放APP bin文件,文件系统大小3MB。命令如下:
mkfs.fat -S 4096 -C rootfs.img -C 3072
3072表示文件大小,单位1KB.
2、存放文件
先挂载文件系统,然后存放一个测试文件,编辑文件、保存,再卸载文件系统。命令如下:
mkdir rootfs
sudo mount -t vfat rootfs.img ./rootfs
cd rootfs/
sudo touch test.txt
sudo vi test.txt
cd ..
sudo umount ./rootfs
3、配置ramdisk设备
进入配置界面->外设->ramdisk设备->勾选ramdisk Device。
查看配置,默认即可。
参考此文档:/doc/开发使用说明/FreeRTOS_FAT文件系统制作说明文档.pdf
4、配置文件系统
进入配置界面->设备文件系统->勾选支持fat文件系统。
进入配置->勾选fat文件系统 挂载分区0->修改分区0名称(与之前创建的文件系统名一样)
注:可以创建多个文件系统,挂在多个分区。
参考此文档:/doc/开发使用说明/FreeRTOS_FAT文件系统制作说明文档.pdf
5、烧写文件系统到设备
配置烧录工具,配置->SFC-分区信息->添加分区。
配置->POLICY->文件系统镜像。
二、测试
使用终端软件(如SecureCRT)连接设备调试串口,
1、查看文件系统
列出文件系统:
$ ls
Type/Size Name
<DIR> rootfs
<DIR> sys
设备上存在两个文件系统,sys是固件自带的。
查看文件系统大小:
$ df /rootfs/
MonutOn: "/rootfs/"
Disk-free: 2.9 MB, Disk-total: 2.9 MB [ 756 block, 4096 bytes per block ]
$
$ df /sys/
MonutOn: "/sys/"
Disk-free: 0.0 KB, Disk-total: 0.0 KB [ 0 block, 1 bytes per block ]
2、查看rootfs里的文件及内容
$ cd rootfs/
$ ls
Type/Size Name
6 text.txt
$ cat text.txt
hello
可以看到rootfs中有一个text.txt文件,文件里的内容为hello。
3、程序读取文件内容
包含头文件:
#include <dfs_posix.h>
代码:
int fd;int size;char buffer[100];char *filename = "/rootfs/text.txt";fd = open(filename, O_RDONLY, 0);if(fd >= 0){printf("text: open: fd: %d.\n", fd);size = read(fd, buffer, sizeof(buffer));printf("text: first read: size: %d [%s]\n", size, buffer);close(fd);}else{printf("text: open fail.\n", fd);}
执行结果:
[0.053547] text: open: fd: 3.
[0.053989] text: first read: size: 6 [hello
这篇关于君正X2100 RTOS 文件系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!