arm-linux内核中串口时钟频率及波特率的设置
2017-01-18 19:54
323 查看
本人使用的内核版本为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传递过来的。
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传递过来的。
相关文章推荐
- uboot中串口时钟频率及波特率的设置
- 关于arm时钟频率的设置及编程
- 为何串口通信中接收端采样时钟频率是传输的波特率的16倍
- zedboard 中SDK 修改串口设置(波特率。。。。)
- s3c44b0的系统时钟与串口波特率的计算公式
- Linux内核高-低端内存设置代码跟踪(ARM构架)
- S5pv210 android 的 一些时钟设置太蛋疼了,找了好久才找到,要改一个频率牵扯太多,远不如wince方便
- i2c子系统之i2c总线时钟频率设置
- 协议[I2C]_I2C子系统之I2C总线时钟频率设置
- STM32基于库函数版本的系统工作频率与CAN工作波特率设置
- 关于在u-boot汇编中设置与初始化时钟频率的解析
- STM32下SysTick的一个容易发生的错误,时钟频率设置
- MSComm串行通讯控件设置 串口、波特率等参数方法
- bootloader功能介绍/时钟初始化设置/串口工作原理/内存工作原理/NandFlash工作原理
- arm-linux开机读取硬件时钟,设置系统时钟。
- zedboard 中SDK 修改串口设置(波特率。。。。)
- s3c2410 ARM 时钟与设置
- 这个当单片机程序怎么会不停的通过串口发数据,设置波特率为9600,但是串口软件接受数据不对(初学者,请高手指教)
- TX2440 看手册学习2440-CPU时钟频率的设置(ADS1.2编译)
- I2C子系统之I2C总线时钟频率设置