此内容由EEWORLD论坛网友chenbingjy原创,如需转载或用于商业用途需征得作者同意并注明出处
第四章 巧策良方,数据狂飙:独特算法实现数据高速写入
物理扇区写函数:znFAT_Devce_Write_Sector。该函数实现了对存储设备单一扇区进行写入操作。
对簇内的连续扇区处理程序如下:
for(i=0;i<(Init_Args.SectorsPerClust);i++) //向簇内连续扇区写入数据
{
znFAT_Device_Write_Sector(pfi->File_CurSec+i,pbuf);
pbuf+=512;
}
这种实现方式是单扇区写+循环,称为"软件多扇区"。
硬件多扇区的方法为:先向存储设备写入开始扇区和要操作的总扇区数,随后就是纯粹的数据写入过程了。
所以硬件多扇区比软件多扇区效率高得多。
下面做一实验,用软硬两种方式向SD卡中的连续扇区写数据,看看时间对比如何。测试代码如下:
效果如图:
感觉差别不是很大,和振南书上说的有点出入。
这个不知道怎么回事。高手如知道,可告知,多谢!
此帖出自开发板测评专版论坛