在Eboot 和 CE系统里的串口输出信息(串口选择)

Eboot CE系统里的串口输出信息(串口选择)

--作者:赖玉平(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的信息,把它屏掉,这样就不会冲突了,

你可能感兴趣的:(c)