|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Cheap_flash_fs(高端版)--嵌入式FAT16_32文件系统免费源码下载
6 J( N0 R; s0 {: J& y3 U3 P8 k
* T/ o5 x2 M( v. B1 k本代码兼容FAT16_FAT32文件系统两种格式,兼容长文件名,
% @5 _8 B' H% Y u* p: D支持中文文件名(中文需要GB2312/UNICODE编码转换表格,转换表格要ROM 170KB空间)
( s' F) ?$ _8 F支持子目录,支持文件读取,写入,删除,创建等文件系统常用功能。
- u9 P% L; b* ]7 e. L) P9 I并且,本文件系统全部用C代码编写,VC下仿真测试,可以通过各种单片机C编译器,移植去单片机平台实现文件系统模块。$ R5 k* u$ @8 A! N
/ v2 d5 M( e4 k
(本代码是我们提供的免费源代码,用户可以根据需要研究,测试,和应用代码。可用于商业产品。" Q5 u$ p% o9 A; h7 L
' b0 R: k5 K! L, k0 z. T3 w. }. B9 c6 q% `% K
==新增加的功能及函数==
9 j. A% d& U: K+ Q, G1.增加磁盘删除演示代码
6 @6 g; j* {9 z2 x2 Y1 R1 P% k2.GetEntryFromDirectory()增加不读扇区模式,每次调用GetEntryFromDirectory()不用都读扇区,这样可以加快打开文件速度, S* ~6 L6 Z9 k4 _
3.建短文件名区分大小写(扩展名和文件名大小写可不一样,一样建立短文件名),如果短文件名大小写混合建长文件名。4 r" P+ U( X+ n( `
create_file("cccccc.TXT");建立短文件名 d' o' j; s e( g" |
create_file("CCCCCC.txt");建立短文件名7 x: W' Q8 p* j5 c
create_file("BBBABB.TXT");因为文件名有混合大小写,建长文件名
/ p9 p2 f, F+ v% Lcreate_file("bbbbbb.tXt");因为扩展名有混合大小写,建长文件名
+ B& X" v e+ k/ C d% G1 o4.优化f_seek()函数,一次最大移2G个字节
% i f/ l9 {7 u5.优化函数Write_LongFileName_Entry()以前是一个目录项就写一个扇区,现在同一个扇区的目录项只写一个扇区,建文件速度加快.
% ]+ F+ A+ Q Z1 S7 m1 ~; x. b6.优化函数Add_A_Directory_Entry_()条件if(len == 1 || !flag)改为if(len == 1 && !flag),不用重复检查文件名.
& H5 |1 U" J, I$ B; o7 v7.加入include当前目录".\",防止编译时候出现error.! H5 ^( i4 K5 v# H( T
8.优化函数Allocate_EMPTY_CLUSTER_TO_CUR_CLUSTER_CHAIN(),分配簇在相同扇区的簇记录少写2次扇区
$ r% T% P6 l4 @! k. Z5 z; h ^9.优化多簇分配函数,多簇处理变得相对简单可靠. f+ q9 n6 Q5 R/ t- m
10.优化两个单簇分配函数,单簇处理变得相对简单可靠% c# y" d# c. n9 f) H% N: `7 J; J
11.建目录时,目录首簇号分配放到目录位置寻找成功里再分配 b/ j; Z' s/ H2 b2 e
3 O& R0 R6 ?4 X+ ^2 ?
|
|