Mini2440 wince 5.0 串口打印输出

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:54   1811   0

调试Mini2440时,默认情况无法打开串口调试信息输出。如果需要打开串口0进行调试信息输出,按照如下方法进行:

1. bsp包的/Src/Kernel/Oal路径下的debug.c文件中

(1)添加如下信息:

//-----------------------------------------------
// add by DY for test used
#define BSP_DEBUG_UART0
//-----------------------------------------------


#undef BSP_DEBUGPORT
#if defined(BSP_DEBUG_UART0) || defined(BSP_DEBUG_UART1)
#define BSP_DEBUGPORT
#endif

(2)更改如下信息

// Configure the UART.
//
/*

OUTREG32(&g_pUARTReg->UFCON, BSP_UART1_UFCON);
OUTREG32(&g_pUARTReg->UMCON, BSP_UART1_UMCON);
OUTREG32(&g_pUARTReg->ULCON, BSP_UART1_ULCON);
OUTREG32(&g_pUARTReg->UCON, BSP_UART1_UCON);
OUTREG32(&g_pUARTReg->UBRDIV, BSP_UART1_UBRDIV);

*/

OUTREG32(&g_pUARTReg->UFCON, BSP_UART0_UFCON);
OUTREG32(&g_pUARTReg->UMCON, BSP_UART0_UMCON);
OUTREG32(&g_pUARTReg->ULCON, BSP_UART0_ULCON);
OUTREG32(&g_pUARTReg->UCON, BSP_UART0_UCON);
OUTREG32(&g_pUARTReg->UBRDIV, BSP_UART0_UBRDIV);

2. 相关的改动还有Src/Inc下的bsp_cfg.h

//------------------------------------------------------------------------------
// Debug UART1
//------------------------------------------------------------------------------

/*

#define DEBUG_BAUDRATE (115200)

#define BSP_UART1_ULCON 0x03 // 8 bits, 1 stop, no parity
#define BSP_UART1_UCON 0x0005 // pool mode, PCLK for UART
#define BSP_UART1_UFCON 0x00 // disable FIFO
#define BSP_UART1_UMCON 0x00 // disable auto flow control
#define BSP_UART1_UBRDIV (S3C2440A_PCLK/(DEBUG_BAUDRATE*16) - 1)

*/

#define DEBUG_BAUDRATE (115200)

#define BSP_UART0_ULCON 0x03 // 8 bits, 1 stop, no parity
#define BSP_UART0_UCON 0x0005 // pool mode, PCLK for UART
#define BSP_UART0_UFCON 0x00 // disable FIFO
#define BSP_UART0_UMCON 0x00 // disable auto flow control
#define BSP_UART0_UBRDIV (S3C2440A_PCLK/(DEBUG_BAUDRATE*16) - 1)

3. 由于不能让内核在启动过程中加载正常串口0的驱动,如果加载无法做调试口使用,需要修改注册表文件platform.reg,在这个文件中注释掉关于串口0的部分


IF BSP_NOSERIAL !

IF 0
IF BSP_NOUART0 !
;IF BSP_KITL != SERIAL_UART0
;=============== UART0 (physical COM1 connector P1) (Serial) ===============
[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/Serial0]
"DeviceArrayIndex"=dword:0
"Irq"=dword:1c
"MemBase"=dword:50000000
"MemLen"=dword:2C
"InterruptBitsShift"=dword:0 ; UART 0 Interrupt Sub Register shift bit.
"ISTTimeouts"=dword:200 ; every 512 ticks checking Modem status.
"Prefix"="COM"
"Index"=dword:1
"Dll"="serial_smdk2440.dll"
"Order"=dword:0
"Priority"=dword:0
"Port"="COM1:"
"DeviceType"=dword:0
"FriendlyName"="COM-1"
"Tsp"="unimodem.dll"
"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

按照如上步骤添加之后,重新编译一下bsp即可。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP