文件系统


文件系统

M核的文件系统子系统当前支持的文件系统有FATFS与LittleFS。同A核一样,通过VFS层提供了POSIX标准的操作,保持了接口的一致性,但是因为M核的资源非常紧张,VFS层非常轻薄,没有提供类似A核的高级功能(如pagecache等),主要是接口的标准化和适配工作,具体的事务由各个文件系统实际承载。M核文件系统支持的功能如下表所示:

表1 文件操作

接口名 描述 FATFS LITTLEFS
open 打开文件 支持 支持
close 关闭文件 支持 支持
read 读取文件内容 支持 支持
write 往文件写入内容 支持 支持
lseek 设置文件偏移位置 支持 支持
unlink 删除文件 支持 支持
rename 重命名文件 支持 支持
fstat 通过文件句柄获取文件信息 支持 支持
stat 通过文件路径名获取文件信息 支持 支持
fsync 文件内容刷入存储设备 支持 支持

表2 目录操作

接口名 描述 FATFS LITTLEFS
mkdir 创建目录 支持 支持
opendir 打开目录 支持 支持
readdir 读取目录项内容 支持 支持
closedir 关闭目录 支持 支持
rmdir 删除目录 支持 支持

表3 分区操作

接口名 描述 FATFS LITTLEFS
mount 分区挂载 支持 支持
umount 分区卸载 支持 支持
umount2 分区卸载,可通过MNT_FORCE参数进行强制卸载 支持 不支持
statfs 获取分区信息 支持 不支持