串口复用配置笔记
核心概述
本文档介绍了在飞凌OKMX6DL/Q-C平台(Linux 3.0.35)上复用UART串口的配置方法,以UART5为例。
复用步骤
1. 查看CPU手册
参考IMX6DQRM手册第四章”外部信号与引脚复用”,查找Table 4-1中UART5的引脚定义:
- UART5_RX_DATA:KEY_ROW1引脚,mode为ALT4
- UART5_TX_DATA:KEY_COL1引脚,mode为ALT4
2. 修改pinmux配置
修改文件:Linux-3.0.35/arch/arm/mach-mx6/board-mx6q_c_sabresd.h
添加UART5引脚定义,并注释掉原有配置:
MX6Q_PAD_KEY_ROW1__UART5_RXD,
MX6Q_PAD_KEY_COL1__UART5_TXD,3. 初始化串口
修改文件:Linux-3.0.35/arch/arm/mach-mx6/board-mx6q_c_sabresd.c
在mx6q_sabresd_init_uart()函数中添加UART5:
static inline void mx6q_sabresd_init_uart(void) {
//imx6q_add_imx_uart(2, NULL); // 注释掉原有配置
imx6q_add_imx_uart(0, NULL);
imx6q_add_imx_uart(1, NULL);
imx6q_add_imx_uart(2, &mx6q_sd_uart3_data);
imx6q_add_imx_uart(3, NULL);
imx6q_add_imx_uart(4, NULL); // 添加UART5
}4. 验证
重新编译镜像并烧录后,在终端查看:
ls /dev/ttyMXC*应看到ttymxc4设备节点(UART5对应)。
关键要点
- 引脚复用模式:I.MX6引脚支持多种功能,通过配置pinmux选择ALT模式
- UART编号:UART0-UART4对应ttymxc0-ttymxc4
- 修改范围:需要同时修改.h文件和.c文件