|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Cheap_flash_fs(高端版)--嵌入式FAT16_32文件系统免费源码下载
; o$ D% A4 k$ V8 S' |0 b0 I, B' h+ S
本代码兼容FAT16_FAT32文件系统两种格式,兼容长文件名,
6 M2 h3 }4 m+ D1 }! _) b2 D支持中文文件名(中文需要GB2312/UNICODE编码转换表格,转换表格要ROM 170KB空间)
1 Q4 P+ A ]/ T7 l5 b! R支持子目录,支持文件读取,写入,删除,创建等文件系统常用功能。! I1 V# g. \3 H9 Y4 d/ V
并且,本文件系统全部用C代码编写,VC下仿真测试,可以通过各种单片机C编译器,移植去单片机平台实现文件系统模块。
# X; n( A( W9 I* o l$ h/ O
# I3 V! i5 z" v6 {9 m Q(本代码是我们提供的免费源代码,用户可以根据需要研究,测试,和应用代码。可用于商业产品。
- Z/ x6 h4 d- _9 [' o7 x5 _; T9 h' s
! g' F' T' m8 u1 Y4 e
==新增加的功能及函数==
: _* f; q$ L Y) [+ u1.增加磁盘删除演示代码* W! y; T* M2 o6 S% h
2.GetEntryFromDirectory()增加不读扇区模式,每次调用GetEntryFromDirectory()不用都读扇区,这样可以加快打开文件速度
7 X% h! ]. E9 `6 O2 A# |& V3.建短文件名区分大小写(扩展名和文件名大小写可不一样,一样建立短文件名),如果短文件名大小写混合建长文件名。
' c% J/ Q( }5 l/ N x2 y. }create_file("cccccc.TXT");建立短文件名
3 T* ?( T6 c# Z% _8 T4 [create_file("CCCCCC.txt");建立短文件名. Q+ ?7 z+ P K6 J# }. a% m$ R
create_file("BBBABB.TXT");因为文件名有混合大小写,建长文件名
4 P2 p& ~ G% M7 ?create_file("bbbbbb.tXt");因为扩展名有混合大小写,建长文件名
/ C3 z: o( N# E3 v* p4.优化f_seek()函数,一次最大移2G个字节
. @) Y, ^, _5 y& h5.优化函数Write_LongFileName_Entry()以前是一个目录项就写一个扇区,现在同一个扇区的目录项只写一个扇区,建文件速度加快. l C, x. |3 @9 U
6.优化函数Add_A_Directory_Entry_()条件if(len == 1 || !flag)改为if(len == 1 && !flag),不用重复检查文件名.
+ u2 w! G6 \1 p; X" D" o7.加入include当前目录".\",防止编译时候出现error.
6 d f& H; M6 {% E8 u8 ?8.优化函数Allocate_EMPTY_CLUSTER_TO_CUR_CLUSTER_CHAIN(),分配簇在相同扇区的簇记录少写2次扇区( Z7 y/ b5 T, @% J/ v- M
9.优化多簇分配函数,多簇处理变得相对简单可靠, \5 g# L9 w [- A8 d" n' T+ }
10.优化两个单簇分配函数,单簇处理变得相对简单可靠9 w- Z0 s4 c0 v; y! h3 H7 K8 ~ Y" G
11.建目录时,目录首簇号分配放到目录位置寻找成功里再分配
( i3 E; T+ x1 W# F6 x" b
7 `( |5 x( v$ d4 i, c: y' Z |
|