OKMX6DL/Q 平台串口复用笔记

基本信息

  • 原始路径: /工作相关/飞凌嵌入式imx6全部资料/原始下载资料/OKMX6DL、Q系列产品应用笔记/OKMX6DL、Q系列产品Linux3.0.35+Andriod4.4应用笔记/串口复用笔记.pdf
  • 文件大小: 503 KB
  • 页数: 7页
  • 处理日期: 2026-09-20
  • 提取方式: PDF文本提取
  • 状态: done

适用范围

本文适用于飞凌 OKMX6DL/Q-C 平台 Linux 3.0.35 操作系统,其他平台可参考但需自行修改。

串口复用原理

以复用 UART5 为例,说明 IMX6 系列芯片的引脚复用机制:

步骤一:查阅CPU手册

在 IMX6DQRM 第四章”外部信号与引脚复用”中:

  1. 搜索 UART5,找到可复用为 UART5_TX_DATA 和 UART5_RX_DATA 的引脚
  2. 选用 KEY_ROW1(UART5_RX_DATA)和 KEY_COL1(UART5_TX_DATA)
  3. 对应 mode 均为 ALT4

步骤二:修改 pinmux 配置

修改文件:Linux-3.0.35/arch/arm/mach-mx6/board-mx6q_c_sabresd.h

添加串口5定义:

MX6Q_PAD_KEY_ROW1__UART5_RXD,
MX6Q_PAD_KEY_COL1__UART5_TXD,

同时注释掉原有的 pinmux 配置。

步骤三:初始化串口

修改文件:Linux-3.0.35/arch/arm/mach-mx6/board-mx6q_c_sabresd.c

在 mx6q_sabresd_init_uart() 函数中添加:

static inline void mx6q_sabresd_init_uart(void) {
    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);
}

步骤四:验证

重新编译镜像并烧写后,在终端查看 /dev 目录,确认生成 ttymxc4(即串口5)。

关键技术点

  1. 引脚复用模式:IMX6 芯片每个 GPIO 引脚支持多种功能,通过 ALT0-ALT7 选择
  2. uart 编号:imx_uart(0-4) 对应 ttymxc0-4
  3. 修改范围:需同时修改 .h 和 .c 两个文件

关联文件