本帖最后由 figureyang 于 2020-5-9 15:20 编辑
Cheap_flash_fs(高端版)--嵌入式FAT16/32文件系统源码免费下载
本代码兼容FAT16/FAT32文件系统两种格式,兼容微软长文件名,
支持中文文件名(带有GB2312/UNICODE转换码表,170KB)
支持多级子目录,支持文件读取,写入,删除,创建等等文件系统的常用功能。
总之,本文件系统源代码全部使用C代码编写,VC仿真测试,通过各种单片机的编译器,移植去各种单片机平台上实现文件系统模块。
本代码的一次写可以达到1000个扇区以及更多,欢迎选用。
(本代码是由我们提供的源代码,用户可根据需要测试,研究,和应用本代码。可用于商业产品上。
需要和作者联系,可通过以下联系方式联系。
qq:292942278 e-mail:tony_yang123@sina.com
==新增加功能函数==
1.文件移动函数u8 move_file(u8 * oldfilename1,u8 * newfilename1)-该函数实现文件在同一个盘内和不同目录间进行移动,u8 * oldfilename1指定要移动文件的路径,u8 * newfilename1指定移动文件的目标目录,移动文件成功则返回SUCC。
2.非法字符,非法路径和非法文件名的检查。
3.长文件目录项的序号和checksum的检查,对坏文件名进行过滤。
4.添加卷标读取和设置函数:
u8 Get_Volume_ID(u8 disk,u8 * Volume_Char)和u8 Set_Volume_ID(u8 disk,u8 * Volume_Char)
5.测试了优化的磁盘枚举算法,即把退出目录时磁盘目录扫描优化成了目录位置的**,在CORTEX-M4上一秒钟可以枚举177个文件,
在CORTEX-M3上一秒钟可以枚举52个文件,测试CPU使用STM32系列。有空大家可以做实验自己移植。支持中文的文件名枚举。
6.优化了格式化算法
FAT_filesystem_autoformat('C',FAT32,150000*2); //FAT32格式化容量是80M及以上
FAT_filesystem_autoformat('D',FAT16,270336); //FAT16的格式化容量是4MB到3.5GB
7.修改了短文件名的读取,短文件名和扩展名中间可以带空隔,可以处理这样的文件create_file("test aa.t t");
并且对目录项以0x20开始的坏短文件名进行过滤。
Cheap_flash_fs(高端版).rar
(2.77 MB)
|