智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1081|回复: 3
打印 上一主题 下一主题

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

[复制链接]

12

主题

22

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
7613
威望
4553
贡献
3060
兑换币
3008
注册时间
2019-6-22
在线时间
0 小时
跳转到指定楼层
1#
发表于 2024-7-18 09:09:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Cheap_flash_fs(高端版)--嵌入式FAT16/32文件系统免费源码下载

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

==新增加功能函数==
1.增加了文件的簇链缓冲,可以加快移动文件指针和读写文件速度,加了簇链缓冲,移动文件的指针和读文件基本上不需要读簇链。
如果不加簇链缓冲,1GB文件的移动指针,4KB一个簇,移动指针,读FAT表就要读1024KB数据。加了簇链缓冲以后不用读1024KB的数据,移动指针就快了。
2.加入了磁盘的碎片整理,对磁盘碎片文件执行整理。
3.优化了磁盘碎片整理的函数u8 allocate_cluster_for_dest(u8 HANDLE1);使它变得更加稳定可靠高效
4.加入了文件系统上电检查功能,实现了上电FAT表的检查,实现上电对文件和目录进行检查,包括文件的首簇号检查,文件大小对应簇链检查
目录的首簇号检查,目录的有效目录"."和".."检查,目录没有"."和".."则转换为文件。

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








本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

12

主题

22

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
7613
威望
4553
贡献
3060
兑换币
3008
注册时间
2019-6-22
在线时间
0 小时
2#
 楼主| 发表于 2024-7-19 13:56:58 | 只看该作者






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

12

主题

22

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
7613
威望
4553
贡献
3060
兑换币
3008
注册时间
2019-6-22
在线时间
0 小时
3#
 楼主| 发表于 2024-7-27 18:12:30 | 只看该作者
5.加入了掉电保护的功能,在fat_cfg.h里的  #define enable_fs_write_file_power_off_protection 1
打开enable_fs_write_file_power_off_protection功能,小数据量(比如ADC的采样数据)的write_file()填满一个文件缓冲区再写扇区
文件缓冲区的大小可以定义,在fat_cfg.h里面的  #define TotalFileBUFsQTYeachFCB 1 --这个是原有的宏定义,不是新增加的
这样可以降低flash写出错的几率(写FLASH的时候正好遇到掉电(造成文件前后的数据丢失)),包括SD卡和SPI FLASH等FLASH存储设备
中间需要保存数据则调用file_buffer_flush()
写完数据后,直接调用关文件函数close_file()将文件缓冲区的数据回写到flash存储设备上
#define enable_fs_write_file_power_off_protection 0 则跑正常的write_file()功能,每次调用write_file()都直接写扇区







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

12

主题

22

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
7613
威望
4553
贡献
3060
兑换币
3008
注册时间
2019-6-22
在线时间
0 小时
4#
 楼主| 发表于 2024-8-22 11:11:20 | 只看该作者
本人写的一个选项卡例程,大家需要的可以参考一下
编译环境,VC++ 6.0






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-11-5 17:19 , Processed in 0.075446 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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