本人开发WinCE时有关UART的小结, CPU是PXA270

[复制链接]
4255|2
 楼主| cmqiu1969 发表于 2009-6-22 13:58 | 显示全部楼层 |阅读模式
一、&nbsp;&nbsp;&nbsp;&nbsp;硬件<br />PXA270公有3个串口,分别是FFUART,BTUART和SUART。FFUART可以控制Modem,&nbsp;BTUART可以进行蓝牙通讯,SUART就只能进行一般的RS232通讯。<br />二、&nbsp;&nbsp;&nbsp;&nbsp;软件<br />1&nbsp;Eboot下的Debug口的实现<br />&nbsp;&nbsp;&nbsp;&nbsp;在PLATFORM\Mtct_smt_2700g\Src\Common\Dbgserial\&nbsp;Dbgserial.c中修改如下:<br />&nbsp;&nbsp;&nbsp;&nbsp;VOID&nbsp;InitDebugSerial(UINT32&nbsp;DbgSerPhysAddr)&nbsp;<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;UINT32&nbsp;logMask&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;volatile&nbsp;BULVERDE_GPIO_REG&nbsp;*pGPIO_REGS&nbsp;=&nbsp;NULL;<br />&nbsp;&nbsp;&nbsp;&nbsp;volatile&nbsp;BULVERDE_CLKMGR_REG&nbsp;*pCLKMGR_REGS&nbsp;=&nbsp;NULL;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;volatile&nbsp;i,j;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;At&nbsp;this&nbsp;moment&nbsp;we&nbsp;must&nbsp;suppress&nbsp;logging.<br />&nbsp;&nbsp;&nbsp;&nbsp;//<br />&nbsp;&nbsp;&nbsp;&nbsp;logMask&nbsp;=&nbsp;g_oalLogMask;<br />&nbsp;&nbsp;&nbsp;&nbsp;g_oalLogMask&nbsp;=&nbsp;0;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;g_pDebugUARTPort&nbsp;=&nbsp;(volatile&nbsp;BULVERDE_UART_REG&nbsp;*)&nbsp;OALPAtoVA(DbgSerPhysAddr,&nbsp;FALSE);<br />&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;(volatile&nbsp;BULVERDE_GPIO_REG&nbsp;*)&nbsp;OALPAtoVA(BULVERDE_BASE_REG_PA_GPIO,&nbsp;FALSE);<br />&nbsp;&nbsp;&nbsp;&nbsp;pCLKMGR_REGS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;(volatile&nbsp;BULVERDE_CLKMGR_REG&nbsp;*)&nbsp;OALPAtoVA(BULVERDE_BASE_REG_PA_CLKMGR,&nbsp;FALSE);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Ensure&nbsp;that&nbsp;UART&nbsp;interrupts&nbsp;are&nbsp;turned&nbsp;off.<br />&nbsp;&nbsp;&nbsp;&nbsp;//<br />&nbsp;&nbsp;&nbsp;&nbsp;g_pDebugUARTPort-&gtlcr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0x0;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Clear&nbsp;DLAB.<br />&nbsp;&nbsp;&nbsp;&nbsp;g_pDebugUARTPort-&gtier_dlh&nbsp;=&nbsp;0x0;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;IER_DLH&nbsp;=&nbsp;0x0.<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Set&nbsp;the&nbsp;Baud&nbsp;Rate&nbsp;(Divisor&nbsp;low&nbsp;=&nbsp;DEBUG_BAUD_38400).<br />&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;The&nbsp;divisor&nbsp;latches&nbsp;are&nbsp;at&nbsp;offsets&nbsp;0&nbsp;and&nbsp;1,&nbsp;which&nbsp;are&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;receive/transmit&nbsp;data&nbsp;and&nbsp;ier&nbsp;registers.<br />&nbsp;&nbsp;&nbsp;&nbsp;//<br />&nbsp;&nbsp;&nbsp;&nbsp;g_pDebugUARTPort-&gtlcr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0x80;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Access&nbsp;Divisor.<br />&nbsp;&nbsp;&nbsp;&nbsp;g_pDebugUARTPort-&gtthr_rbr_dll&nbsp;=&nbsp;DEBUG_BAUD_115200;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Low&nbsp;byte&nbsp;divisor.<br />&nbsp;&nbsp;&nbsp;&nbsp;g_pDebugUARTPort-&gtier_dlh&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0x00;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;High&nbsp;byte&nbsp;divisor.<br />&nbsp;&nbsp;&nbsp;&nbsp;g_pDebugUARTPort-&gtlcr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0x0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Clear&nbsp;DLAB.<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;//Setting&nbsp;UART&nbsp;properties&nbsp;to&nbsp;8N1&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//<br />&nbsp;&nbsp;&nbsp;&nbsp;g_pDebugUARTPort-&gtlcr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0x3;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;8&nbsp;bits,&nbsp;1&nbsp;stop,&nbsp;no&nbsp;parity.&nbsp;Also&nbsp;LCR&nbsp;DLAB&nbsp;bit&nbsp;=&nbsp;0.<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;g_pDebugUARTPort-&gtiir_fcr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0x01;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Enable&nbsp;the&nbsp;FIFO.<br />&nbsp;&nbsp;&nbsp;&nbsp;g_pDebugUARTPort-&gtiir_fcr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0x07;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Clear&nbsp;Rx,Tx&nbsp;FIFOs.<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Don't&nbsp;enable&nbsp;UART&nbsp;interrupts&nbsp;-&nbsp;we'll&nbsp;poll&nbsp;for&nbsp;the&nbsp;data.<br />&nbsp;&nbsp;&nbsp;&nbsp;//<br />&nbsp;&nbsp;&nbsp;&nbsp;g_pDebugUARTPort-&gtier_dlh&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0x0;&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Ensure&nbsp;loop-back&nbsp;test&nbsp;mode&nbsp;is&nbsp;off&nbsp;even&nbsp;though&nbsp;MCR&nbsp;reset&nbsp;value&nbsp;is&nbsp;0x0.&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//<br />&nbsp;&nbsp;&nbsp;&nbsp;g_pDebugUARTPort-&gtmcr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0x0;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;UART&nbsp;is&nbsp;in&nbsp;normal&nbsp;mode.<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Configure&nbsp;GPIO&nbsp;pins&nbsp;for&nbsp;FFUART<br />&nbsp;&nbsp;&nbsp;&nbsp;//<br />//&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(DbgSerPhysAddr&nbsp;==&nbsp;BULVERDE_BASE_REG_PA_FFUART)<br />//&nbsp;&nbsp;&nbsp;{<br />//#define&nbsp;SMT<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Initialize&nbsp;GPIO&nbsp;pins.<br />//#ifdef&nbsp;&nbsp;&nbsp;&nbsp;SMT<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPIO99&nbsp;&nbsp;&nbsp;&nbsp;FFTXD&nbsp;&nbsp;&nbsp;&nbsp;OUT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPIO102&nbsp;&nbsp;&nbsp;&nbsp;FFRXD&nbsp;&nbsp;&nbsp;&nbsp;IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPIO82&nbsp;&nbsp;&nbsp;&nbsp;FFDTR&nbsp;&nbsp;&nbsp;&nbsp;OUT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPIO44&nbsp;&nbsp;&nbsp;&nbsp;BTCTS&nbsp;&nbsp;&nbsp;&nbsp;IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPIO41&nbsp;&nbsp;&nbsp;&nbsp;FFRTS&nbsp;&nbsp;&nbsp;&nbsp;OUT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPIO37&nbsp;&nbsp;&nbsp;&nbsp;FFDSR&nbsp;&nbsp;&nbsp;&nbsp;IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPIO10&nbsp;&nbsp;&nbsp;&nbsp;FFDCD&nbsp;&nbsp;&nbsp;&nbsp;IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GPIO89&nbsp;&nbsp;&nbsp;&nbsp;FFRI&nbsp;&nbsp;&nbsp;&nbsp;IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3<br /><br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Write&nbsp;0&nbsp;on&nbsp;GPIO&nbsp;pins&nbsp;41,&nbsp;82&nbsp;and&nbsp;99&nbsp;before&nbsp;configuring&nbsp;them&nbsp;as&nbsp;outputs.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGPCR1&nbsp;=&nbsp;0x1u&lt&lt(41-32);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGPCR2&nbsp;=&nbsp;0x1u&lt&lt(82-64);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGPCR3&nbsp;=&nbsp;0x1u&lt&lt(99-96);&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Configure&nbsp;direction&nbsp;of&nbsp;GPIO&nbsp;pins&nbsp;10,&nbsp;37,&nbsp;44,&nbsp;89&nbsp;and&nbsp;102&nbsp;as&nbsp;input&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;and&nbsp;GPIO&nbsp;pins&nbsp;41,&nbsp;82&nbsp;and&nbsp;99&nbsp;as&nbsp;output<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGPDR0&nbsp;&=&nbsp;~(0x1u&lt&lt(10-0));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGPDR1&nbsp;&=&nbsp;~(0x1u&lt&lt(37-32));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGPDR1&nbsp;&=&nbsp;~(0x1u&lt&lt(44-32));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGPDR2&nbsp;&=&nbsp;~(0x1u&lt&lt(89-64));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGPDR3&nbsp;&=&nbsp;~(0x1u&lt&lt(102-96));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGPDR1&nbsp;|=&nbsp;(0x1u&lt&lt(41-32));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGPDR2&nbsp;|=&nbsp;(0x1u&lt&lt(82-64));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGPDR3&nbsp;|=&nbsp;(0x1u&lt&lt(99-96));<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Configure&nbsp;GPIO&nbsp;pins&nbsp;10,&nbsp;37&nbsp;and&nbsp;44&nbsp;for&nbsp;Alt_fn1.&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;And&nbsp;pin&nbsp;41&nbsp;for&nbsp;Alt_fn2<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;And&nbsp;pins&nbsp;82,89,99&nbsp;and&nbsp;102&nbsp;for&nbsp;Alt_fn3.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGAFR0_L&nbsp;&=~&nbsp;(0x1u&lt&lt20);//(0x1u&lt&lt10)&lt&lt2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGAFR1_L&nbsp;&=~&nbsp;(0x1u&lt&lt10);//(0x1u&lt&lt(37-32))&lt&lt2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGAFR1_L&nbsp;&=~&nbsp;(0x1u&lt&lt24);//(0x1u&lt&lt(44-32))&lt&lt2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGAFR1_L&nbsp;&=~&nbsp;(0x2u&lt&lt18);//(0x2u&lt&lt(41-32))&lt&lt2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGAFR2_U&nbsp;&=~&nbsp;(0x3u&lt&lt4);//(0x3u&lt&lt(82-64-16))&lt&lt2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGAFR2_U&nbsp;&=~&nbsp;(0x3u&lt&lt18);//(0x3u&lt&lt(89-64-16))&lt&lt2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGAFR3_L&nbsp;&=~&nbsp;(0x3u&lt&lt6);//(0x3u&lt&lt(99-96))&lt&lt2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGAFR3_L&nbsp;&=~&nbsp;(0x3u&lt&lt12);//(0x3u&lt&lt(102-96))&lt&lt2;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGAFR0_L&nbsp;|=&nbsp;(0x1u&lt&lt20);//(0x1u&lt&lt10)&lt&lt2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGAFR1_L&nbsp;|=&nbsp;(0x1u&lt&lt10);//(0x1u&lt&lt(37-32))&lt&lt2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGAFR1_L&nbsp;|=&nbsp;(0x1u&lt&lt24);//(0x1u&lt&lt(44-32))&lt&lt2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGAFR1_L&nbsp;|=&nbsp;(0x2u&lt&lt18);//(0x2u&lt&lt(41-32))&lt&lt2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGAFR2_U&nbsp;|=&nbsp;(0x3u&lt&lt4);//(0x3u&lt&lt(82-64-16))&lt&lt2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGAFR2_U&nbsp;|=&nbsp;(0x3u&lt&lt18);//(0x3u&lt&lt(89-64-16))&lt&lt2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGAFR3_L&nbsp;|=&nbsp;(0x3u&lt&lt6);//(0x3u&lt&lt(99-96))&lt&lt2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGAFR3_L&nbsp;|=&nbsp;(0x3u&lt&lt12);//(0x3u&lt&lt(102-96))&lt&lt2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Enable&nbsp;the&nbsp;FFUART&nbsp;clock.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pCLKMGR_REGS-&gtcken&nbsp;|=&nbsp;XLLP_CLKEN_FFUART&nbsp;;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Enable&nbsp;the&nbsp;UART.<br />&nbsp;&nbsp;&nbsp;&nbsp;//<br />&nbsp;&nbsp;&nbsp;&nbsp;g_pDebugUARTPort-&gtier_dlh&nbsp;=&nbsp;0x40;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Restore&nbsp;the&nbsp;logging&nbsp;mask.<br />&nbsp;&nbsp;&nbsp;&nbsp;//<br />&nbsp;&nbsp;&nbsp;&nbsp;g_oalLogMask&nbsp;=&nbsp;logMask;<br />}<br />2&nbsp;WinCE下调试口的实现<br />&nbsp;&nbsp;&nbsp;&nbsp;在PLATFORM\Mtct_smt_2700g\Src\Drivers\Serial\ms2_serial.cpp中修改<br />&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;CBulPdd16550FUART&nbsp;:&nbsp;public&nbsp;CBulPdd16550&nbsp;{<br />public:<br />&nbsp;&nbsp;&nbsp;&nbsp;CBulPdd16550FUART&nbsp;(LPTSTR&nbsp;lpActivePath,&nbsp;PVOID&nbsp;pMdd,&nbsp;PHWOBJ&nbsp;pHwObj)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;CBulPdd16550&nbsp;(lpActivePath,pMdd,&nbsp;pHwObj)&nbsp;{&nbsp;&nbsp;};<br />&nbsp;&nbsp;&nbsp;&nbsp;virtual&nbsp;BOOL&nbsp;Init()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(CBulPdd16550::Init()&nbsp;)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ConfigurePinout();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Enable&nbsp;FFUART&nbsp;clock<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pDCCLKReg-&gtcken&nbsp;|=&nbsp;XLLP_CLKEN_FFUART&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;TRUE;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;FALSE;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;virtual&nbsp;void&nbsp;&nbsp;&nbsp;&nbsp;SerialRegisterRestore()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ConfigurePinout();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CBulPdd16550::SerialRegisterRestore();<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />private:<br />&nbsp;&nbsp;&nbsp;&nbsp;BOOL&nbsp;ConfigurePinout(){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Initialize&nbsp;GPIO&nbsp;pins&nbsp;<br />//2009-3-5&nbsp;9:38<br />//modified&nbsp;by&nbsp;Bruce<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Write&nbsp;0&nbsp;on&nbsp;GPIO&nbsp;pins&nbsp;39,&nbsp;40&nbsp;and&nbsp;41&nbsp;before&nbsp;configuring&nbsp;them&nbsp;as&nbsp;outputs.<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pGPIOReg-&gtGPCR1&nbsp;=&nbsp;(&nbsp;XLLP_GPIO_BIT_FFDTR&nbsp;|&nbsp;XLLP_GPIO_BIT_FFTXD&nbsp;|&nbsp;XLLP_GPIO_BIT_FFRTS&nbsp;);<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Configure&nbsp;direction&nbsp;of&nbsp;GPIO&nbsp;pins&nbsp;34,&nbsp;35,&nbsp;36,&nbsp;37&nbsp;and&nbsp;38&nbsp;as&nbsp;input&nbsp;<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//and&nbsp;GPIO&nbsp;pins&nbsp;39,&nbsp;40&nbsp;and&nbsp;41&nbsp;as&nbsp;output<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pGPIOReg-&gtGPDR1&nbsp;&=&nbsp;~(&nbsp;XLLP_GPIO_BIT_FFRXD&nbsp;|&nbsp;XLLP_GPIO_BIT_FFCTS&nbsp;|&nbsp;<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XLLP_GPIO_BIT_FFDCD&nbsp;|&nbsp;XLLP_GPIO_BIT_FFDSR&nbsp;|&nbsp;<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XLLP_GPIO_BIT_FFRI&nbsp;);<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pGPIOReg-&gtGPDR1&nbsp;|=&nbsp;(&nbsp;&nbsp;XLLP_GPIO_BIT_FFTXD&nbsp;|&nbsp;&nbsp;XLLP_GPIO_BIT_FFDTR&nbsp;|&nbsp;&nbsp;XLLP_GPIO_BIT_FFRTS&nbsp;);<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Configure&nbsp;GPIO&nbsp;pins&nbsp;34,&nbsp;35,&nbsp;36,&nbsp;37&nbsp;and&nbsp;38&nbsp;for&nbsp;Alt_fn1.&nbsp;And&nbsp;pins&nbsp;39,&nbsp;40&nbsp;and&nbsp;41&nbsp;for&nbsp;Alt_fn2.<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pGPIOReg-&gtGAFR1_L&nbsp;|=&nbsp;(XLLP_GPIO_AF_BIT_FFRXD&nbsp;|&nbsp;XLLP_GPIO_AF_BIT_FFCTS&nbsp;|&nbsp;<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XLLP_GPIO_AF_BIT_FFDCD&nbsp;|&nbsp;XLLP_GPIO_AF_BIT_FFDSR&nbsp;|&nbsp;<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XLLP_GPIO_AF_BIT_FFRI&nbsp;&nbsp;|&nbsp;XLLP_GPIO_AF_BIT_FFTXD&nbsp;|&nbsp;<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XLLP_GPIO_AF_BIT_FFDTR&nbsp;|&nbsp;XLLP_GPIO_AF_BIT_FFRTS&nbsp;);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Write&nbsp;0&nbsp;on&nbsp;GPIO&nbsp;pins&nbsp;41,&nbsp;82&nbsp;and&nbsp;99&nbsp;before&nbsp;configuring&nbsp;them&nbsp;as&nbsp;outputs.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pGPIOReg-&gtGPCR1&nbsp;=&nbsp;0x1u&lt&lt(41-32);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pGPIOReg-&gtGPCR2&nbsp;=&nbsp;0x1u&lt&lt(82-64);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pGPIOReg-&gtGPCR3&nbsp;=&nbsp;0x1u&lt&lt(99-96);&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Configure&nbsp;direction&nbsp;of&nbsp;GPIO&nbsp;pins&nbsp;10,&nbsp;37,&nbsp;44,&nbsp;89&nbsp;and&nbsp;102&nbsp;as&nbsp;input&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;and&nbsp;GPIO&nbsp;pins&nbsp;41,&nbsp;82&nbsp;and&nbsp;99&nbsp;as&nbsp;output<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pGPIOReg-&gtGPDR0&nbsp;&=&nbsp;~(0x1u&lt&lt(10-0));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pGPIOReg-&gtGPDR1&nbsp;&=&nbsp;~(0x1u&lt&lt(37-32));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pGPIOReg-&gtGPDR1&nbsp;&=&nbsp;~(0x1u&lt&lt(44-32));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pGPIOReg-&gtGPDR2&nbsp;&=&nbsp;~(0x1u&lt&lt(89-64));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pGPIOReg-&gtGPDR3&nbsp;&=&nbsp;~(0x1u&lt&lt(102-96));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pGPIOReg-&gtGPDR1&nbsp;|=&nbsp;(0x1u&lt&lt(41-32));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pGPIOReg-&gtGPDR2&nbsp;|=&nbsp;(0x1u&lt&lt(82-64));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pGPIOReg-&gtGPDR3&nbsp;|=&nbsp;(0x1u&lt&lt(99-96));<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Configure&nbsp;GPIO&nbsp;pins&nbsp;10,&nbsp;37&nbsp;and&nbsp;44&nbsp;for&nbsp;Alt_fn1.&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;And&nbsp;pin&nbsp;41&nbsp;for&nbsp;Alt_fn2<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;And&nbsp;pins&nbsp;82,89,99&nbsp;and&nbsp;102&nbsp;for&nbsp;Alt_fn3.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGAFR0_L&nbsp;&nbsp;&nbsp;&nbsp;=0;<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGAFR1_L&nbsp;&nbsp;&nbsp;&nbsp;=0;<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGAFR2_L&nbsp;&nbsp;&nbsp;&nbsp;=0;<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGAFR3_L&nbsp;&nbsp;&nbsp;&nbsp;=0;<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGAFR0_U&nbsp;&nbsp;&nbsp;&nbsp;=0;<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGAFR1_U&nbsp;&nbsp;&nbsp;&nbsp;=0;<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGAFR2_U&nbsp;&nbsp;&nbsp;&nbsp;=0;<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGPIO_REGS-&gtGAFR3_U&nbsp;&nbsp;&nbsp;&nbsp;=0;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pGPIOReg-&gtGAFR0_L&nbsp;&=~&nbsp;(0x1u&lt&lt20);//(0x1u&lt&lt10)&lt&lt2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pGPIOReg-&gtGAFR1_L&nbsp;&=~&nbsp;(0x1u&lt&lt10);//(0x1u&lt&lt(37-32))&lt&lt2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pGPIOReg-&gtGAFR1_L&nbsp;&=~&nbsp;(0x1u&lt&lt24);//(0x1u&lt&lt(44-32))&lt&lt2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pGPIOReg-&gtGAFR1_L&nbsp;&=~&nbsp;(0x2u&lt&lt18);//(0x2u&lt&lt(41-32))&lt&lt2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pGPIOReg-&gtGAFR2_U&nbsp;&=~&nbsp;(0x3u&lt&lt4);//(0x3u&lt&lt(82-64-16))&lt&lt2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pGPIOReg-&gtGAFR2_U&nbsp;&=~&nbsp;(0x3u&lt&lt18);//(0x3u&lt&lt(89-64-16))&lt&lt2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pGPIOReg-&gtGAFR3_L&nbsp;&=~&nbsp;(0x3u&lt&lt6);//(0x3u&lt&lt(99-96))&lt&lt2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pGPIOReg-&gtGAFR3_L&nbsp;&=~&nbsp;(0x3u&lt&lt12);//(0x3u&lt&lt(102-96))&lt&lt2;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pGPIOReg-&gtGAFR0_L&nbsp;|=&nbsp;(0x1u&lt&lt20);//(0x1u&lt&lt10)&lt&lt2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pGPIOReg-&gtGAFR1_L&nbsp;|=&nbsp;(0x1u&lt&lt10);//(0x1u&lt&lt(37-32))&lt&lt2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pGPIOReg-&gtGAFR1_L&nbsp;|=&nbsp;(0x1u&lt&lt24);//(0x1u&lt&lt(44-32))&lt&lt2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pGPIOReg-&gtGAFR1_L&nbsp;|=&nbsp;(0x2u&lt&lt18);//(0x2u&lt&lt(41-32))&lt&lt2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pGPIOReg-&gtGAFR2_U&nbsp;|=&nbsp;(0x3u&lt&lt4);//(0x3u&lt&lt(82-64-16))&lt&lt2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pGPIOReg-&gtGAFR2_U&nbsp;|=&nbsp;(0x3u&lt&lt18);//(0x3u&lt&lt(89-64-16))&lt&lt2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pGPIOReg-&gtGAFR3_L&nbsp;|=&nbsp;(0x3u&lt&lt6);//(0x3u&lt&lt(99-96))&lt&lt2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pGPIOReg-&gtGAFR3_L&nbsp;|=&nbsp;(0x3u&lt&lt12);//(0x3u&lt&lt(102-96))&lt&lt2;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;TRUE;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br />3&nbsp;WinCE下调试口转为可以被应用程序使用的普通串口<br />&nbsp;&nbsp;&nbsp;&nbsp;在PLATFORM\Mtct_smt_2700g\Src\Kernel\Oal\init.c中修改如下:<br />&nbsp;&nbsp;&nbsp;&nbsp;VOID&nbsp;OEMInitDebugSerial(void)<br />{<br />UINT32&nbsp;*pDbgSerPhysAddr&nbsp;=&nbsp;(UINT32*)&nbsp;OALArgsQuery(BSP_ARGS_QUERY_DBGSERIAL);<br />&nbsp;&nbsp;&nbsp;&nbsp;return;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(pDbgSerPhysAddr)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InitDebugSerial(*pDbgSerPhysAddr);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br />在platform.reg中修改为:<br />;&nbsp;-----------------------------------------------------------------------------<br />;&nbsp;@CESYSGEN&nbsp;IF&nbsp;CE_MODULES_SERIAL<br />IF&nbsp;BSP_NOSERIAL&nbsp;!<br />[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SerialBT]<br />&nbsp;&nbsp;&nbsp;&quot;Irq&quot;=dword:15&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;21&nbsp;IRQ_BTUART<br />&nbsp;&nbsp;&nbsp;&quot;SysIntr&quot;=dword:1c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;28&nbsp;SYSINTR_BTUART<br />&nbsp;&nbsp;&nbsp;&quot;MemBase&quot;=dword:40200000&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;BTUART&nbsp;Register&nbsp;<br />&nbsp;&nbsp;&nbsp;&quot;MemLen&quot;=dword:40<br />&nbsp;&nbsp;&nbsp;&quot;DeviceArrayIndex&quot;=dword:81&nbsp;&nbsp;;&nbsp;BTUART&nbsp;object<br />&nbsp;&nbsp;&nbsp;&quot;Prefix&quot;=&quot;COM&quot;<br />&nbsp;&nbsp;&nbsp;&quot;IClass&quot;=&quot;{CC5195AC-BA49-48a0-BE17-DF6D1B0173DD}&quot;<br />&nbsp;&nbsp;&nbsp;&quot;Dll&quot;=&quot;ms2_serial.dll&quot;<br />&nbsp;&nbsp;&nbsp;&quot;Index&quot;=dword:3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;cqz<br />&nbsp;&nbsp;&nbsp;&quot;Order&quot;=dword:0<br /><br />[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SerialBT\Unimodem]<br />&nbsp;&nbsp;&nbsp;&quot;Tsp&quot;=&quot;Unimodem.dll&quot;<br />&nbsp;&nbsp;&nbsp;&quot;DeviceType&quot;=dword:0<br />&nbsp;&nbsp;&nbsp;&quot;FriendlyName&quot;=&quot;COM3:&quot;;Serial&nbsp;Cable&nbsp;on&nbsp;COM1:<br />&nbsp;&nbsp;&nbsp;&quot;DevConfig&quot;=hex:&nbsp;10,00,&nbsp;00,00,&nbsp;05,00,00,00,&nbsp;10,01,00,00,&nbsp;00,4B,00,00,&nbsp;00,00,&nbsp;08,&nbsp;00,&nbsp;00,&nbsp;00,00,00,00<br /><br />[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SerialST]<br />&nbsp;&nbsp;&nbsp;&nbsp;&quot;Dll&quot;=&quot;ms2_serial.dll&quot;<br />&nbsp;&nbsp;&nbsp;&nbsp;&quot;Irq&quot;=dword:15&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;20&nbsp;IRQ_STUART<br />&nbsp;&nbsp;&nbsp;&nbsp;&quot;SysIntr&quot;=dword:1d&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;29&nbsp;SYSINTR_SFUART<br />&nbsp;&nbsp;&nbsp;&nbsp;&quot;MemBase&quot;=dword:40700000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;STUART&nbsp;Register<br />&nbsp;&nbsp;&nbsp;&nbsp;&quot;MemLen&quot;=dword:40<br />&nbsp;&nbsp;&nbsp;&nbsp;&quot;Prefix&quot;=&quot;COM&quot;<br />&nbsp;&nbsp;&nbsp;&nbsp;&quot;Index&quot;=dword:2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;cqz&nbsp;4<br />&nbsp;&nbsp;&nbsp;&nbsp;&quot;Order&quot;=dword:1<br />&nbsp;&nbsp;&nbsp;&nbsp;&quot;DeviceArrayIndex&quot;=dword:82&nbsp;&nbsp;;&nbsp;STUART&nbsp;object<br />&nbsp;&nbsp;&nbsp;&nbsp;&quot;IClass&quot;=&quot;{CC5195AC-BA49-48a0-BE17-DF6D1B0173DD}&quot;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial\Unimodem]<br />&nbsp;&nbsp;&nbsp;&quot;Tsp&quot;=&quot;Unimodem.dll&quot;<br />&nbsp;&nbsp;&nbsp;&quot;DeviceType&quot;=dword:0<br />&nbsp;&nbsp;&nbsp;&nbsp;&quot;FriendlyName&quot;=&quot;COM2:&quot;&nbsp;;Serial&nbsp;Cable&nbsp;on&nbsp;COM4:<br />&nbsp;&nbsp;&nbsp;&quot;DevConfig&quot;=hex:&nbsp;10,00,&nbsp;00,00,&nbsp;05,00,00,00,&nbsp;10,01,00,00,&nbsp;00,4B,00,00,&nbsp;00,00,&nbsp;08,&nbsp;00,&nbsp;00,&nbsp;00,00,00,00<br /><br />[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SerialFT]<br />&nbsp;&nbsp;&nbsp;&quot;Irq&quot;=dword:15&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;21&nbsp;IRQ_FFUART<br />&nbsp;&nbsp;&nbsp;&quot;SysIntr&quot;=dword:1b&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;29&nbsp;SYSINTR_FFUART<br />&nbsp;&nbsp;&nbsp;&quot;MemBase&quot;=dword:40100000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;FFUART&nbsp;Register&nbsp;<br />&nbsp;&nbsp;&nbsp;&quot;MemLen&quot;=dword:40<br />&nbsp;&nbsp;&nbsp;&quot;DeviceArrayIndex&quot;=dword:80&nbsp;&nbsp;;&nbsp;FTUART&nbsp;object<br />&nbsp;&nbsp;&nbsp;&quot;Prefix&quot;=&quot;COM&quot;<br />&nbsp;&nbsp;&nbsp;&quot;IClass&quot;=&quot;{CC5195AC-BA49-48a0-BE17-DF6D1B0173DD}&quot;<br />&nbsp;&nbsp;&nbsp;&quot;Dll&quot;=&quot;ms2_serial.dll&quot;<br />&nbsp;&nbsp;&nbsp;&quot;Index&quot;=dword:5<br />&nbsp;&nbsp;&nbsp;&quot;Order&quot;=dword:2<br /><br />ENDIF&nbsp;BSP_NOSERIAL&nbsp;!<br />
 楼主| cmqiu1969 发表于 2009-6-22 14:00 | 显示全部楼层

有关USB的小结

  
 楼主| cmqiu1969 发表于 2009-6-22 14:01 | 显示全部楼层

UART的PDF

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

14

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部