最近处理winCE6.0 下的调试串口, 虽然google很多文章,但是这里仍然将自己的心得写出来,希望对大家有所帮助:
1. winCE6.0调试串口的更改和取消
1. 修改D:\WINCE600\PLATFORM\SMDK6410\SMDK6410.bat
@REM set BSP_DEBUGPORT=SERIAL_UART0
@REM set BSP_DEBUGPORT=SERIAL_UART1
@REM set BSP_DEBUGPORT=SERIAL_UART2
set BSP_DEBUGPORT=SERIAL_UART3
|
这里修改为你要更改的串口上.
注: "@REM "是SMDK6410.bat 中的注释.
修改下面:
set BSP_NOSERIAL=
set BSP_NOUART0=
set BSP_NOUART1=
set BSP_NOUART2=
set BSP_NOUART3=1
set BSP_NOIRDA2=1
set BSP_NOIRDA3=1
|
这里的意思是配置注册表信息中的串口信息的.有无串口,有无串口0,1,2,3 有无红外 1, 2等设备
这些东西在platform.reg 被应用:
;--------------- Serial / IrDA Driver -------------------------------------
; @CESYSGEN IF CE_MODULES_SERIAL
IF BSP_NOSERIAL !
IF BSP_NOUART0 !
IF BSP_KITL != SERIAL_UART0
IF BSP_DEBUGPORT != SERIAL_UART0
;--------------- UART0 (Physical COM1 Port) ----------------------------
|
修改好后,修改platform.reg,
如果你将调试串口修改为串口3, 那么请将注册表中串口3 的信息去掉,否则则加载驱动创建串口的时候(D:\WINCE600\PLATFORM\SMDK6410\src\drivers\Serial\ser_smdk6410.cpp:CreateSerialObject)注册中断的时候将引起冲突.
所以要将注册表中的串口3的注册表信息给注释掉:
;IF BSP_NOIRDA3 !
;IF BSP_KITL != SERIAL_UART3
;IF BSP_NOUART3
;;--------------- UART3 (IrDA)----------------------------------------------
;[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\IRDA3]
; "DeviceArrayIndex"=dword:3
; "Irq"=dword:40 ; UART3 Virtual IRQ = 64 (0x40), Physical IRQ = 40
; "MemBase"=dword:7F005C00
; "MemLen"=dword:40
; ;"ISTTimeouts"=dword:200 ; every 512 ticks checking Modem status.
; "Prefix"="COM"
; "Index"=dword:4
; "Dll"="smdk6410_serial.dll"
; "Order"=dword:30
; "Port"="COM4:"
; "DeviceType"=dword:0 ; IRDA modem, 0 -> null modem
; "FriendlyName"=LOC_DISPLAYNAME_RAWIR
; "IClass"="{CC5195AC-BA49-48a0-BE17-DF6D1B0173DD}"
; "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
;;--------------------------------------------------------------------------
;ENDIF
;ENDIF
;ENDIF
|
阅读(1545) | 评论(0) | 转发(0) |