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

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

3天内不再提示

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

ElfBoard 2026-03-16 14:55 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

2026年全国大学生嵌入式芯片与系统设计竞赛报名已正式启动。本次瑞芯微&飞凌嵌入式赛题共设置了三个参赛平台(ELF 2开发板、ELF-RV1126B开发板、ELF-RK3506开发板)供选手选择。为助力参赛队伍更好地完成项目设计,本文将以RK3506平台的复用GPIO为例,详细讲解从硬件查询到软件配置的完整实现流程。

1.引脚确认

在开始配置之前,首先需要了解ELF-RK3506开发板的接口布局特点。ELF-RK3506开发板配备两组40Pin排针,其中一组兼容树莓派40Pin接口,集成了I2C、SPI、UART等常用通信接口及多路GPIO;另一组则引出额外的IO排针,可复用为LCD、DSMC等功能接口。

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

1.1.查看引脚复用表

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

在引脚复用表中,通过查看Alt0~Alt8列可了解各引脚的可选功能;在Alt0列中所有GPIOn_xy的引脚都可以被复用成GPIO功能。遵循“优先选用40Pin排针引脚”的布局原则,最终选定将连接器引脚号为86的引脚复用成GPIO0_A0功能。

wKgZO2m3pomACAxwAABdcBaxgMI833.png

1.2.匹配开发板引脚

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

从硬件原理图可知,连接器86引脚号对应开发板功能UART1_TX。

wKgZPGm3ppyAVkkeAALaMvG6fAQ032.png

1.3.定位开发板物理位置

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

在原理图中搜索UART1_TX网络标号,对应开发板P9排针的8引脚。

wKgZO2m3pqyAJ-1qAARQx02Xww4667.png

2.源码适配

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

2.1.IOMUX配置

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

2.2.设备节点配置

连接器引脚号为86的引脚开发板功能为UART1_TX,需要在设备树中关闭UART1节点,关闭UART1功能之后默认就是GPIO功能。

打开kernel/arch/arm/boot/dts/elf-3506-common.dtsi,关闭UART1节点引用。

&uart1 { status = "disabled"; pinctrl-names = "default"; pinctrl-0 = <&rm_io0_uart1_tx &rm_io1_uart1_rx>; };

wKgZPGm3ptiABLJgAACnqk05zZE557.png

2.3.编译

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

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

elf@ubuntu:~/work/ELF-RK3506-linux-source$./build.sh kernel

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

3.烧录与验证

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

将kernel目录下生成的boot.img内核镜像文件烧录到开发板。

开发板启动后,/dev 目录下UART1对应的设备节点ttyS1已经不存在。

wKgZO2m3p7WAA5l-AAAPzzpUGQA800.png

4.功能测试

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

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

计算公式为:

wKgZPGm3p9aAYNesAAAG6ARv5C0385.png

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

GPIO0_A0=0×32+(1−1)×8+0=0

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

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

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

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

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

    关注

    6078

    文章

    45550

    浏览量

    672772
  • 嵌入式
    +关注

    关注

    5208

    文章

    20586

    浏览量

    336257
  • 开发板
    +关注

    关注

    26

    文章

    6372

    浏览量

    120036
  • 学习开发板
    +关注

    关注

    0

    文章

    11

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

    IOMUX(引脚功能复用)是芯片厂商为高效利用有限硬件引脚资源而设计的关键技术,它允许单个物理引脚通过软件配置为多种不同的功能(如GPIO、UART、I2C等)。不同SoC芯片的配置方式各异,本文将以【
    的头像 发表于 11-18 16:54 5622次阅读
    <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'>RK</b>3588】<b class='flag-5'>ELF</b> 2<b class='flag-5'>开发板</b>上进行UART引脚<b class='flag-5'>复用</b>配置

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

    等。由于此项配置的具体实现因SoC平台而异,本文特以【RK3588】ELF 2开发板的I2C6引脚为例,系统说明从硬件规格查询到软件驱动配
    的头像 发表于 12-04 10:10 8195次阅读
    <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'>RK</b>3588】<b class='flag-5'>ELF</b> 2<b class='flag-5'>开发板实现</b>I2C功能<b class='flag-5'>复用</b>

    ElfBoard技术|如何在ELF - RK3506开发板构建AI编程环境

    特别感谢北京理工大学的李海老师提供以下文章,供大家学习与参考。RK-3506开发板开箱ELF-RK3506开发板的核心与底板通过邮票孔方式
    的头像 发表于 01-23 11:12 7484次阅读
    <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</b> - <b class='flag-5'>RK3506</b><b class='flag-5'>开发板</b><b class='flag-5'>上</b>构建AI编程环境

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

    ELF-RK3506开发板作为参赛平台。所有的选题都是采用开放和半开放的方式设定,核心宗旨绝非简单的技术验证,而是重点考察同学们对特定行业的洞察力与实际问题解决能力。我们鼓励参赛团队立足真实行业场景,深挖场景痛点,把所
    的头像 发表于 04-02 09:30 1w次阅读
    <b class='flag-5'>技术</b><b class='flag-5'>贴</b>|如<b class='flag-5'>何在</b>【<b class='flag-5'>RK</b>3588】<b class='flag-5'>ELF</b> 2<b class='flag-5'>开发板</b>上部署小龙虾OpenClaw

    RK3399开发板何在Ubuntu保留文件系统

    通过OK3399-C开发板为大家讲解如何在Ubuntu保留文件系统
    的头像 发表于 09-16 15:01 1748次阅读
    <b class='flag-5'>飞</b><b class='flag-5'>凌</b><b class='flag-5'>RK</b>3399<b class='flag-5'>开发板</b>如<b class='flag-5'>何在</b>Ubuntu保留文件系统

    ELF技术|如何在开发板实现对Java的支持

    Java作为一种功能强大且广泛应用的编程语言,具有广泛的适应性和实用性。在ELF1开发板上集成Java支持,无疑将赋予嵌入式开发者更广阔的选择空间,今天就为各位小伙伴详细解析如何在
    的头像 发表于 03-13 16:47 1264次阅读
    <b class='flag-5'>ELF</b><b class='flag-5'>技术</b><b class='flag-5'>贴</b>|如<b class='flag-5'>何在</b><b class='flag-5'>开发板</b><b class='flag-5'>上</b><b class='flag-5'>实现</b>对Java的支持

    ElfBoard技术|如何在ELF 1开发板搭建流媒体服务器

    流媒体服务器是一种专门用于传输实时数据流的服务器软件,广泛用于视频直播、视频会议、音频播放等应用场景。在嵌入式开发领域,将流媒体服务器部署到开发板可以实现诸如视频监控、实时数据传输等
    的头像 发表于 08-20 14:48 1559次阅读
    <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</b> 1<b class='flag-5'>开发板</b><b class='flag-5'>上</b>搭建流媒体服务器

    RK3506J行业首发!嵌入式FET3506J-S核心亮相2024工博会

    一同重磅亮相。 嵌入式FET3506J-S核心基于瑞芯微RK3506J处理器开发设计,该处
    的头像 发表于 09-30 13:33 1540次阅读
    <b class='flag-5'>RK3506</b>J行业首发!<b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式FET<b class='flag-5'>3506</b>J-S核心<b class='flag-5'>板</b>亮相2024工博会

    基于小RK2206开发板:OpenHarmony如何使用IoT接口控制GPIO外设

    1、案例简介本案例主要是如何在派-RK2206开发板使用IOT库的GPIO接口,进行
    的头像 发表于 04-11 15:36 2217次阅读
    基于小<b class='flag-5'>凌</b>派<b class='flag-5'>RK</b>2206<b class='flag-5'>开发板</b>:OpenHarmony如何使用IoT接口控制<b class='flag-5'>GPIO</b>外设

    基于小RK2206开发板:OpenHarmony如何使用IoT接口控制GPIO中断

    1、实验简介本实验将演示如何在派-RK2206开发板使用IOT库的GPIO中断模式,进行
    的头像 发表于 04-21 10:39 1215次阅读
    基于小<b class='flag-5'>凌</b>派<b class='flag-5'>RK</b>2206<b class='flag-5'>开发板</b>:OpenHarmony如何使用IoT接口控制<b class='flag-5'>GPIO</b>中断

    RK3506开发板Linux开发板极致性价比之选

    RK3506开发板Linux开发板极致性价比之选瑞芯微RK3506开发板,3核Cortex-A7@1.5GHz+Cortex-M0,Linu
    的头像 发表于 09-11 16:26 3769次阅读
    <b class='flag-5'>RK3506</b><b class='flag-5'>开发板</b>Linux<b class='flag-5'>开发板</b>极致性价比之选

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

    RK3588】ELF2开发板GPIO引脚为例,详细阐述从硬件查找到软件配置的完整流程。1.引脚确认在开始配置之前,首先需要了解【RK35
    的头像 发表于 12-29 10:37 1373次阅读
    <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'>RK</b>3588】<b class='flag-5'>ELF</b> 2<b class='flag-5'>开发板实现</b><b class='flag-5'>GPIO</b>功能<b class='flag-5'>复用</b>

    嵌入式旗下教育品牌推出RV1126B\RK3506B\RK3576新品开发板

    嵌入式旗下教育品牌ElfBoard在本周推出了3款新品开发板,所有产品均搭载瑞芯微处理器,覆盖AI视觉、边缘AI和进阶学习等多个场景,为不同需求的用户提供学习与实践的多维度支撑。不
    的头像 发表于 01-09 10:09 1644次阅读
    <b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式旗下教育品牌推出RV1126B\<b class='flag-5'>RK3506</b>B\<b class='flag-5'>RK</b>3576新品<b class='flag-5'>开发板</b>

    【超值首选!仅88元】ELF-RK3506开发板限时优惠震撼来袭

    ElfBoard特别推出了ELF-RK3506开发板,助力大家快速掌握实际应用场景下的嵌入式Linux开发技能。【性能卓越,技术领先】
    的头像 发表于 01-16 16:41 1285次阅读
    【超值首选!仅88元】<b class='flag-5'>ELF-RK3506</b><b class='flag-5'>开发板</b>限时优惠震撼来袭

    ElfBoard技术|借助AI编程,轻松搞定ELF-RK3506开发板上光照传感器的数据读取

    特别感谢北京理工大学的李海老师提供以下文章,供大家学习与参考。一篇文章介绍了在ELF-RK3506开发板搭建AI编程环境的方法,但测试场景较为简单,生成的代码与硬件无关。本文将挑战
    的头像 发表于 01-29 16:55 1578次阅读
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技术</b><b class='flag-5'>贴</b>|借助AI编程,轻松搞定<b class='flag-5'>ELF-RK3506</b><b class='flag-5'>开发板</b>上光照传感器的数据读取