完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在2017年4月份,英创公司发现了CEDB的故障,并发布了文章介绍如何解决该问题:《CE6.0内置数据库CEDB的异常检测与修复》。由于该故障较罕见,一直以来我们怀疑是由于调试程序时USB连接不稳定导致的。直到近期,英创公司通过大量实验,找到了触发CEDB故障的原因。本文将介绍我们的实验结果,为防止CEDB故障,希望客户注意: 使用WINCE6平台的客户,在产品发布时请使用release版本程序,不要使用debug版本程序。 实验情况 实验设备 实验使用英创各不同嵌入式主板,分两组,一组为WINCE6工控主板,ESM928x及EM9280。另一组为WEC7工控主板ESM335x。 实验程序 实验使用两组代码,一组代码使用MFC,带窗口界面。一组代码使用命令行工程,不带界面。两组代码分别用release模式和debug模式编译,共生产4个不同的应用程序。 两组代码均采用多线程对多个文件同时进行大量文件操作(每秒300次以上文件开关及读写操作)。保证CPU占用100%在满负荷工作。两组代码对文件操作量大致相同。 实验过程 让工控主板上电后自动执行实验程序。 在程序运行一定时间后对工控主板进行断电处理。 不断重复以上过程,并监测工控主板系统启动时内置CEDB是否出现错误数据,并记录错误数据条数。 测试时间为一天。 实验结果如下:
实验表明: CEDB故障均出现在WINCE6平台的工控主板上,这也和英创公司主板维修记录里的信息一致。 WINCE6工控主板运行Release版本的测试程序均没有出现CEDB故障,而运行DEBUG版测试程序后均出现CEDB故障。 MFC下DEBUG版测试程序更容易导致CEDB故障,可能是因为带界面程序CPU消耗相对更大。 测试发现当CPU处于满负荷状态下断电,才有一定几率导致CEDB内错误数据增加。而少量的CEDB错误数据对系统启动速度影响很小,所以CEDB故障不容易被发现。 解决办法 1、当出现CEDB故障时: 1)启动变慢 2)activesync连接故障 3)“NandFlashDocuments and Settingsdefault.vol”文件变大 请参考文档《CE6.0内置数据库CEDB的异常检测与修复》解决该故障。 2、在产品发布时请使用release版本程序,不使用debug版本程序。release版本程序不带调试信息,exe大小也会明显小于debug版本程序。 英创提供测试程序源代码,有需要的客户可以联系英创工程师获得,验证该问题。 |
||
相关推荐 |
||
只有小组成员才能发言,加入小组>>
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 21:11 , Processed in 0.617774 second(s), Total 54, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号