0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

ElfBoard 2025-12-29 10:37 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

IOMUX(引脚功能复用)是芯片厂商为高效利用有限引脚资源而设计的关键技术,它允许单个物理引脚通过软件灵活配置为多种功能(如GPIO、UARTI2C等)。鉴于不同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功能。

wKgZO2lR5-uAcPmxAABbELcIQug484.png

1.2匹配开发板引脚

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

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

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

wKgZPGlR58eAQ2e0AAMEyUwoulg650.png

1.3定位开发板物理位置

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

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

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

wKgZPGlR566ABwV0AAHso_HXn14090.png

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"; };

wKgZO2lR55uAVJm3AADNXZOOuK8214.png

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。

计算公式为:

wKgZPGlR1cmAZGysAABQRkV_NG8596.png

以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功能复用配置。本文旨在为各位嵌入式开发爱好者提供切实可行的操作参考,若在实际调试过程中遇到任何问题,欢迎随时交流探讨。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6078

    文章

    45580

    浏览量

    673713
  • 嵌入式
    +关注

    关注

    5209

    文章

    20661

    浏览量

    337102
  • 开发板
    +关注

    关注

    26

    文章

    6421

    浏览量

    120916
  • RK3588
    +关注

    关注

    8

    文章

    588

    浏览量

    7558
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    瑞芯微RK3588开发板RK3588 EVB和RK3588S EVB解读

    瑞芯微RK3588开发板RK3588 EVB和RK3588S EVB解读 瑞芯微旗舰芯RK3588系列
    的头像 发表于 09-22 15:54 2.3w次阅读
    瑞芯微<b class='flag-5'>RK3588</b><b class='flag-5'>开发板</b><b class='flag-5'>RK3588</b> EVB和<b class='flag-5'>RK3588</b>S EVB解读

    ElfBoard技术|如何在RK3588ELF 2开发板上进行根系统的定制

    ELF 2开发板已经适配了Linux 5.10及Elf2 Desktop 22.04操作系统,其中Elf2 Desktop 22.04系统是
    的头像 发表于 07-02 16:33 3190次阅读
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技术</b><b class='flag-5'>贴</b>|如<b class='flag-5'>何在</b>【<b class='flag-5'>RK3588</b>】<b class='flag-5'>ELF</b> <b class='flag-5'>2</b><b class='flag-5'>开发板</b>上进行根系统的定制

    技术|【RK3588ELF 2开发板如何添加exFAT和NTFS文件系统格式

    基于RK3588设计的ELF2开发板在搭载Desktop22.04系统时,对TF卡的文件系统支持存在以下限制:不支持exFAT格式;支持NTFS格式,但需手动挂载;针对上述兼容性问题,本文将介绍
    的头像 发表于 08-27 17:21 3821次阅读
    <b class='flag-5'>技术</b><b class='flag-5'>贴</b>|【<b class='flag-5'>RK3588</b>】<b class='flag-5'>ELF</b> <b class='flag-5'>2</b><b class='flag-5'>开发板</b>如何添加exFAT和NTFS文件系统格式

    ElfBoard技术|如何在RK3588ELF 2开发板上进行UART引脚复用配置

    IOMUX(引脚功能复用)是芯片厂商为高效利用有限硬件引脚资源而设计的关键技术,它允许单个物理引脚通过软件配置为多种不同的功能(如GPIO
    的头像 发表于 11-18 16:54 5730次阅读
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技术</b><b class='flag-5'>贴</b>|如<b class='flag-5'>何在</b>【<b class='flag-5'>RK3588</b>】<b class='flag-5'>ELF</b> <b class='flag-5'>2</b><b class='flag-5'>开发板</b>上进行UART引脚<b class='flag-5'>复用</b>配置

    ElfBoard技术|如何在RK3588ELF 2开发板实现I2C功能复用

    C等。由于此项配置的具体实现因SoC平台而异,本文特以【RK3588ELF 2开发板上的I2C
    的头像 发表于 12-04 10:10 8326次阅读
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技术</b><b class='flag-5'>贴</b>|如<b class='flag-5'>何在</b>【<b class='flag-5'>RK3588</b>】<b class='flag-5'>ELF</b> <b class='flag-5'>2</b><b class='flag-5'>开发板实现</b>I<b class='flag-5'>2</b>C<b class='flag-5'>功能</b><b class='flag-5'>复用</b>

    飞凌精灵(ElfBoard技术|如何在ELF-RK3506开发板实现GPIO复用

    2026年全国大学生嵌入式芯片与系统设计竞赛报名已正式启动。本次瑞芯微&飞凌嵌入式赛题共设置了三个参赛平台(ELF2开发板ELF-RV1126B开发板
    的头像 发表于 03-16 14:55 6301次阅读
    飞凌精灵(<b class='flag-5'>ElfBoard</b>)<b class='flag-5'>技术</b><b class='flag-5'>贴</b>|如<b class='flag-5'>何在</b><b class='flag-5'>ELF-RK</b>3506<b class='flag-5'>开发板</b>上<b class='flag-5'>实现</b><b class='flag-5'>GPIO</b><b class='flag-5'>复用</b>

    技术|如何在RK3588ELF 2开发板上部署小龙虾OpenClaw

    2026全国大学生嵌入式芯片与系统设计竞赛应用赛道报名正在火热进行中,其中瑞芯微&飞凌嵌入式赛题重磅选用基于旗舰芯片RK3588设计的ELF2开发板以及ELF-RV1126B
    的头像 发表于 04-02 09:30 1.2w次阅读
    <b class='flag-5'>技术</b><b class='flag-5'>贴</b>|如<b class='flag-5'>何在</b>【<b class='flag-5'>RK3588</b>】<b class='flag-5'>ELF</b> <b class='flag-5'>2</b><b class='flag-5'>开发板</b>上部署小龙虾OpenClaw

    RK3568/RK3588开发板人工智能AI摄像头识别功能方案

    RK3568/RK3588开发板人工智能AI摄像头识别功能方案
    的头像 发表于 03-27 17:15 4982次阅读
    <b class='flag-5'>RK</b>3568/<b class='flag-5'>RK3588</b><b class='flag-5'>开发板</b>人工智能AI摄像头识别<b class='flag-5'>功能</b>方案

    迅为RK3588开发板-基于瑞芯微RK3588摄像头方案

    RK3588开发板
    的头像 发表于 06-09 11:09 7686次阅读
    迅为<b class='flag-5'>RK3588</b><b class='flag-5'>开发板</b>-基于瑞芯微<b class='flag-5'>RK3588</b>摄像头方案

    rk3588有哪些开发板

    rk3588有哪些开发板 当前,rk3588开发板有RockPro64、Rock960 Plus、Rockchip Sapphire、Khadas VIM3 Pro和Firefly
    的头像 发表于 08-15 17:04 4080次阅读

    迅为iTOP-RK3588开发板Buildroot系统功能测试

    迅为iTOP-RK3588开发板Buildroot系统功能测试
    的头像 发表于 03-14 15:42 3865次阅读
    迅为iTOP-<b class='flag-5'>RK3588</b><b class='flag-5'>开发板</b>Buildroot系统<b class='flag-5'>功能</b>测试

    RK3588!黑神话悟空,启动?-迅为电子RK3588开发板

    RK3588!黑神话悟空,启动?-迅为电子RK3588开发板
    的头像 发表于 08-30 14:13 2573次阅读
    <b class='flag-5'>RK3588</b>!黑神话悟空,启动?-迅为电子<b class='flag-5'>RK3588</b><b class='flag-5'>开发板</b>

    玩转RK3588开发板基于connector-split 功能实现多屏联动

    玩转RK3588开发板基于connector-split 功能实现多屏联动
    的头像 发表于 12-02 16:05 1819次阅读
    玩转<b class='flag-5'>RK3588</b><b class='flag-5'>开发板</b>基于connector-split <b class='flag-5'>功能</b><b class='flag-5'>实现</b>多屏联动

    ElfBoard技术|如何在RK3588ELF 2开发板用户空间更换开机Logo

    ,提升了开发与调试效率。一、添加Logo分区elf@ubuntu:~/work/ELF2-linux-source$videvice/rockchip/.chip
    的头像 发表于 10-29 11:12 1339次阅读
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技术</b><b class='flag-5'>贴</b>|如<b class='flag-5'>何在</b>【<b class='flag-5'>RK3588</b>】<b class='flag-5'>ELF</b> <b class='flag-5'>2</b><b class='flag-5'>开发板</b>用户空间更换开机Logo

    基于迅为RK3588开发板实现高性能机器狗主控解决方案- AI能力实战:YOLOv5目标检测例程

    基于迅为RK3588开发板实现高性能机器狗主控解决方案- AI能力实战:YOLOv5目标检测例程
    的头像 发表于 11-28 11:32 1714次阅读
    基于迅为<b class='flag-5'>RK3588</b><b class='flag-5'>开发板实现</b>高性能机器狗主控解决方案- AI能力实战:YOLOv5目标检测例程