RK3568开发板UART串口功能复用配置教程
IOMUX,即引脚功能复用,是现代SoC芯片设计中一项至关重要的技术。它的核心目的很明确:在有限的物理引脚资源下,通过软件配置,让同一个引脚能够灵活扮演GPIO、UART、I2C等不同角色。这极大地提升了硬件设计的灵活性和资源利用率。不过,不同芯片厂商、不同平台的IOMUX配置方法往往各有千秋。今天,我们就以ELF-RK3506开发板为例,手把手带你走一遍将UART2功能映射到特定引脚的完整流程,从硬件查表到软件配置,一步不落。
免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
1. 引脚确认
动手配置之前,得先摸清开发板的“家底”。ELF-RK3506开发板配备了两组40Pin的排针接口。其中一组完全兼容树莓派的40Pin定义,集成了I2C、SPI、UART等常用通信接口以及多路GPIO,非常方便。另一组则引出了额外的IO,可以复用为LCD、DSMC等更专业的功能接口。
这里有个实用的原则:进行引脚复用时,应优先考虑40Pin标准排针上的引脚。为什么?因为这些引脚已经规整地引出到接口上,无需额外飞线或焊接,接线调试最为便捷。
1.1. 查看引脚复用表
一切始于官方资料。你需要找到开发板资料包中的引脚复用对照表(通常路径类似:ELF-RK3506开发板资料包\04-硬件资料\1-ELF-RK3506 引脚复用对照表-20251121)。这张表是引脚的“功能菜单”。
在表中,Alt0到Alt8列清晰地列出了每个引脚支持的所有可选功能。RK3506B芯片采用了矩阵IO设计,能够将多达98个功能信号灵活地映射到32个RM_IO引脚上。我们的目标是UART2。先在“RM_IO功能”列表里找到UART2_TX和UART2_RX这两个信号,然后从支持它们的RM_IO引脚中,根据“优先选用40Pin排针引脚”的原则进行筛选。最终,我们选定将UART2_TX映射到RM_IO26,UART2_RX映射到RM_IO28。对照连接器引脚号,它们分别对应46和55号引脚。
1.2. 匹配开发板引脚
光有连接器引脚号还不够,我们需要知道它在芯片内部的GPIO编号。这时就需要查阅硬件原理图(路径如:ELF-RK3506开发板资料包\04-硬件资料\00- PDF原理图)。
在原理图中定位46和55号引脚,可以发现它们对应的网络标号分别是GPIO1_B3和GPIO1_C3。这就把物理连接器的引脚和芯片内部的GPIO控制器编号对应上了。
1.3. 定位开发板物理位置
最后一步,找到这两个引脚在开发板底板上的具体物理位置。毕竟,我们最终是要把线接上去的。
在原理图中搜索GPIO1_B3和GPIO1_C3这两个网络标号,可以追踪到它们最终连接到了底板上的P14排针,具体是第21脚和第11脚。这样一来,硬件层面的定位工作就全部完成了。
2. 源码适配
硬件引脚确定后,接下来的重头戏就是软件配置。这主要涉及设备树(Device Tree)中的两个部分:IOMUX配置和设备节点配置。
2.1. IOMUX配置
首先,我们需要在设备树中声明引脚的功能复用关系,告诉内核:“请把GPIO1_B3和GPIO1_C3配置成UART2的TX和RX功能。”
打开内核源码中的引脚控制定义文件,通常是 kernel/arch/arm/boot/dts/rk3506-pinctrl-rmio.dtsi。在这个文件里,我们可以找到类似I2C1的配置作为参考。仔细搜索,会发现已经存在定义好的节点:rm_io26_uart2_tx 和 rm_io28_uart2_rx。它们正是描述了将RM_IO26(对应GPIO1_B3)复用为UART2_TX,以及将RM_IO28(对应GPIO1_C3)复用为UART2_RX。这省去了我们手动编写配置的麻烦。
2.2. 设备节点配置
引脚复用关系配置好,接下来就要启用UART2这个设备本身。UART2的设备节点通常在核心的设备树文件(如 kernel/arch/arm/boot/dts/rk3502.dtsi)中已经有了基础定义。
我们的任务是在板级设备树文件(例如 kernel/arch/arm/boot/dts/elf-3506-common.dtsi)中,找到或添加UART2的节点,并对其进行配置。关键操作是:1)引用前面定义好的那两个pinctrl节点(&rm_io26_uart2_tx 和 &rm_io28_uart2_rx);2)将状态(status)设置为“okay”以启用它。同时,如果默认状态是“disabled”,需要将其改为“okay”。配置内容大致如下:
&uart2 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&rm_io26_uart2_tx &rm_io28_uart2_rx>; };
2.3. 编译
配置保存好后,就需要重新编译内核,让改动生效。
进入内核源码目录,执行编译命令(具体命令可能因环境而异,例如:./build.sh kernel)。编译过程会持续一段时间。完成后,在指定的输出目录(通常是kernel目录下)会生成新的 boot.img 内核镜像文件,这个文件就包含了我们刚刚做的所有设备树配置。
3. 烧录与验证
最后一步,也是检验成果的时刻:烧录与验证。
将新生成的 boot.img 镜像文件烧录到ELF-RK3506开发板上。开发板重新启动后,如果配置一切正确,系统会在 /dev 目录下自动创建UART2对应的设备节点。对于RK3506平台,UART2通常对应 ttyS2。
通过串口登录开发板,执行命令 ls /dev/ttyS* 或 ls /dev/tty*,查看 ttyS2 这个设备文件是否已经存在。看到它,就说明UART2的引脚复用配置和驱动加载都成功了。
热门专题
热门推荐
当RPA机器人面临复杂决策场景时,企业通常可以采取以下几种经过验证的有效策略来应对,确保自动化流程的顺畅与准确。 借助人工智能技术 一种广泛应用的解决方案是将RPA与人工智能技术深度融合,特别是机器学习与自然语言处理。通过集成AI的预测分析与模式识别能力,RPA能够处理非结构化数据并应对模糊的业务情
当智能制造与人工智能技术深度融合,这不仅是两种前沿科技的简单叠加,更是一场旨在重塑全球制造业竞争格局的系统性变革。其核心目标在于,通过深度嵌入人工智能等前沿技术,全面提升制造业的智能化水平、生产效率与国际竞争力。那么,如何有效推进这场深度融合?以下六大关键策略构成了清晰的行动路线图。 1 加强关键
对于已经部署了RPA的企业而言,项目上线远不是终点。要让自动化投资持续产生价值,对机器人性能进行持续优化是关键。这就像保养一台精密的机器,定期维护和调校,才能确保其长期高效、稳定地运行。 那么,具体可以从哪些方面着手呢?以下是一些经过验证的优化方向。 一、并行处理与任务分解 首先,看看任务执行本身。
面对海量数据源的高效抓取需求,分布式数据采集架构已成为业界公认的核心解决方案。该架构通过精巧的设计,协调多个采集节点并行工作,并将数据汇聚至中央处理单元,最终实现数据的集中分析与深度洞察。这套系统看似复杂,但其核心原理可拆解为几个关键组件的协同运作。 一、系统核心组成 一套典型的分布式数据采集系统,
Gate io平台活动页面多样,新手易混淆注册奖励、邀请与正常开户页。本文梳理三者核心区别:注册奖励页通常含专属链接与限时福利;邀请页强调社交分享与返利机制;正常开户页则提供基础功能与安全验证。清晰辨识有助于用户高效参与活动,避免错过权益或操作失误,提升在Web3领域的入门体验。





