EDA365电子论坛网

标题: Cheap_flash_fs--嵌入式FAT16_32文件系统 [打印本页]

作者: Maskman    时间: 2022-8-1 10:52
标题: Cheap_flash_fs--嵌入式FAT16_32文件系统
Cheap_flash_fs(高端版)--嵌入式FAT16_32文件系统免费源码下载
* ~! O. D3 I* p* j, V6 L. {
( b$ L# ]- j% @9 x* m) b本代码兼容FAT16_FAT32文件系统两种格式,兼容长文件名,( @: b8 E4 M/ e: o4 b- @
支持中文文件名(中文需要GB2312/UNICODE编码转换表格,转换表格要ROM 170KB空间)
! c8 D; M0 t7 V- }) k# ^7 G支持子目录,支持文件读取,写入,删除,创建等文件系统常用功能。
8 A; ^% i, r, C& U+ F" N* `并且,本文件系统全部用C代码编写,VC下仿真测试,可以通过各种单片机C编译器,移植去单片机平台实现文件系统模块。
" H$ ^4 G' \6 E2 K1 {  Z6 h" f
( P/ J- q& \: H( X3 p6 Y- [! Y(本代码是我们提供的免费源代码,用户可以根据需要研究,测试,和应用代码。可用于商业产品。5 n" n  x; |4 K0 `6 L# K
. x/ A) K- b& w6 r. T9 {$ R' _

6 ]7 z5 R" R  @/ x  a4 L6 {: s2 Q2 R: H==新增加的功能及函数==
, }. ^5 T7 r* I7 \) x1.增加磁盘删除演示代码
& A& @7 u& U1 N7 n$ N2.GetEntryFromDirectory()增加不读扇区模式,每次调用GetEntryFromDirectory()不用都读扇区,这样可以加快打开文件速度
  ?% J8 U6 M5 K& h  z3.建短文件名区分大小写(扩展名和文件名大小写可不一样,一样建立短文件名),如果短文件名大小写混合建长文件名。
3 \9 j' ]7 Q2 r. }create_file("cccccc.TXT");建立短文件名
$ l6 i' [; |$ ^( L2 F' _create_file("CCCCCC.txt");建立短文件名
! I( D7 ]7 y, J, V) E# V4 V  }- Pcreate_file("BBBABB.TXT");因为文件名有混合大小写,建长文件名0 }" s+ i7 c' M, L1 a. U
create_file("bbbbbb.tXt");因为扩展名有混合大小写,建长文件名# ~5 e$ Y5 u) T) o
4.优化f_seek()函数,一次最大移2G个字节
/ U/ o# l5 b) _) r5.优化函数Write_LongFileName_Entry()以前是一个目录项就写一个扇区,现在同一个扇区的目录项只写一个扇区,建文件速度加快.
- ^6 Y* d6 l; y' ?6.优化函数Add_A_Directory_Entry_()条件if(len == 1 || !flag)改为if(len == 1 && !flag),不用重复检查文件名.. H0 @, o8 Y7 ?' P
7.加入include当前目录".\",防止编译时候出现error.
: c- y! ^( h: w) N+ }: @* t7 H8.优化函数Allocate_EMPTY_CLUSTER_TO_CUR_CLUSTER_CHAIN(),分配簇在相同扇区的簇记录少写2次扇区( v1 T7 g5 g9 _% I7 \
9.优化多簇分配函数,多簇处理变得相对简单可靠6 O3 P! Y) T; ^5 B
10.优化两个单簇分配函数,单簇处理变得相对简单可靠4 ]" y0 A2 ~) Q- V' f9 D0 v* O
11.建目录时,目录首簇号分配放到目录位置寻找成功里再分配' z& |1 I0 r/ X) `6 \7 r

$ w' J' Z. H, X0 R7 J: Q

FAT快速版.rar

2.12 MB, 下载次数: 0, 下载积分: 威望 -5


作者: Dollche    时间: 2022-8-1 11:25
帮别人解决问题,自己也能提升,多谢楼主
作者: zhi_hui_zhou    时间: 2022-8-1 13:53
一起互相交流学习,共同进步。




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2