我正在开发一个低级应用程序,它在资源受限的微控制器上使用 FAT16 文件系统结构,这需要我编写自己的自定义访问代码。我已经研究过使用 Petit FAT 和 FatFS 等库,但不幸的是,我认为这两种库都不适合我的需求。不过,它们已成为 FAT 工作原理的有用参考。
我仍然遇到问题的一个领域是子目录条目。
据此,目录条目能够指向 1 个启动集群。对于数据文件,这只是第一个数据簇。对于目录,这是子目录的起始簇(可能是另一个目录条目)。
如果从根目录到基本文件只有 1 个目录路径,这可以正常工作,但我不明白这如何允许您分支到任何给定目录下的多个文件/目录。
前任。目录结构:
- root dir 1
- sub dir 1
- file 1
- sub dir 2
- file 2
- root dir 2
- sub dir 3
根据我对FAT16结构的理解,
紧随 FAT 的将是第一个根目录条目的簇,其中包含root dir 1
. 然后,第一个集群字段将包含 的集群地址sub dir 1
,谁的第一个集群字段将包含 的集群地址file 1
,谁的第一个集群指向数据集群。
然后,第二个根目录条目将在包含root dir 2
. 它的第一个簇将指向 的簇sub dir 3
,谁的第一个簇将指向一个空簇(如 FAT 中标记的那样)。
我在这里想念什么?我想不出一种从根目录条目向下导航到sub dir 2
.