--作者:赖玉平(Auly)[email protected]
1 D:/WINCE500/PLATFORM/smdk2442/Src/Kernel/Oal
中的文件:debug.c
在函数:VOID OEMInitDebugSerial()里面,进行选口选择就行了
2 修改注册表,有关要选用的串口的信息屏掉,(例如要选UART2,就把UART2的注册表项屏蔽掉,这样就不会造成冲突)。
3例子:
当由UART1改为UART2口作为调试信息输出口
(1)在OEMInitDebugSerial里面修改为:
#define DB_UART2 //for Test SM1730 added by auly lai
#ifdef DB_UART2 //select UART2
CLRREG32(&pIOPortReg->GPHCON, (3 << 8)|(3 << 10));
SETREG32(&pIOPortReg->GPHCON, (2 << 8)|(2 << 10));
#else //select UART1
CLRREG32(&pIOPortReg->GPHCON, (3 << 4)|(3 << 6));
SETREG32(&pIOPortReg->GPHCON, (2 << 4)|(2 << 6));
#endif
#ifdef DB_UART2
g_pUARTReg = (S3C2450_UART_REG *)OALPAtoVA(S3C2450_BASE_REG_PA_UART2, FALSE);
#else
g_pUARTReg = (S3C2450_UART_REG *)OALPAtoVA(S3C2450_BASE_REG_PA_UART1, FALSE);
#endif
是能在启动中在UART2输出信息了,但是卡在
DEBUG: CreateSerialObject 3
DEBUG: CreateSerialObject 2
这里就不动了,追踪得出是在DRIVERS/serial里面的Ser_smdk2450.cpp里面
CreateSerialObject函数里了,原因是硬件冲突。
修改注册表,里有关UART2的信息,把它屏掉,这样就不会冲突了,