本人使用的内核版本为linux-2.6.32,采用的ARM处理器为cortex-A8,采用的串口为NS16550。串口的驱动直接编译在内核中,当需要修改串口的时钟频率和波特率的时候, 需要修改以下地方。
1、在板子平台目录下平台相关的头文件路径下串口的头文件中,即arch/arm/mach-***/include/mach/ns16550.h中修改以下宏定义即可修改串口的时钟频率
#define CONFIG_SYS_NS16550_CLK 50000000
2、在板子平台目录下的设备文件路径下的串口设备.c文件中,即/arch/arm/mach-***/dev-uart.c中修改以下的宏定义即可修改串口时钟频率
#define UART_CLK 50000000
3、内核的波特率是通过uboot的bootargs传递过来的。
本文介绍如何在Linux 2.6.32内核中使用cortex-A8处理器和NS16550串口进行时钟频率及波特率设置的方法。主要涉及平台相关的头文件及设备文件中的宏定义修改。
947

被折叠的 条评论
为什么被折叠?



