首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > WinCE >

小弟我的PB是不是疯了

2012-02-22 
我的PB是不是疯了?今天想把2440串口驱动屏蔽掉,我是这么做的:一、把串口注册表删除二、在platform.bib文件中

我的PB是不是疯了?
今天想把2440串口驱动屏蔽掉,我是这么做的:
一、把串口注册表删除
二、在platform.bib文件中把打包串口驱动的部分删除

以上两部之后拷贝到C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release下

我看ce.bib已经没有了打包串口的语句了。

按照道理,只要把这两个去掉,甚至只去掉其中一个就不会在串口打印这个串口驱动中的信息了。

以前我一直是这样屏蔽驱动的,但是这次真是郁闷,上面两个删除之后,居然照样打印我在com_init中打印的信息,

DeviceFolder::LoadDevice!Enumerate Found deprecated load instructions at (Drivers\BuiltIn\AFD). Driver cannot be unloaded.
DeviceFolder::LoadDevice!Enumerate Found deprecated load instructions at (Drivers\BuiltIn\PPP). Driver cannot be unloaded.
gooogleman@@@@@@@@@@@@@@@@@@@@@@@@@@ 1gooogleman@@@@@@@@@@@@@@@@@@@@@@@@@@2 serial port process attach
serial port process attach-wogo
gooogleman@@@@@@@@@@@@@@@@@@@@@@@@@@4 +COM_Init
gooogleman@@@@@@@@@@COM_Init
Run COM_Init--wogo test!!!!
Try to open Drivers\Active\35
Failed to get Priority256 value, defaulting to 103
DevIndex 0
About to call HWInit(Drivers\Active\35,0x717260)
HW_USBClocks::D0 
Back from hardware init
RxHead init'ed
RxBuffer init'ed with start at 717dc0
-COM_Init

后来,我直接到C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release下把串口DLL删除了,然后再打包
但是,但是上面的信息照样打印,真是神了,

我这次串口MDD的代码,我加了些打印信息,然后把PB build and sysgen过,难道这也就是原因?太荒唐了吧?不会要我重装系统吧。

[解决办法]
"以上两部之后拷贝到C:\WINCE500\PBWorkspaces\ARMSYS2440\RelDir\smdk2440a_ARMV4I_Release下"
有点不太明白,一般是在这个目录底下直接修改你说的2个文件,然后直接makeimg

你拷贝完了,是做的makeimg吗? 

[解决办法]
@ 这个符合貌似是串口 IST 中出错的调试信息, 你查看看
[解决办法]
你用makeimg?还是build的?
合完镜像,用viewbin -t nk.bin看看有没有serial.dll。
[解决办法]
选的USB方式?怎么信息里是
NDISPWR:: Found adapter [CS89001] <-----
CamClockOn = 0 
+SerialEventHandler, pHead 0x717260 
SerialEventHandler, Interrupts 0x8 


还是先改回去再看吧。感觉这样已经乱了。
[解决办法]

探讨
选的USB方式?怎么信息里是
NDISPWR:: Found adapter [CS89001]  <-----
CamClockOn = 0
+SerialEventHandler, pHead 0x717260
SerialEventHandler, Interrupts 0x8


还是先改回去再看吧。感觉这样已经乱了。

[解决办法]
探讨
引用:
现在还搞不明白这个微软是怎么实现这个组件添加功能的,点上就可以把注册表以及platform.bib的功能代替了,牛啊。

搞明白这个微软添加组件是怎么回事了:在Common.reg和Common.bib等文件中弄好了,添加组件时候只是产生了一个环境变量,控制了这个
微软提供的DLL等是否加载,打包等等......

以serialusbfn.dll为例子。

C:\WINCE500\PUBLIC\COMMON\OAK\FILES\common.bib(909):
;…

[解决办法]
两点。
1,ActiveSync可能是不管你选择用什么方式连接都把可用的挨个试一遍。我们以前买了一个测试软件就是这么干的,明明用的是ethernet,一定还要初始化串口。
2,public目录下的东西不要自己build,也就是说sysgen就好了,不要build and sysgen。微软发布的预编译库和用public下自己编出来的库不完全一样的。我以前就碰过,用预编译的库没问题,自己build却不能工作。
[解决办法]
探讨
准备结贴。

总结:
一、经过这次教训,MDD部分的代码最好不要修改,因为它极有可能和别的驱动公用,如果改动了,甚至让信息打印也会产生意想不到的后果,实在要修改的,就移植到BSP下,这样我们就可以任意妄为了。哈哈
二、意外收获——找到了最佳调试驱动方法。1、KITL(适合调试大BUG,比如异常,不能启动系统等情况) 2、驱动调试助手(适合调试流驱动,并且驱动中无注册表操作的情况,有注册表操作的会导致异常,如果…

热点排行