嵌入式
返回首页

ElfBoard技术解析:RK3588 ELF 2开发板UART引脚复用配置指南

2025-12-03 来源:elecfans

IOMUX(引脚功能复用)是芯片厂商为高效管理有限硬件引脚资源而采用的一项核心机制,它使得同一物理引脚能够通过软件配置切换为多种不同功能(例如GPIO、UART、I2C等)。由于各SoC芯片的具体配置方式存在差异,本文将以【RK3588】ELF 2开发板的UART3引脚为例,完整呈现从硬件定位到软件配置的实现路径。

一、引脚确认

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

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

1.1查看引脚复用表

引脚复用表路径:

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

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

1.2匹配开发板引脚

硬件原理图路径:

从硬件原理图可知,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芯片引脚功能)。wKgZO2kcMumAew6NAAKb8crHn34062.png

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引脚。wKgZPGkcMsyAYcJNAASCXGRMEbE933.png

二、源码适配

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

2.1IOMUX配置

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

wKgZO2kcMqOAB41BAACr9fT_Jhw765.png

2.2设备节点配置

完成IOMUX配置后,需要在设备树中启用UART3设备节点。打开kernel/arch/arm64/boot/dts/rockchip/elf2-3588-common.dtsi文件,添加UART3节点引用,指定引脚配置为uart3m1_xfer,启用节点功能,配置如下:

wKgZPGkcMnyAItQ4AACxozb4hq8257.png

2.3编译

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

elf@ubuntu:~/work/ELF2--source$./build.sh kernel

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

三、烧录与验证

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

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

root@elf2-buildroot:~#ls/dev/ttyS3wKgZO2kcMlmAZCFkAAAODernru0762.png

四、功能测试

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

4.1测试准备

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

测试工具路径:

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

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

4.2串口参数配置

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

wKgZPGkcMiuASb7BAABy3B0CDhg599.png

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

wKgZO2kcMhiABHpdAABY1ww-Fuc121.png

4.3发送数据测试

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

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

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

4.4接收数据测试

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

root@elf2-buildroot:~# cmddemo_serialport ttyS3 -b 115200

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

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

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

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

进入嵌入式查看更多内容>>
相关视频
  • 【TI MSPM0 应用实战】智能小车+工业角度编码器+血氧仪+烟雾探测器!硬核参考设计详解!

  • FollowMe 第二季:3 - EK_RA6M5 开发板入门

  • FollowMe 第二季: 1 Adafruit Circuit Playground Express及任务讲解

  • Azure RTOS step by step workshop

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • 从0到1:树莓派与物联网教程(英文)

精选电路图
  • 1瓦四级调频发射机

  • 500W MOS场效应管电源逆变器,12V转110V/220V

  • 12V 转 28V DC-DC 变换器(基于 LM2585)

  • 红外开关

  • 12V转110V/220V 500W逆变器

  • DS1669数字电位器

    相关电子头条文章