串口复用配置笔记

核心概述

本文档介绍了在飞凌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对应)。

关键要点

  1. 引脚复用模式:I.MX6引脚支持多种功能,通过配置pinmux选择ALT模式
  2. UART编号:UART0-UART4对应ttymxc0-ttymxc4
  3. 修改范围:需要同时修改.h文件和.c文件

关联知识