ElfBoard技术贴|如何在【RK3588】ELF 2开发板上进行UART引脚复用配置

OMUX(引脚功能复用)是芯片厂商为高效利用有限硬件引脚资源而设计的关键技术,它允许单个物理引脚通过软件配置为多种不同的功能(如GPIO、UART、I2C等)。不同SoC芯片的配置方式各异,本文将以【RK3588】ELF 2开发板的UART3引脚为例,详细阐述从硬件查找到软件配置的完整流程。

一、引脚确认

在开始配置之前,首先需要了解【RK3588】ELF 2开发板的接口布局特点。【RK3588】ELF 2开发板的40Pin 2.54mm连接器兼容树莓派40Pin连接器,集成了I2C、SPI、UART等常用通信接口及多路GPIO;而20Pin 2.54mm连接器则额外引出40Pin连接器未涵盖的接口或拓展接口,包括SARADC、PWM和GPIO等。

引脚选择原则:进行引脚复用时,应优先选择40Pin或20Pin连接器上的引脚,这类引脚位于开发板标准排针接口,无需额外焊接,接线更加便捷。

1.1查看引脚复用表

引脚复用表路径:ELF 2开发板资料包\05-硬件资料\05-4 管脚分配表

打开引脚复用表后,可以看到Alt0~Alt9列是引脚的核心复用功能区,这10列分别代表该引脚可配置的10种备选功能(部分未启用列可能为空)。在表格中搜索"UART3",所有Alt列中包含"UART3"的行都会被筛选出来。

虽然支持复用为UART3功能的引脚很多,但结合"优先选择40Pin或20Pin连接器引脚"的原则,最终选定P4_46和P4_37引脚:其中P4_46复用为UART3_TX_M1功能,P4_37复用为UART3_RX_M1功能。

1.2匹配开发板引脚

硬件原理图路径:ELF 2开发板资料包\05-硬件资料\05-0 PDF原理图

从硬件原理图可知,ELF 2开发板共使用4个连接器,其中"P4"代表第4号连接器。需要先定位到该连接器,再查找其46号和37号引脚。

P4_46引脚对应开发板功能:GPIO2_D0--GPIO3_B5(左侧GPIO2_D0为3576开发板引脚功能,右侧GPIO3_B5为3588芯片引脚功能)。

P4_37引脚对应开发板功能:GPIO2_D7--GPIO3_B6(左侧GPIO2_D7为3576开发板引脚功能,右侧GPIO3_B6为3588芯片引脚功能)。

1.3定位开发板物理位置

核心板的功能引脚通过连接器传输到底板,下面需要确认目标引脚在底板上的具体物理接口位置。

在原理图中分别搜索GPIO2_D0--GPIO3_B5和GPIO2_D7--GPIO3_B6网络标号:

GPIO2_D0--GPIO3_B5(P4_46引脚对应的网络标号)对应开发板P26接口的11引脚。

GPIO2_D7--GPIO3_B6(P4_37引脚对应的网络标号)对应开发板P26接口的29引脚。

二、源码适配

在完成硬件引脚确认后,接下来需要进行软件层面的配置工作,主要包括设备树中的IOMUX配置和设备节点配置。

2.1IOMUX配置

确定引脚后,需要在设备树中配置IOMUX参数以确保引脚正确工作在UART3模式。打开以下文件,找到UART3相关定义,其中uart3m1_xfer节点已明确配置GPIO3_B6(UART3_RX_M1)和GPIO3_B5(UART3_TX_M1)的复用参数,配置内容如下:

(kernel/arch/arm64/boot/dts/rockchip/rk3588s-pinctrl.dtsi)

2.2设备节点配置

完成IOMUX配置后,需要在设备树中启用UART3设备节点。打开以下文件,添加UART3节点引用,指定引脚配置为uart3m1_xfer,启用节点功能,配置如下:

(kernel/arch/arm64/boot/dts/rockchip/elf2-3588-common.dtsi)

2.3编译

配置完成后,需要重新编译内核以生成包含新配置的镜像文件。执行编译命令,生成内核镜像:

复制代码
elf@ubuntu:~/work/ELF2-linux-source$ ./build.sh kernel

编译完成后,将在kernel目录下生成boot.img内核镜像文件。

三、烧录与验证

编译生成新的内核镜像后,下一步是将其烧录到开发板并进行验证。将kernel目录下生成的boot.img内核镜像文件烧录到开发板。

开发板启动后,在/dev目录下会生成UART3对应的设备节点ttyS3,可通过以下命令验证:

复制代码
root@elf2-buildroot:~# ls /dev/ttyS3

四、功能测试

确认设备节点生成后,需要进行完整的功能测试以确保UART3正常工作。

4.1测试准备

注意事项:UART引脚电平范围为0~3.3V,严禁接入超过3.3V的电压,避免硬件损坏。

测试工具路径:ELF 2开发板资料包\06-常用工具\06-4 测试工具\SerialTool1.4.0a_Win32_Setup.zip

硬件连接:通过TTL转USB模块连接开发板与电脑,按照模块引脚定义对应连接 UART3_TX、UART3_RX 、VCC以及GND。

TTL转USB模块与【RK3588】ELF 2开发板硬件连接如图:

4.2串口参数配置

开发板上电后,在电脑设备管理器中查看TTL转USB模块识别的COM口(示例为 COM26,以实际识别准)。

打开电脑串口工具,选择端口COM26、设置波特率115200,点击蓝色端口设置图标进行设置,8位数据位、1位停止位、无校验、无流控制,点击OK,点击绿色图标打开串口。

4.3发送数据测试

在开发板终端执行以下命令,自动发送测试数据 "aabbccddeeff":

复制代码
root@elf2-buildroot:~# cmddemo_serialport ttyS3 -o -b 115200 -t aabbccddeeff 1
baudrate=115200,data_bit=8,stop_bit=1,check='O'
set done!
[nwrite=12] aabbccddeeff       //发送的数据

命令执行后,串口工具会持续接收该测试数据,可在接收区查看结果。

4.4接收数据测试

在开发板终端执行以下命令,启动接收模式:

复制代码
root@elf2-buildroot:~# cmddemo_serialport ttyS3 -b 115200

在串口工具的发送区输入测试数据(示例为 "abcdefg"),点击发送:

开发板终端会显示接收到的数据:​​​​​​​

复制代码
root@elf2-buildroot:~# cmddemo_serialport ttyS3 -b 115200
baudrate=115200,data_bit=8,stop_bit=1,check='N'
set done!
[nread=7] abcdefg         //接收到的数据

通过以上步骤,即可完成【RK3588】ELF 2开发板上UART3引脚复用的配置与功能验证。这一流程确保了硬件资源得到正确配置,软件功能正常运作,为后续的串口通信应用奠定了坚实基础。

相关推荐
paperxie_xiexuo2 小时前
七款 AI PPT 工具新解:智能驱动演示升级,解锁多元创作场景
大数据·人工智能·powerpoint·大学生·ppt
大模型实验室Lab4AI2 小时前
VideoLLaMA 3新一代前沿多模态基础模型赋能图像与视频深度理解| LLM | 计算机视觉
人工智能·计算机视觉·音视频
还不秃顶的计科生2 小时前
如何快速用cmd知道某个文件夹下的子文件以及子文件夹的这个目录分支具体的分支结构
人工智能
九河云3 小时前
不同级别华为云代理商的增值服务内容与质量差异分析
大数据·服务器·人工智能·科技·华为云
Elastic 中国社区官方博客3 小时前
Elasticsearch:Microsoft Azure AI Foundry Agent Service 中用于提供可靠信息和编排的上下文引擎
大数据·人工智能·elasticsearch·microsoft·搜索引擎·全文检索·azure
大模型真好玩3 小时前
Gemini3.0深度解析,它在重新定义智能,会是前端工程师噩梦吗?
人工智能·agent·deepseek
就是蠢啊3 小时前
51单片机——数码管
单片机·嵌入式硬件·51单片机
别掩3 小时前
三极管恒流电路
单片机·嵌入式硬件
机器之心3 小时前
AI终于学会「读懂人心」,带飞DeepSeek R1,OpenAI o3等模型
人工智能·openai