|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Cheap_flash_fs(高端版)--嵌入式FAT16_32文件系统免费源码下载" V7 R/ T j% ^* E! O: j, f; u
+ A$ M' X/ @' D& z本代码兼容FAT16_FAT32文件系统两种格式,兼容长文件名,
/ K* @3 k: r, P5 M+ u支持中文文件名(中文需要GB2312/UNICODE编码转换表格,转换表格要ROM 170KB空间)
4 x. `2 y" H) l5 v5 s, r支持子目录,支持文件读取,写入,删除,创建等文件系统常用功能。
) H) v3 {) ~: m7 X并且,本文件系统全部用C代码编写,VC下仿真测试,可以通过各种单片机C编译器,移植去单片机平台实现文件系统模块。
: h1 G/ F# t% U( f* q2 a9 I \
9 e& r }& Z' G$ [; E(本代码是我们提供的免费源代码,用户可以根据需要研究,测试,和应用代码。可用于商业产品。
( z9 U2 L8 M) m% p1 Y" h% o* T& Y1 e- b m
& g' y! O$ n: \2 m2 k8 S. K
==新增加的功能及函数==
' a2 Q+ H& G5 I$ b2 e1.增加磁盘删除演示代码
/ K+ F o0 Z% G% l8 ?7 m9 R2.GetEntryFromDirectory()增加不读扇区模式,每次调用GetEntryFromDirectory()不用都读扇区,这样可以加快打开文件速度
+ R8 e2 C' L, b5 N5 w8 p3.建短文件名区分大小写(扩展名和文件名大小写可不一样,一样建立短文件名),如果短文件名大小写混合建长文件名。
. w( f( Z1 U; o. p0 {7 ], a9 Y4 Gcreate_file("cccccc.TXT");建立短文件名, v6 h! u/ q u1 ~
create_file("CCCCCC.txt");建立短文件名
# g* ]2 p) | T3 f" l9 Z, ~9 mcreate_file("BBBABB.TXT");因为文件名有混合大小写,建长文件名8 T2 T. {7 T2 n4 t$ L( R* m9 ~
create_file("bbbbbb.tXt");因为扩展名有混合大小写,建长文件名
! T& @( a5 h7 X; x# U; b4.优化f_seek()函数,一次最大移2G个字节* p# m7 J% n. O% T" M; V b, Q3 W5 R
5.优化函数Write_LongFileName_Entry()以前是一个目录项就写一个扇区,现在同一个扇区的目录项只写一个扇区,建文件速度加快.
% D& ?, y! G+ F. Z6 J- _: L' T, c( F6.优化函数Add_A_Directory_Entry_()条件if(len == 1 || !flag)改为if(len == 1 && !flag),不用重复检查文件名.
6 _& {- N& W; o7.加入include当前目录".\",防止编译时候出现error.
1 X3 ~% W6 c6 h/ [8.优化函数Allocate_EMPTY_CLUSTER_TO_CUR_CLUSTER_CHAIN(),分配簇在相同扇区的簇记录少写2次扇区
+ z4 v# Q/ d- N: Z7 E% A0 H7 q1 R9.优化多簇分配函数,多簇处理变得相对简单可靠/ i2 e# B* }- C) @7 q$ X
10.优化两个单簇分配函数,单簇处理变得相对简单可靠& `/ X% j! U/ i4 j! ?$ p/ a
11.建目录时,目录首簇号分配放到目录位置寻找成功里再分配" J* O1 W1 g) P0 j- W @$ y
! Q d/ Y9 S( T |
|