标题: Cheap_flash_fs(高端版--UNICODE版本)--嵌入式FAT16_32文件系统免费源码下载 [打印本页]

作者: figureyang    时间: 2025-5-15 09:02
标题: Cheap_flash_fs(高端版--UNICODE版本)--嵌入式FAT16_32文件系统免费源码下载
Cheap_flash_fs(高端版--UNICODE版本)--嵌入式FAT16_32文件系统免费源码下载

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

==新增加功能函数==
1.优化了Writeback_FCB_file_buffer,加快写文件的速度。
在STM32H7上移植测试,拷贝文件从0.5MB/S加快到1.25MB/S,用的是普通的SD卡。
CLASS10的SD卡拷贝速度可以达到2MB/S。

(本代码是由我们提供的C代码,用户根据需要可进行研究,应用,测试,移植本代码。并可用于商业产品上。
如果您需要和作者联系,可通过以下提供的联系方式联系。






作者: figureyang    时间: 2025-5-19 11:36
大家如果需要更快的速度,可以来技术支持
可以增加FAT表和文件大小扇区的CACHE功能,这样写文件的时候基本不用读FAT表扇区,只要写
数据扇区就可以了。可以再提高速度。
下面是抓取的加了CHAHE写扇区图,可以看到写的时候基本不用读扇区。write_file()函数一次读写32KB数据。





作者: figureyang    时间: 2025-9-1 09:33
增加了建文件分配空间的函数,可以加快顺序写文件的速度。
    create_file_with_preallocate("aaaaaaaaaaaaaa.rar",30540551);
    HANDLE1 = open_file_for_preallocate("aaaaaaaaaaaaaa.rar");
用函数open_file_for_preallocate()打开的文件,写文件的时候
if(write_file(HANDLE1,buf, cc)==Disk_is_full)写的长度必须是512或它的倍数,
不可以是其它的非对齐的长度。






分配空间的函数可以加快写速度。
在STM32H7上测试的速度如下面:

最新_1_用了preallocate功能, 一次写64K字节。
森秀的速度: 写文件4.7MB/S
16GB SD卡的速度:12.5MB/S
32GB SD卡的速度:8.3MB/S

上面的数据比XP上稍微慢一点,可能是PC机的CPU频率快一点。
大家需要分配空间函数的可以来技术支持。







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1