..
2024-07-29 11:17:10 +08:00
2024-07-29 18:08:54 +08:00
2024-07-29 11:17:10 +08:00
2024-07-29 18:08:54 +08:00
2024-07-29 11:17:10 +08:00

软件包

wifi join Dong abcd07691234

组件

可以独立开发、测试、测试、部署和维护的软件单元 与软件包关系: 组件如手脚,软件包如工具,都可以选择是否使用

文件系统

用板载的W25Q64来学习

文件系统定义

DFS, Device File System, RTT提供的虚拟文件系统组件

文件系统架构

统一根目录/表示,可以挂载目录、文件,允许不同目录下的同名文件 目录与文件图 POSIX一个协议统一api名称使代码可以在不同的操作系统中跑 ELM FATFS 文件系统常用RomFS系统只读 (下文继续介绍) 文件系统框架图

文件系统种类

类型 特点
FatFS 小型嵌入式设备兼容微软有良好的硬件无关性RTT最常用如:elm_fat
RomFS 挂载根目录,只读
DevFS 设备文件系统,开启后设备在/dev虚拟成文件可用read、write接口
UFFS 图文开发用于Nand Flash快、资源消耗少、免费
NFS 网络文件系统,用于网络连接操作另一台设备

POSIX接口层

一个协议统一api名称使代码可以在不同的操作系统中跑 4个重要接口 POSIX 文件描述符fd(file descriptor),对应一个文件,可能多对一(把我们找到需要的文件) 还有:

int rename(const char *old, const char *new); //重命名
int stat(const char *file, struct stat *buf); //取得状态
int unlink(const char *pathname); //删除文件

目录管理

目录常用api 目录常用api图

文件系统启动流程

名称 补充
filesystemtable 记录所用的文件系统
filesystem_operation_table 记录操作函数如何实现如openclose……
相关锁 如fd的互斥锁等

alt text

更多参考官方文档链接