野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5485|回复: 6

Cheap_flash_fs(高端版)--嵌入式FAT16/32文件系统免费源码下载

[复制链接]

发表于 2022-9-16 10:30:00 | 显示全部楼层 |阅读模式
Cheap_flash_fs(高端版)--嵌入式FAT16/32文件系统免费源码下载

本代码兼容FAT16/FAT32文件系统共计两种格式,兼容微软的长文件名,
支持中文的文件名(带有GB2312/UNICODE转换码表,要占用ROM大小170KB)
支持多级的子目录,支持文件的读取,写入,删除,创建等等文件系统常用功能。
总之,本文件系统全部使用C代码编写,VC仿真测试,通过各种的单片机C编译器,移植去各种单片机平台应用我们的文件系统的模块。

(本代码是由我们提供的源代码,用户可根据需要进行研究,测试,应用本代码。并可用于商业产品上。
如果您需要和作者联系,可通过以下提供的联系方式联系。
qq:292942278   e-mail:tony_yang123@sina.com

==新增加功能函数==
1.增加了一个磁盘删除的演示代码
2.GetEntryFromDirectory()增加了不需要读扇区模式,不用每次调用GetEntryFromDirectory()都读扇区,比如说加快打开文件的速度
3.建短文件名的时候区分大小写(扩展名和文件名的大小写可以不一样,同样建短文件名),如果是短文件名大小写都有则建长文件名。
create_file("aaaaaa.TXT");创建短文件名
create_file("BBBBBB.txt");创建短文件名
create_file("aaaBaa.TXT");因为文件名有大小写,创建长文件名
create_file("aaaaaa.TxT");因为扩展名有大小写,创建长文件名
4.优化了f_seek()函数,一次最大移2G个字节
5.优化了函数Write_LongFileName_Entry()从一个目录项写一次扇区,修改为同一个扇区内的目录项写一次扇区,加快建文件的速度.
6.函数Add_A_Directory_Entry_()的条件if(len == 1 || !flag)改成if(len == 1 && !flag),去除重复检查文件名.
7.加入了include目录".\",防止编译出错.
8.优化了函数Allocate_EMPTY_CLUSTER_TO_CUR_CLUSTER_CHAIN(),分配簇同一个扇区的簇记录只写2次扇区
9.优化了多簇分配函数,多簇处理变得简单
10.优化了两个单簇分配函数,单簇处理变得简单
11.建目录时,目录的首簇号分配放到寻道成功再分配
12.fill_fat_table()加了参数u32 buf_sector_num判断,一般情况下可以少读一个扇区,加快簇分配的速度
13.Remove_LONGFILENAME()的时候if(CORE[disk_id].offset==512)判断,防止地址越界
14.解决了folder_enumeration()的get_file_attribute_2()ATTR_ARCHIVE未设置不能读出文件大小的BUG

FAT快速版.rar (2.18 MB, 下载次数: 11)

回复

使用道具 举报

发表于 2022-9-16 14:10:01 | 显示全部楼层
回复

使用道具 举报

发表于 2022-9-16 18:54:47 | 显示全部楼层
不错!很有价值的资料与源码。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-9-26 09:12:39 | 显示全部楼层
FAT快速版_fat12,加入多簇处理,提高效率_与fat16_32版一样


FAT快速版_fat12.rar (2.14 MB, 下载次数: 4)



回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-20 11:40:45 | 显示全部楼层
4.rename_folder()加入了目录是否打开的判断.
5.delete_folder()加入了目录是否打开的判断.

目录打开(当前安排即目录是文件系统的当前目录)则不能重命名目录和删除目录

FAT快速版.rar (2.14 MB, 下载次数: 4)

FAT快速版_fat12.rar (2.18 MB, 下载次数: 3)




回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-25 11:37:42 | 显示全部楼层
6.优化了格式化算法,可以格式化200M以内的盘和FreeClusterChain(),加入了两张FAT表当前扇区是否一样的判断,不一样则直接退出


FAT快速版_fat12.rar (2.17 MB, 下载次数: 2)



回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-11-2 09:04:56 | 显示全部楼层
==新增加功能函数==
1.增加了一个磁盘删除的演示代码
2.解决了folder_enumeration()的get_file_attribute_2()ATTR_ARCHIVE未设置不能读出文件大小的BUG
3.解决cd_folder()数字文件名目录不能进入的漏洞
4.rename_folder()加入目录是否打开判断.
5.delete_folder()加入目录是否打开判断.
6.优化了格式化FAT12算法,可以格式化200M以内的盘和FreeClusterChain(),加入了两张FAT表当前扇区是否一样的判断,不一样则直接退出
7.cd_folder()解决进入相对路径与current_folder连接不正常的漏洞
FAT快速版.rar (2.14 MB, 下载次数: 2)


FAT快速版_fat12版本.rar (2.15 MB, 下载次数: 5)





回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 15:06 , Processed in 0.034472 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表