2026-02-23 13:00 3
在openharmony/third_party/littlefs/lfs.h头文件中定义LittleFS的枚举、…1、LFS文件系统结构体介绍

会分2部分来介绍结构体部分先介绍LittleFS文件系统的结构体然后介绍LiteOS-M内核中提供的和LittleFS相关的一些结构体。
在openharmony/third_party/littlefs/lfs.h头文件中定义LittleFS的枚举、结构体我们先简单了解下后文会使用到的。
枚举lfs_type定义文件类型了解下普通文件LFS_TYPE_REG和目录LFS_TYPE_DIR即可。
枚举lfs_open_flags定义文件系统的打开标签属性信息需要熟悉常用的只读LFS_O_RDONLY、只写LFS_O_WRONLY、读写LFS_O_RDWR等等。
};结构体lfs_t是littlefs文件系统类型结构体lfs文件系统操作接口的第一个参数一般为这个结构体。
成员变量struct
结构体lfs_file_t、lfs_dir_t分别是littlefs的文件和目录类型结构体暂不需要关心成员变量细节知道结构体的用途即可。
结构体lfs_config用于提供初始化littlefs文件系统的一些配置。
其中.read.prog.erase.sync分别对应该硬件平台上的底层的读写\擦除\同步等接口。
每次读取的字节数可以比物理读单元大以改善性能这个数值决定了读缓存的大小但值太大会带来更多的内存消耗。
每次写入的字节数可以比物理写单元大以改善性能这个数值决定了写缓存的大小必须是read_size的整数倍但值太大会带来更多的内存消耗。
每个擦除块的字节数可以比物理擦除单元大但此数值应尽可能小因为每个文件至少会占用一个块。
必须是prog_size的整数倍。
结构体lfs_info用于维护文件信息包含文件类型大小和文件名信息。
我们来看下在文件components\fs\littlefs\lfs_api.h里定义的几个结构体。
结构体LittleFsHandleStruct维护文件相关的信息该结构体的成员包含是否使用文件路径和lfs文件系统类型结构体lfs_t
file。
类似的结构体FileDirInfo维护名称和lfs文件系统类型结构体lfs_t
了解下文件components\fs\littlefs\lfs_api.c定义的常用全局变量。
⑴处的g_lfsDir数组维护数目为LFS_MAX_OPEN_DIRS等于10。
⑵处的g_fsOp数组维护针对每个挂载点的文件操作信息默认挂载点数目LOSCFG_LFS_MAX_MOUNT_SIZE为3个。
⑶处的g_handle数组维护文件信息默认支持文件的数量LITTLE_FS_MAX_OPEN_FILES为100个。
⑷处开始的struct
g_nameValue是目录项结构体变量用于函数LfsReaddir()pthread_mutex_t
g_FslocalMutex是互斥锁变量g_littlefsMntName是挂载点名称数组。
⑸处开始的挂载操作变量g_lfsMnt、文件操作操作全局变量g_lfsFops在虚拟文件系统中被使用。
g_fsOp[LOSCFG_LFS_MAX_MOUNT_SIZE]
g_handle[LITTLE_FS_MAX_OPEN_FILES]
PTHREAD_MUTEX_INITIALIZER;static
*g_littlefsMntName[LOSCFG_LFS_MAX_MOUNT_SIZE]
GetFreeDir()设置名称。
遍历名称返回名称设置对应的数组元素为未使用状态并把GetFreeDir设置为NULL。
函数CheckDirIsOpen()用于检测信息数组中记录着对应的已经打开。
{pthread_mutex_lock(g_FslocalMutex);for
strdup(dirName);pthread_mutex_unlock(g_FslocalMutex);return
(g_lfsDir[i]);}}pthread_mutex_unlock(g_FslocalMutex);return
{pthread_mutex_lock(g_FslocalMutex);for
{free(g_lfsDir[i].dirName);g_lfsDir[i].dirName
NULL;}pthread_mutex_unlock(g_FslocalMutex);}}pthread_mutex_unlock(g_FslocalMutex);
{pthread_mutex_lock(g_FslocalMutex);for
{pthread_mutex_unlock(g_FslocalMutex);return
TRUE;}}}pthread_mutex_unlock(g_FslocalMutex);return
开发的内容不妨可以参考以下相关学习文档进行学习助你快速提升自己
《OpenHarmony源码解析》https://qr18.cn/CgxrRy
构建子系统启动流程子系统分布式任务调度子系统分布式通信子系统驱动子系统……
OpenHarmony面试题内含参考答案https://qr18.cn/CgxrRy
如果你觉得这篇内容对你还蛮有帮助我想邀请你帮我三个小忙点赞转发有你们的
『点赞和评论』才是我创造的动力。
关注小编同时可以期待后续文章ing不定期分享原创知识。
想要获取更多完整鸿蒙最新学习资源请移步前往小编https://qr21.cn/FV7h05
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback