SD卡问题:将CE5的SD驱动Porting到CE6以后,SD卡的访问速度只有CE5的三分之一

zhangwf   2009-2-19 21:47 楼主
SD卡问题:将CE5的SD驱动Porting到CE6以后,SD卡的访问速度只有CE5的三分之一。
在CE5下,读大概是6MB/Sec, 写大概是4.8MB/Sec.
在CE6下,读大概是2.4MB/Sec, 写大概是500KB/Sec.

请问大家遇到过这种情况吗?可能原因是什么?
有Porting到CE6的,或者是工作在CE6下的,请问大家的SD卡访问速度是多少?

还有就是在CE6下的SD卡驱动的MDD部分,BusRequestHandler中添加了一个Physical Buffer,请问这个东东如何使用的?有用过的吗?

回复评论 (52)

记得当时比较过CE5跟CE6,好象速度是差不多的,具体数字记不太清楚了
点赞  2009-2-19 22:51
CE6还没跟进,不好乱说。不过从道理上讲不通。

测试吧,先别急着找原因。

在驱动里面,直接向SD写入足够多的数据,看看速度多少。然后系统启动后,向SD写入同样多的数据看速度。

如果驱动里面就不行,而你也不愿意尝试eboot里面去写,那就用示波器看sd的时钟clk是不是19~20MHz,如果不是,那就是SD的寄存器配置问题。
点赞  2009-2-19 23:44
没使用过CE6,关注。
点赞  2009-2-20 09:18
CE60下没有SD卡的驱动程序?为什么去从CE50下弄过来?
点赞  2009-2-20 11:07
没使用过CE6,关注。
点赞  2009-2-20 12:23
经过Debug发现主要原因是CE6下的文件系统好像和CE5下的不同。
首先说明我的测试程序是一个简单的CreateFile、WriteFile、ReadFile的程序。程序使用10M大小的文件和10M的buffer作为测试。
在CE5下,其在SDMemRead中debug发现,每次都可以以大于64个Sector的大小读取,但是发现在CE6下,每次读取的大小都是8个Sector。
这样同样大小的文件,CE6下就使用了接近于16倍的命令量来读取(每个Read命令后有一个Stop命令),所以速度慢了。

不知道有没有哪位高人对WinCE的文件系统读写操作比较熟悉的,可以解释一下原因吗?
尤其是WinCE6下的这种限制为每次读8个Sector的情况,是不是文件系统导致的?有什么方法可以设置吗?
点赞  2009-2-25 10:29
SD注册表部分有个BlockTransferSize的值,不知道是不是和这个有关系。
点赞  2009-2-25 13:31
引用: 引用 7 楼 gsymichael 的回复:
SD注册表部分有个BlockTransferSize的值,不知道是不是和这个有关系。


BlockTransferSize这个键值我已经改过了,系统默认的是64(0x40)。这个键值只能限制每次发送给SD Driver的Sector值,只能比这个值小,
其对在系统对SDMemRead调用之前传入的Sector数量没有影响。即:这个值如果修改小于8,则会产生影响,使SD Driver的Performance更差。
改大这个值,没有任何作用。

从系统的现象来说我觉得是WinCE6.0下的文件系统的操作和WinCE5.0下不一样造成的。
现在想办法能不能通过修改Platform.reg的方式改变每次读写操作的Sector的量。
点赞  2009-2-25 19:51
你WriteFile、ReadFile一次读写的buffer是多大?
点赞  2009-2-25 20:28
引用: 引用 9 楼 singlerace 的回复:
你WriteFile、ReadFile一次读写的buffer是多大?

1M也试过,10M也试过,都一样。
点赞  2009-2-25 21:41
Physical Buffer 把这个开辟的空间加大试试,记得移植USB的时候也有这个速度的问题
点赞  2009-2-26 10:23
可以试试用googlman以前做了个读写SD卡文件的东西试验下速度。。。
关注下。不了解6.0的文件系统。
点赞  2009-2-26 10:47
gz
点赞  2009-2-26 18:18
不知道,顶一下
点赞  2009-2-26 20:43
看不懂,好复杂啊
点赞  2009-2-26 21:41
Mark!
点赞  2009-2-26 22:09
顶一下,
点赞  2009-2-27 08:32
加大空间  应该是这样
点赞  2009-2-27 09:51
引用: 引用 12 楼 xumercury 的回复:
可以试试用googlman以前做了个读写SD卡文件的东西试验下速度。。。
关注下。不了解6.0的文件系统。


在哪能获得?
点赞  2009-2-27 10:10
123下一页
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复