在开发加密狗的文件系统我参照了FAT文件系统的设计,结合我使用的芯片情况,进行文件系统的设计.
我使用的芯片EEPROM共32K,由于加密狗文件的大小一般都较小,我把扇区定为128字节,这样,整个存储区共有256个扇区,
一 、FAT区的设计
fat表刚好占用2个扇区(256字节,1个字节对应1个扇区,并且1个字节表示的范围(0~255),也刚好对应256个扇区),
二、根目录区的设计
整个存储区共有256个扇区,按1个扇区存储1个文件,则可存储256个文件,但由于FAT区(2个扇区)和根目录区要占用一些扇区(x),文件系统最大文件数:Max =256 - 2 - x个文件,每个文件在根目录中占用16字节,
(256 - 2 - x) *16/128 = x个扇区, 254 = 9x 由此可计算出根目录区要占用28个扇区。
三、数据区的设计
数据区的大小为 8 *128 / 16 = 224 个扇区,则空余扇区 256-2-28-224=2个扇区。
子目录作为文件来处理;