WinCE6.0似乎读写文件比较5.0的慢

ryudo   2010-1-22 09:29 楼主
200K的数据,每次16个字节去写,5.0只要7秒左右,6.0要2分半钟左右,同一段代码产生的结果,非常疑惑。

另外,6.0似乎在写文件的过程中,我拔掉SD卡,似乎非常容易造成SD卡乱码(似乎是FAT乱了才导致文件全是乱码),上述写文件过程中会不断改变文件的大小;5.0似乎不会这样。

我不知道6.0的机制是什么,但读写文件以及内存映射都好像比5.0慢了不少,6.0读写过程中拔卡似乎也非常容易造成FAT表混乱,能有人告诉我解决办法吗?

上述问题似乎在自带的Nand里面不会出现,因为我买了个6.0的PND,其自带的Nand里有个DumpFiles的文件夹(我删了它也会自动生成的),但外插的SD卡里就不会出现这个文件夹,我不清楚是否这个PND的6.0是否会对自带的Nand的碎片文件进行管理而不管SD卡里的?

真的很烦,我们自己写的程序在6.0下很容易造成文件乱码?

回复评论 (13)

帮顶下。

MARK。
点赞  2010-1-22 12:56
DumpFiles是错误报告组件生成的目录,开机时会自动生成。
WinCE6.0上文件读写好像也不是很慢吧,至少没有感觉比WinCE5.0慢。
点赞  2010-1-22 13:37
to:6.0读写过程中拔卡似乎也非常容易造成FAT表混乱,能有人告诉我解决办法吗?
6.0下的exfat配置成fat的时候出问题的概率高于5.0,这个是ms的bug引起,可以最新的补丁再次测试
to:但读写文件以及内存映射都好像比5.0慢了不少
这个你要分开来看待,首先测试硬件层面的速度,然后测试文件系统层面的速度来进行对比
实际的项目中,当fs的配置一致时,没有发生过你所描述的速度问题
to:不清楚是否这个PND的6.0是否会对自带的Nand的碎片文件进行管理而不管SD卡里的
一样的方式进行管理
点赞  2010-1-22 19:22
to:自带的Nand里有个DumpFiles的文件夹
是打开了crash file的一些配置,这个是属于它们产品做的不严谨的问题
不用关注这个
点赞  2010-1-22 19:23
引用: 引用 4 楼 guopeixin 的回复:
to:自带的Nand里有个DumpFiles的文件夹
是打开了crash file的一些配置,这个是属于它们产品做的不严谨的问题
不用关注这个

不好意思,说错了,是Error Reporting的配置
点赞  2010-1-22 19:25
不会,,我也弄过,没出现这种情况,应该是你在600时,有什么组件没加,或都在别的地影响系统的性能了。。。
点赞  2010-1-22 20:56
引用: 引用 3 楼 guopeixin 的回复:
to:6.0读写过程中拔卡似乎也非常容易造成FAT表混乱,能有人告诉我解决办法吗?
6.0下的exfat配置成fat的时候出问题的概率高于5.0,这个是ms的bug引起,可以最新的补丁再次测试
to:但读写文件以及内存映射都好像比5.0慢了不少
这个你要分开来看待,首先测试硬件层面的速度,然后测试文件系统层面的速度来进行对比
实际的项目中,当fs的配置一致时,没有发生过你所描述的速度问题
to:不清楚是否这个PND的6.0是否会对自带的Nand的碎片文件进行管理而不管SD卡里的
一样的方式进行管理


你好,文件缓慢的问题先不去管它,但是实际情况下SD卡文件是非常容易乱的。
然后你说的关于exfat以及fat问题,说要下个补丁,但是人家做好的PND,我打补丁有用吗?  我们自己的BSP中到可以加入补丁。
点赞  2010-1-25 16:10
不应该吧,有其他因素未考虑吧
点赞  2010-1-25 16:11
我试了一下
把SD卡格式化成exFat格式,到目前测试了20多次,没有文件变乱的情况,况且数据读取速度变快了一点。
查了下资料,FAT32的簇大小为4K, FAT的簇大小为64K, 而exFAT人簇大小为32M,这似乎跟文件的FAT表有点关系,因为我经常会改变文件大小的文件大小在200K范围左右,要是exFAT是32M的话,那么在我那个大小范围内就不会改动FAT表了?这样可以解释的通吗?
点赞  2010-1-25 18:08
在WinCE 6.0下, 把SD卡整成exFAT格式,文件读写速度提升了1/4左右,而且试了50次左右文件都没有出错,谢谢guopeixin给了我启发
点赞  2010-1-26 15:55
引用: 引用 10 楼 kornberg206 的回复:
在WinCE 6.0下, 把SD卡整成exFAT格式,文件读写速度提升了1/4左右,而且试了50次左右文件都没有出错,谢谢guopeixin给了我启发

虽然可以降低问题的概率,但是不可以这么做的
这样会让sd卡在
点赞  2010-1-26 17:15
对于WINCE6.0 和 WINCE5.0 我倒是没有比较过,但我也碰到了这样一个问题
我是用WINCE6.0系统,并且用了一块高性能的ARM CPU,
当文件从Memory 拷贝到Memory时速度是4.5MByte每秒,
文件从 IDE硬盘 拷贝到 IDE硬盘时速度也是4.5MByte每秒。(但起Linux系统以命令行的方式可达到20MByte每秒)
现在感觉不是IDE驱动有问题,瓶颈在文件系统,不知道大家用WINCE6.0从Memory 拷贝到 Memory速度是多少?
有没有高手知道这个问题怎么解决
点赞  2010-3-6 14:44
提示: 作者被禁止或删除 内容自动屏蔽
点赞  2010-5-14 11:40
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复