|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Cheap_flash_fs(高端版)--嵌入式FAT16_32文件系统免费源码下载
. p" M3 c4 v. A# L0 e' C0 f9 P' t; m" U, \( E
本代码兼容FAT16_FAT32文件系统两种格式,兼容长文件名,
( c3 H8 E% q$ I q c; C w+ j, \支持中文文件名(中文需要GB2312/UNICODE编码转换表格,转换表格要ROM 170KB空间)
* e5 u: x4 |, [' h( Y支持子目录,支持文件读取,写入,删除,创建等文件系统常用功能。
$ o; U6 b% m8 j. l并且,本文件系统全部用C代码编写,VC下仿真测试,可以通过各种单片机C编译器,移植去单片机平台实现文件系统模块。6 E4 p+ h$ U* |3 q! H. s! m
. H! D; S0 g" Q7 _- `- P4 f
(本代码是我们提供的免费源代码,用户可以根据需要研究,测试,和应用代码。可用于商业产品。
" `) m$ C C0 ~% e8 J4 Z _& V3 h9 x! t
6 @' e, b8 @8 U; Z: C' Z==新增加的功能及函数==$ b" n0 K1 \$ r0 i; q# H# n# Q# h. H
1.增加磁盘删除演示代码
c+ } U: w4 S: [2.GetEntryFromDirectory()增加不读扇区模式,每次调用GetEntryFromDirectory()不用都读扇区,这样可以加快打开文件速度
- Z' d- u" j* r! ~0 a- `# x" N3.建短文件名区分大小写(扩展名和文件名大小写可不一样,一样建立短文件名),如果短文件名大小写混合建长文件名。
, l& H/ i% \6 d% g% Zcreate_file("cccccc.TXT");建立短文件名
1 @5 Y* ^: V; } Vcreate_file("CCCCCC.txt");建立短文件名
\4 L- i/ r1 Tcreate_file("BBBABB.TXT");因为文件名有混合大小写,建长文件名) B4 z9 D# v- i3 F
create_file("bbbbbb.tXt");因为扩展名有混合大小写,建长文件名8 j. }! v# j* n0 E+ [5 `
4.优化f_seek()函数,一次最大移2G个字节8 _: |# s: U& Q" _5 j8 e) g
5.优化函数Write_LongFileName_Entry()以前是一个目录项就写一个扇区,现在同一个扇区的目录项只写一个扇区,建文件速度加快.* J' o- l }0 N9 g, S+ ~
6.优化函数Add_A_Directory_Entry_()条件if(len == 1 || !flag)改为if(len == 1 && !flag),不用重复检查文件名.
% A1 y [5 y2 p0 Z7.加入include当前目录".\",防止编译时候出现error.
: o( ^& @# \- W$ T8.优化函数Allocate_EMPTY_CLUSTER_TO_CUR_CLUSTER_CHAIN(),分配簇在相同扇区的簇记录少写2次扇区
5 Y% o4 O1 ]9 p( b: C0 c* _: B6 h* ]9.优化多簇分配函数,多簇处理变得相对简单可靠
8 j: b5 n1 c6 R. V* o" P10.优化两个单簇分配函数,单簇处理变得相对简单可靠
; D# M) \- }1 X. V3 Z& ]7 g11.建目录时,目录首簇号分配放到目录位置寻找成功里再分配
5 Z& Z" B! a3 H
# w7 } n( A0 N$ W0 `, K+ Z7 Z |
|