OemInit done就死机的其中一个原因
creator
sz111@126.com
我的系统一直都是在FMD init done后就死机了。一直找不到原因,搞了近10天,最后经过排查,问题出在pcmia.dll地方。要在platform.bib里面去掉才行。最后同时去掉cs8900.dll网卡驱动也才行。
问题解决了,wince也跑出来了。高兴啊。
一般遇到这种情况,可以在BSP中的Audio,Display,SDMMC,Serial,USB等driver里面加入调试信息看看到底是系统是挂在哪个driver中;但是如果Oeminit结束后没有任何调试信息输出,那初步可以判断不是挂在某一个driver中,由于系统调用Oeminit运行完成之后,会跳回private或public下的代码继续运行一段后再启动device.exe加载各个driver,这一段是微软default代码,基本上不会有问题;如果系统挂在这一部分,那可能的原因有(1)硬件板子出了问题,(2)bootloader load出的image有问题,(3)SDRAM设定的问题。。。
另外特别说明一下昨天遇到的问题,我加入一个驱动,执行到oeminit done就死了。
之后恢复到原来没有加入驱动之前的,仍然不行。重新编译也不行,重新安装wince,不行。
重新安装windows,不行。太奇怪了。哪位朋友了解的话,能否回复介绍一下?谢谢了。
---------呵呵,这个问题终于找到暂时的解决方案了。
1.首先编译的时候,如果是build and sysgen current bsp,就不要选择clean before building。
2.先把以前ok的备份,如果出现不行的时候,要把bsp整个恢复到以前的bsp。然后选择copy file to release dir。然后build。
具体wince为何有这个问题我也不明原因,期待着其他人详解。
前几天又遇到一个init之后就死机的问题。发现只要修改fw.s就会死机。最后发现原因是arm下面的map.a的配置有问题。
DCD 0x8C000000, 0x30000000, 32 ; 64 MB DRAM BANK 0, 1
32要改为64就OK了。
阅读(2411) | 评论(0) | 转发(0) |