|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Cheap_flash_fs(高端版)--嵌入式FAT16_32文件系统免费源码下载' I3 M: t5 y$ l3 w5 A, I
; D: @/ r* v9 I% Z/ [本代码兼容FAT16_FAT32文件系统两种格式,兼容长文件名," K$ ]0 D( y: f/ z
支持中文文件名(中文需要GB2312/UNICODE编码转换表格,转换表格要ROM 170KB空间)+ ~; d& w& }$ j5 W" [
支持子目录,支持文件读取,写入,删除,创建等文件系统常用功能。
J$ _+ I7 |% H8 B! ~; l6 x并且,本文件系统全部用C代码编写,VC下仿真测试,可以通过各种单片机C编译器,移植去单片机平台实现文件系统模块。5 d6 `" G9 b9 y+ l- @! i
0 H, C& Z3 \# G: T; E/ L; K2 R& b
(本代码是我们提供的免费源代码,用户可以根据需要研究,测试,和应用代码。可用于商业产品。
# i! a; x! z! ^: \$ n7 O2 J4 I
9 @. H K) N- Z" R1 e( I8 ?8 y
1 p; P, O7 v: |3 R==新增加的功能及函数==
7 N3 n5 g i8 o5 G5 e/ ?1.增加磁盘删除演示代码
7 I1 r! q0 m$ r0 x* }/ {2.GetEntryFromDirectory()增加不读扇区模式,每次调用GetEntryFromDirectory()不用都读扇区,这样可以加快打开文件速度3 P2 ]1 D: O! j+ x' C
3.建短文件名区分大小写(扩展名和文件名大小写可不一样,一样建立短文件名),如果短文件名大小写混合建长文件名。4 J7 A6 g% ~; _3 h
create_file("cccccc.TXT");建立短文件名
4 o/ }- W7 w' K& Pcreate_file("CCCCCC.txt");建立短文件名
: i) [ }8 b' f# m x2 `+ t* Z( Ycreate_file("BBBABB.TXT");因为文件名有混合大小写,建长文件名2 T- w/ ~# w( v
create_file("bbbbbb.tXt");因为扩展名有混合大小写,建长文件名
( c3 l! K1 d3 ]& B4.优化f_seek()函数,一次最大移2G个字节; K! s/ v% w0 c _* _
5.优化函数Write_LongFileName_Entry()以前是一个目录项就写一个扇区,现在同一个扇区的目录项只写一个扇区,建文件速度加快.
2 _: r, f! C2 M6.优化函数Add_A_Directory_Entry_()条件if(len == 1 || !flag)改为if(len == 1 && !flag),不用重复检查文件名.
( [/ `" G- ~ J& Q$ A6 z& f- ?7.加入include当前目录".\",防止编译时候出现error.: Z7 D1 p& Q0 Q) U* O
8.优化函数Allocate_EMPTY_CLUSTER_TO_CUR_CLUSTER_CHAIN(),分配簇在相同扇区的簇记录少写2次扇区2 c" q2 m$ f+ P3 z
9.优化多簇分配函数,多簇处理变得相对简单可靠
0 P8 s' M q( x4 T) P" G0 M10.优化两个单簇分配函数,单簇处理变得相对简单可靠
1 v( @3 Y. q( z. E1 l% x11.建目录时,目录首簇号分配放到目录位置寻找成功里再分配
2 U1 _# H0 M3 y. t' G. b
4 v5 G( y+ J% B+ V9 m. D" L( K |
|