LPC串口配置及使用
x86 CPU未单独提供UART控制器接口,而是将UART控制器寄存器隐藏在LPC IO解码功能中,以Xeon D-1500为例,该CPU支持两个UART口,分别为COMA和COMB。该CPU的UART口通过LPC桥的两个配置寄存器来控制,分别是LPC_I/O_DEC和LPC_EN寄存器:
LPC_I/O_DEC—I/O Decode Ranges Register (LPC I/F—D31:F0)
LPC_EN—LPC I/F Enables Register (LPC I/F—D31:F0)
其中,LPC_EN寄存器控制UART口的使能,如果使能,则根据LPC_I/O_DEC寄存器的IO地址映射来使用。比如按默认值配置的话,则UART0(COMA)对应的IO地址空间为0x3F8-0x3FF,则UART1(COMB)对应的IO地址空间为0x2F8-0x2FF。每个对应8字节的地址空间,分别对应8个寄存器。寄存器为通用UART寄存器,定义如下:
#define TXR 0 /* Transmit register (WRITE) */
#define RXR 0 /* Receive register (READ) */
#define IER 1 /* In