YC2440开发板wince5.0默认的COM1是做为普通串口使用,让它作为调试串口使用的方法!

来源:互联网 发布:淘宝娥佩兰旗舰店真假 编辑:程序博客网 时间:2024/05/10 07:09
 
最近在写简单的WINCE驱动程序,但是用YC2440的开发板COM1(开发板的物理串口是com0)无法输出我的调试信息,今天终于解决了,把过程贴出来大家分享,如果你也用的是这个开发板,也遇到了同样的问题你可以这样简单的来解决一下。

首先你将cfw.c里面的 DebugConsoleEnabled = 0; 变成 DebugConsoleEnabled = 1;
这样做了以后你会发现wince的部分启动信息可以从串口看到了,但是有些信息还是看不到,如果这个时候你在调试自己的驱动程序,你会发现你在应用程序里面动态加载驱动,虽然驱动可以加载成功,但是却不能输出你自己的调试信息。
原因就是在wince启动的过程中,加载了一个驱动程序,将COM1变成了普通的串口。
所以我们解决这个问题的最简单的办法就是,不加载这个驱动程序,我们只需要在platform.reg里面将关于COM1的注册表选项注释掉就可以了
IF BSP_NOSERIAL !
;[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/SER2440]
;    "DeviceArrayIndex"=dword:0
;    "Irq"=dword:03
;    "IoBase"=dword:50000000
;    "IoLen"=dword:2C
;    "refix"="COM"
;    "Dll"="SER2440.Dll"
;    "Order"=dword:1
;    "riority"=dword:0
;    "ort"="COM1:"
;    "DeviceType"=dword:0  ; null modem
;    "FriendlyName"="S2440 COM1"
;    "Index"=dword:1
;    "IClass"="{A32942B7-920C-486b-B0E6-92A702A99B35}"
;      "Tsp"="Unimodem.dll"
;      "DevConfig"=hex: 10,00, 00,00, 05,00,00,00, 10,01,00,00, 00,4B,00,00, 00,00, 08, 00, 00, 00,00,00,00

这些注释掉了以后,然后从新编译一下内核,放到板上就可以看到全部的调试信息了,COM1就可以永久的当调试口来用了。如果我们的驱动调试都没有问题了,我们还可以把这个注释打开,这样这个COM1还可以当普通串口来用。
原创粉丝点击