|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Cheap_flash_fs(高端版)--嵌入式FAT16_32文件系统免费源码下载) C ]$ l/ U0 L0 P/ N9 X* j& E
7 O/ R# z6 @, H* Z9 D8 x/ q$ C
本代码兼容FAT16_FAT32文件系统两种格式,兼容长文件名,
: Q1 p+ \/ s) N5 m支持中文文件名(中文需要GB2312/UNICODE编码转换表格,转换表格要ROM 170KB空间)
. z8 f2 J& D; D- L5 ]7 o, r支持子目录,支持文件读取,写入,删除,创建等文件系统常用功能。1 S& x/ B: F2 O3 _% o( y8 f
并且,本文件系统全部用C代码编写,VC下仿真测试,可以通过各种单片机C编译器,移植去单片机平台实现文件系统模块。4 I$ ]' U! q0 @* M @
# n0 z' m, |4 d; S" b; u3 y(本代码是我们提供的免费源代码,用户可以根据需要研究,测试,和应用代码。可用于商业产品。7 f! d4 t8 o8 v3 b
. T( @$ V* L+ v U! C
* y4 N. c) k7 v9 _% U
==新增加的功能及函数==7 G# ?% A& Z+ [# E# ]5 z" ^
1.增加磁盘删除演示代码4 a" {' y! d3 A' d
2.GetEntryFromDirectory()增加不读扇区模式,每次调用GetEntryFromDirectory()不用都读扇区,这样可以加快打开文件速度 e9 I5 P# z9 w" q {) G1 G" O
3.建短文件名区分大小写(扩展名和文件名大小写可不一样,一样建立短文件名),如果短文件名大小写混合建长文件名。
+ Y/ |- w: C; U7 g8 G9 I6 zcreate_file("cccccc.TXT");建立短文件名
2 N1 _' f9 G4 a" J. Xcreate_file("CCCCCC.txt");建立短文件名" G: J/ R, E n8 k. \7 |7 Z* M
create_file("BBBABB.TXT");因为文件名有混合大小写,建长文件名
0 T- A7 c. t5 r! Ocreate_file("bbbbbb.tXt");因为扩展名有混合大小写,建长文件名1 J9 X/ p. A0 i. V" v
4.优化f_seek()函数,一次最大移2G个字节
' |( Z- o0 x- e9 E+ T8 x& m5 U5.优化函数Write_LongFileName_Entry()以前是一个目录项就写一个扇区,现在同一个扇区的目录项只写一个扇区,建文件速度加快.
$ A7 d8 ~$ I2 o8 J- \6.优化函数Add_A_Directory_Entry_()条件if(len == 1 || !flag)改为if(len == 1 && !flag),不用重复检查文件名.
9 S. g. C; @5 C3 E" `7.加入include当前目录".\",防止编译时候出现error.3 C$ e5 Y3 {6 o$ E* r# N
8.优化函数Allocate_EMPTY_CLUSTER_TO_CUR_CLUSTER_CHAIN(),分配簇在相同扇区的簇记录少写2次扇区 p# [9 F) ]9 H" k7 y2 o
9.优化多簇分配函数,多簇处理变得相对简单可靠. U! g% ?& k* w$ ^4 }
10.优化两个单簇分配函数,单簇处理变得相对简单可靠- u! X! N5 j M
11.建目录时,目录首簇号分配放到目录位置寻找成功里再分配
" w3 A4 g# i6 u2 j0 S* A( O' N& I8 H5 M: X
|
|