ElfBoard技术贴|如何在【RK3588】ELF 2开发板实现GPIO功能复用

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

1.引脚确认

在开始配置之前,首先需要了解【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种备选功能(部分未启用列可能为空)。在Alt0中查看所有的写有GPIOn_xy的引脚都是可以被复用成GPIO功能的。

结合"优先选择40Pin或20Pin连接器引脚"的原则,选定P2_31引脚复用为GPIO1_D0功能。

1.2匹配开发板引脚

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

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

P2_31引脚对应开发板功能:I2C5--I2C7--SCL(左侧I2C5为3576开发板引脚功能,右侧I2C7为ELF2板卡引脚功能)。

1.3定位开发板物理位置

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

在原理图中分别搜索I2C5--I2C7--SCL网络标号:

I2C5--I2C7--SCL(P2_31引脚对应的网络标号)对应开发板P26接口的32引脚。

2.源码适配

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

2.1IOMUX配置

如果引脚不进行其他功能的复用,引脚默认就是GPIO功能。

2.2设备节点配置

P2_31引脚开发板功能为I2C7,需要在设备树中关闭i2c7节点,关闭I2C7功能之后默认就是GPIO功能。

打开以下文件 ,关闭i2c7节点引用。

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

复制代码
&i2c7 {
        status = "disabled";
};

2.3编译

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

执行编译命令,生成内核镜像:

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

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

3.烧录与验证

编译生成新的内核镜像后,需将其烧录到开发板并完成基础验证。首先将kernel目录下生成的boot.img内核镜像文件烧录到开发板。开发板启动后,/dev目录下I2C7对应的设备节点i2c-7已经不存在。

4.开发板测试

注意:GPIO引脚的电平范围为0~3.3V,严禁对此引脚接入超过3.3V的电压。

GPIO的命名规则为GPIOn_xy其中x的表现形式有ABCD四种。在GPIO计算编号的过程中,A对应1,B对应2,C对应3,D对应4。

计算公式为:

以GPIO1_D0为例,计算其GPIO编号。

GPIO1_D0=1×32+(4−1)×8+0=56

将GPIO引脚配置为输出模式后,在完成相关设置操作后,可使用万用表测量该引脚的电压状态,以验证GPIO输出模式是否配置成功。

复制代码
root@elf2-buildroot:~# echo 56 > /sys/class/gpio/export     //系统需要导出控制的GPIO引脚编号
root@elf2-buildroot:~# echo out > /sys/class/gpio/gpio56/direction //设置为输出
root@elf2-buildroot:~# echo 1 > /sys/class/gpio/gpio56/value //设置IO输出高电平
root@elf2-buildroot:~# echo 0 > /sys/class/gpio/gpio56/value //设置IO输出低电平
root@elf2-buildroot:~# echo 56 > /sys/class/gpio/unexport    //系统取消导出

将GPIO引脚配置为输入模式后,通过向该引脚施加高电平或低电平信号,随后可以使用cat命令读取并查看该引脚的当前电平状态。​​​​​​​

复制代码
root@elf2-buildroot:~# echo 56 > /sys/class/gpio/export     //系统需要导出控制的GPIO引脚编号
root@elf2-buildroot:~# echo in > /sys/class/gpio/gpio56/direction //设置为输出
root@elf2-buildroot:~# cat /sys/class/gpio/gpio56/value //查看引脚状态
root@elf2-buildroot:~# echo 56 > /sys/class/gpio/unexport    //系统取消导出

通过上述步骤操作,即可完成【RK3588】ELF 2开发板的GPIO功能复用配置。本文旨在为各位嵌入式开发爱好者提供切实可行的操作参考,若在实际调试过程中遇到任何问题,欢迎随时交流探讨。

相关推荐
小雨下雨的雨2 小时前
井字棋AI机器人实现详解 - Minimax算法实战-鸿蒙PC Electron框架完成
前端·人工智能·算法·华为·electron·鸿蒙
方便面不加香菜3 小时前
Linux--基础IO(一)
linux·运维·服务器
我没胡说八道4 小时前
高校论文AI检测优化工具对比研究与实测分析(2026)
人工智能·深度学习·机器学习·计算机视觉·aigc·论文
秦亚伟4 小时前
AI浪潮重塑融资租赁行业新格局
人工智能
love530love4 小时前
LiveTalking 数字人项目 Windows 部署完全指南(EPGF 架构)
人工智能·windows·python·架构·livetalking·epgf
元启数宇4 小时前
喷淋AI布点实战:8小时人工布点→20分钟自动出图
人工智能
哈哈,柳暗花明4 小时前
人工智能专业术语详解(H)
人工智能·专业术语
圣殿骑士-Khtangc4 小时前
AI 编程工具 2026 实战横评:Cursor 3 vs Claude Code vs Copilot,开发者选型完全指南
人工智能·copilot
云器科技5 小时前
云器Lakehouse 2026年5月版本发布:拥抱 AI Agent,重塑数据智能开发新范式
人工智能
小鹰-上海鹰谷-电子实验记录本5 小时前
第六届党建引领科创生态座谈会 | 邓光辉博士出席分享AI赋能创新药科研新范式
人工智能·ai·电子实验记录本·药企合规