|
楼主 |
发表于 2025-9-1 09:27:55
|
显示全部楼层
大家如果需要更快的速度,可以来技术支持
可以增加FAT表和文件大小扇区的CACHE功能,这样写文件的时候基本不用读FAT表扇区,只要写
数据扇区就可以了。可以再提高速度。
下面是抓取的加了CHAHE写扇区图,可以看到写的时候基本不用读扇区。write_file()函数一次读写32KB数据。
增加了建文件分配空间的函数,可以加快顺序写文件的速度。
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频率快一点。
大家需要分配空间函数的可以来技术支持。
|
|