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 第四章”外部信号与引脚复用”中:
- 搜索 UART5,找到可复用为 UART5_TX_DATA 和 UART5_RX_DATA 的引脚
- 选用 KEY_ROW1(UART5_RX_DATA)和 KEY_COL1(UART5_TX_DATA)
- 对应 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)。
关键技术点
- 引脚复用模式:IMX6 芯片每个 GPIO 引脚支持多种功能,通过 ALT0-ALT7 选择
- uart 编号:imx_uart(0-4) 对应 ttymxc0-4
- 修改范围:需同时修改 .h 和 .c 两个文件