2013-05-29 44 views
1

我正在开发基于闪存的USB大容量存储设备FAT16文件系统。 它工作正常,但我很难理解FAT段上发生了什么。了解FAT16

当我开始时,我有一个文件,根目录长56字节,长32位,数据存储在第二簇(0和1不能在FAT中使用)。

,如果我看FAT段我看到的内存转储:

f8 ff ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00... zeros until the end 

据我了解,最后为0xFFFF意味着该集群链此文件的最后一个簇。

迄今为止好。

...当我实际文件的大小扩展到4,032字节,FAT段变成

f8 ff ff 00 f0 ff 05 60 00 07 f0 ff 00 00 00 00 00... zeros until the end 

任何人能解释这是怎么回事呢?

我看到几件事情我无法解释:

1.为何4系统保留的字节改变?

2.我看不到任何0xFFFF这意味着,群集链没有结束?

如果它对任何人有帮助,块大小为512字节,则文件系统格式化为每个群集2段。

回答

1

数字它是FAT12,而不是我正在使用的FAT16。

FAT12-16按簇的数量区分,而不是写入引导扇区的字符串。