gpt4 book ai didi

c - 在嵌入式 C 中使用 RTOS 处理多任务文件系统的最佳方法?

转载 作者:太空宇宙 更新时间:2023-11-04 04:40:56 25 4
gpt4 key购买 nike

我正在使用 CMX-RTX RTOS 和 Elm Chan FatFS。在任务排队命中文件系统之前一切正常。

对于那些熟悉 Chan FatFS 的人,我修改了 ENTER_FS 和 LEAVE_FS 宏来获取和释放资源。如果一个任务试图进入 FS 并且资源是自己的,它将被置于等待状态,直到资源被释放。

我开始怀疑这是处理从多个任务访问 FS 的最佳方式。我有多个实例,其中 FS 生成故障,甚至对 SD 的简单命令也得到不正确的响应。如果我仅将 1 个任务限制为访问 FS,则不会发生这些故障。

回到主要问题,每个人对多任务 FS 访问的想法/建议是什么?例如我最初使用的更精细的方法?或者可能是单个任务将被不同任务标记以访问 FS?

最佳答案

由于大多数访问都是读取,因此明显而简单的改进是多读取器,单写入器。进一步的改进是对根 FAT 目录进行特殊处理,并创建一个旁路,以便在其他地方写入不会阻止根目录读取。 (这也可能包括根目录的 R/W 缓存)

关于c - 在嵌入式 C 中使用 RTOS 处理多任务文件系统的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26654864/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com