gpt4 book ai didi

创建任意 FAT 文件系统,以归档或直接在程序内存中

转载 作者:行者123 更新时间:2023-11-30 15:22:13 25 4
gpt4 key购买 nike

我正在编写一个嵌入式系统,其中我正在创建一个 USB 大容量存储设备驱动程序,该驱动程序使用 8MB RAM block 作为 FAT 文件系统。

尽管当时允许操作系统将我的 RAM 区域清零并格式化 FAT 分区本身是有意义的,但我遇到了在 Jan Axelson(USB 书籍的流行作者)PORTS forum 上诊断的问题。该问题与删除驱动器中的 block 有关,可以通过在 USB 枚举之前将内存区域预格式化为 FAT 文件系统来避免。然后,我可以看看驱动器是否可以正常运行。理想情况下,预格式化分区上应包含一个文件来测试读取操作。

如果我能以某种方式在我的操作系统 (OSX) 上创建并安装一个模拟 8MB FAT 文件系统,向其中写入一个文件,并将其导出到一个图像文件以包含在我的项目中,那就太好了。有人知道该怎么做吗?剩下的我可以处理。我现在不太关心是否是 FAT12/16/32,可选的 MBR 包含会很好..

如果该选项不存在,我希望使用预先编写的实用程序来创建一个 FAT img 文件,我可以将其包含到我的项目中并直接上传到 RAM。例如,该实用程序允许我指定具有 512 字节扇区的 8MB 文件系统,也可能是 FAT12/FAT16/FAT32。

有人知道这样的实用程序吗?我没能找到一个。

如果没有,有人可以推荐在 C 中实现这个的第一步吗?我希望有一个图书馆存在。从头开始实现大容量存储驱动程序后,我感到非常疲惫,但我知道我可能必须“弄皱”并手动创建 FAT 分区。这并不太难。我想象一些打包的结构和一些选项。我会到达那里。我已经拥有有关 FAT 文件系统本身的资源。

最佳答案

我最终发现FatFS具有从嵌入式设备内部格式化和分区“驱动器”的功能,它使我不必手动格式化或使用主机端工具。

我想更详细地介绍所采取的步骤,但我已经筋疲力尽了。我稍后可能会编辑更多细节。

关于创建任意 FAT 文件系统,以归档或直接在程序内存中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29273853/

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