上周在坛子里发了个帖子,咨询了下F429的板子基于FATFS文件系统写入SD卡的速度,今天抽空搞了一下,分享给大家。
测试方案:
通过定时器中断1ms累积计数来测试,在打开文件前设置断点,读取count值C1,在关闭文件后打断点,再次读取count值C2,C = C2-C1即为操控SD卡写入时间。
测试数据量为100KB:
__align(32) u8 data[100*1024] __attribute__((at(0XC1F01900)));
1) 首先设置定时器1ms,作为测试的精度标尺:
TIM3_Init(10-1,9000-1); // 定时器3初始化,定时器时钟为90MHz,分频系数为:9000-1
// 所以定时器的频率:90MHz/9000 = 10KHz,10*(1/10Khz) = 1ms
2)上电开发板,进入调试模式在f_open 前设置断点:
res=f_open (&fil,"0:/test2.dat", FA_CREATE_ALWAYS|FA_WRITE);
3)点击KEIL菜单中运行,程序在断点处停下,读取count值:0x000002CE
4)在关闭文件后设置断点:
5)点击KEIL运行,断点停下时读取count值:
6)计算存储时间差:
0x00000302 - 0x000002CE = 52 ms
结论:从打开文件写入100KB数据至关闭文件总计用了52ms
|