mini2440 串口1通信串口改调试串口及6410将com0修改为普通串口

来源:互联网 发布:淘宝小二介入 编辑:程序博客网 时间:2024/06/09 16:45

首先你将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
;    "prefix"="COM"
;    "Dll"="SER2440.Dll"
;    "Order"=dword:1
;    "priority"=dword:0
;    "port"="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还可以当普通串口来用。

 

参考资料:

http://blog.csdn.net/gooogleman/article/details/5680858

 

1.      BSP_V2.0\SMDK6410\SMDK6410.bat

set BSP_NOSERIAL=

set BSP_NOUART0=1             修改为 set BSP_NOUART0=

set BSP_NOUART1=

set BSP_NOUART2=

set BSP_NOUART3=

set BSP_NOIRDA2=1

set BSP_NOIRDA3=1

 

 

2.      BSP_V2.0\SMDK6410\SMDK6410.bat

set BSP_DEBUGPORT=SERIAL_UART0       修改为 @REM set BSP_DEBUGPORT=SERIAL_UART0

@REM set BSP_DEBUGPORT=SERIAL_UART1

@REM set BSP_DEBUGPORT=SERIAL_UART2

@REM set BSP_DEBUGPORT=SERIAL_UART3

 

3.      修改SMDK6410/Src/Oal/Oallib/debug.c

    OEMWriteDebugByte(UINT8 ch)int OEMReadDebugByte()里面的内容隐去,

    注意:如果不隐去则烧写系统的时候会进不去,挂在这里!

4.      BSP_V2.0\SMDK6410\SRC\INC\bsb_cfg.h