首页 游戏 软件 资讯 排行榜 专题
首页
AI资讯
RK3588开发板I2C功能复用配置与实现方法

RK3588开发板I2C功能复用配置与实现方法

热心网友
28
转载
2026-05-27

在嵌入式系统开发中,如何高效利用有限的芯片引脚资源是硬件设计的关键挑战。IOMUX(输入输出复用)技术为此提供了解决方案,它允许开发者通过软件配置,将同一物理引脚灵活切换为GPIO、UART、I2C或SPI等不同功能接口。这极大地提升了硬件设计的灵活性和扩展性,但具体的配置流程往往因不同的SoC平台而异。

本文将以【RK3588】ELF 2开发板为例,为你详细解析I2C6引脚功能复用的完整配置流程。从查阅硬件规格、修改设备树源码,到最终的驱动加载与功能测试,每一步都将提供清晰的操作指引,帮助你快速掌握RK3588平台的IOMUX配置方法。

1. 硬件引脚确认

在开始软件配置之前,首先需要明确开发板的硬件资源。ELF 2开发板提供了两个标准排针接口:一个是兼容树莓派的40Pin 2.54mm连接器,集成了I2C、SPI、UART等常用外设接口;另一个是20Pin 2.54mm连接器,额外引出了SARADC、PWM等扩展功能。

进行引脚复用时,一个重要的原则是优先选择这两个标准连接器上的引脚。这样做的好处是接线方便,无需飞线或焊接,能显著提高原型开发与测试的效率。

1.1 查阅引脚复用功能表

第一步,需要在官方提供的资料中找到引脚复用功能表。该文件通常位于开发板资料包的以下路径:ELF 2开发板资料包\5-硬件资料\5-4 管脚分配表

打开该表格,可以看到从Alt0到Alt9共10列,这代表了每个物理引脚最多可被配置的10种备选功能(部分未启用的功能列为空)。我们的目标是在其中搜索“I2C6”相关的功能定义。

经过筛选,会发现支持I2C6功能的引脚有多组。但结合“优先使用标准接口”的原则,我们最终锁定P4连接器上的P4_38和P4_40引脚。具体来说,P4_38引脚可复用为I2C6_SCL_M4,而P4_40引脚则可复用为I2C6_SDA_M4。

1.2 匹配原理图网络标号

仅有逻辑引脚编号还不够,我们需要在硬件原理图上找到它们对应的芯片级网络标号。原理图文件通常位于:ELF 2开发板资料包\5-硬件资料\5-0 PDF原理图

在原理图中,“P4”代表第4号连接器。定位到其38号和40号引脚后,可以看到对应的网络标号信息:

  • P4_38引脚对应:GPIO2_C4--GPIO3_A1(注:左侧为RK3576开发板引脚功能,右侧为RK3588芯片引脚功能)
  • P4_40引脚对应:GPIO2_C3--GPIO3_A0

这里我们关注的是RK3588芯片本身的功能引脚,即GPIO3_A1和GPIO3_A0。

1.3 定位底板物理接口

最后一步,是将芯片引脚映射到底板上的实际物理接口位置。核心板的功能正是通过这些连接器传输到底板的。

在原理图中分别搜索网络标号“GPIO2_C4--GPIO3_A1”和“GPIO2_C3--GPIO3_A0”,可以定位到它们在底板上的对应关系:

  • GPIO2_C4--GPIO3_A1(即P4_38)对应到底板P26接口的第32引脚。
  • GPIO2_C3--GPIO3_A0(即P4_40)对应到底板P26接口的第35引脚。

至此,硬件引脚确认完毕:我们将使用底板P26接口的第32脚作为I2C6_SCL,第35脚作为I2C6_SDA。

2. 内核源码与设备树适配

硬件连接通路理清后,接下来需要通过软件配置,让Linux系统识别并正确驱动这些引脚。这主要涉及设备树中的IOMUX引脚复用配置和I2C设备节点的启用。

2.1 配置IOMUX引脚复用

首先,需要在内核设备树中配置引脚的复用功能。打开RK3588的引脚控制设备树文件:

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

在该文件中,我们可以找到UART3等外设的定义。实际上,我们需要的i2c6m4_xfer节点配置已经存在,它明确将GPIO3_A1和GPIO3_A0配置为了I2C6功能。具体的配置内容如下:

2.2 启用I2C设备节点

引脚复用配置好后,还需要在板级设备树中启用I2C6控制器节点,并挂载我们的设备。打开ELF 2开发板通用的设备树文件:

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

在文件中找到或添加I2C6的节点配置,引用我们刚才确认的i2c6m4_xfer引脚配置,并将状态设置为“okay”。同时,我们可以在该I2C总线节点下,添加一个光线传感器(以BH1750为例)的子节点。配置示例如下:

&i2c6 {
    status = "okay";
    pinctrl-0 = <&i2c6m4_xfer>;
    bh1750: bh1750@23 {
        compatible = "elfboard,bh1750";
        reg = <0x23>;
        status = "okay";
    };
};

2.3 编译内核镜像

设备树配置修改完成后,需要重新编译内核,生成包含新配置的镜像文件。在Linux内核源码根目录下执行编译命令:

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

编译成功后,在kernel目录下会生成新的boot.img内核镜像文件,用于后续烧录。

3. 系统烧录与基础验证

将新编译的boot.img镜像烧录到开发板。系统启动后,首先验证I2C6控制器是否已被内核正确识别和注册。在开发板的终端中执行以下命令:

root@elf2-buildroot:~# ls /dev/i2c-*

如果配置成功,输出的设备节点列表中应该会出现/dev/i2c-6,这表明I2C6总线驱动已成功加载。

4. 外设驱动与功能测试

系统层面成功识别I2C总线后,接下来我们通过连接一个实际的光线传感器(BH1750)来测试其通信功能是否正常。

4.1 测试硬件连接

首先,准备好测试驱动和应用程序。然后,按照以下方式连接硬件:

  • 传感器 SDA 引脚连接 开发板 I2C6_SDA (底板P26接口第35引脚)
  • 传感器 SCL 引脚连接 开发板 I2C6_SCL (底板P26接口第32引脚)
  • 传感器 VCC 引脚连接 开发板 3.3V 电源 (底板P26接口第1引脚)
  • 传感器 GND 引脚连接 开发板 GND 地线 (底板P26接口第6引脚)

4.2 编译内核驱动模块

将驱动源码(bh1750.c, Makefile)和应用测试源码(bh1750app.c)拷贝到开发环境的某个工作目录,例如/home/elf/work

4.2.1 配置交叉编译环境

首先,设置交叉编译工具链的路径:

elf@ubuntu:~/work$ export PATH=$PATH:/home/elf/aarch64-buildroot-linux-gnu_sdk-buildroot/usr/bin

然后,修改Makefile文件,主要确认两点:1)内核源码路径(KERNEL_DIR)是否正确;2)交叉编译工具前缀(CROSS_COMPILE)是否指向你的工具链。修改示例如下图:

4.2.2 执行编译

在驱动源码目录下执行make命令,即可生成bh1750.ko内核驱动模块文件。

4.3 编译测试应用程序

使用交叉编译工具链编译测试应用程序:

elf@ubuntu:~/work$ aarch64-linux-gcc bh1750app.c -o bh1750app
elf@ubuntu:~/work$ file bh1750app

使用file命令可以确认生成的可执行文件是ARM 64位架构,确保它能在RK3588开发板上运行。

4.4 在开发板上进行功能测试

将编译好的bh1750.ko驱动模块和bh1750app测试程序拷贝到开发板文件系统中。首先加载驱动模块:

root@elf2-buildroot:~# insmod bh1750.ko

加载成功后,检查/dev目录下是否生成了对应的设备节点/dev/bh1750。最后,运行测试程序读取传感器数据:

root@elf2-buildroot:~# ./bh1750app /dev/bh1750

如果终端能成功打印出当前环境的光线强度数值(单位通常为lx),那么恭喜你,从硬件引脚确认、软件配置、内核编译到驱动测试的完整I2C功能复用流程已全部成功走通。

整个RK3588 IOMUX配置过程步骤清晰,遵循了“先硬件后软件,先配置后验证”的逻辑。希望这份基于RK3588 ELF 2开发板的实践指南,能为你解决类似的引脚复用与驱动开发问题提供一个可靠的参考模板。

来源:https://m.elecfans.com/article/7478426.html
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关攻略

RK3588开发板I2C功能复用配置与实现方法
AI资讯
RK3588开发板I2C功能复用配置与实现方法

在嵌入式系统开发中,如何高效利用有限的芯片引脚资源是硬件设计的关键挑战。IOMUX(输入输出复用)技术为此提供了解决方案,它允许开发者通过软件配置,将同一物理引脚灵活切换为GPIO、UART、I2C或SPI等不同功能接口。这极大地提升了硬件设计的灵活性和扩展性,但具体的配置流程往往因不同的SoC平台

热心网友
05.27
     瑞莎星睿O6N发布:全球首款Arm v9主板,32GB国行1499元起
科技数码
瑞莎星睿O6N发布:全球首款Arm v9主板,32GB国行1499元起

10 月 12 日消息,瑞莎(Radxa)最新今日宣布推出全球首款 Arm v9 开源主板 —— 星睿 O6N(O6 Nano 版)。京东 RADXA 瑞莎 Orion O6N ARM V9 开源

热心网友
12.08
收银秤挑选指南:功能、精度与性价比并重
手机教程
收银秤挑选指南:功能、精度与性价比并重

适用于水果、生鲜、熟食、零食、烘焙、称重等场景。1、 第一种类型:串口电子秤配合电子收银机使用。2、 优点是价格便宜,采用单板机无操作系统更加稳定安全,可直接显示重量与金额。3、

热心网友
07.08
keil uvision4破解版安装教程
手机教程
keil uvision4破解版安装教程

keil uvision4 又称 keil4,是由美国 keil software 公司推出的适用于 51 系列兼容单片机的 c 语言开发系统。这款软件因其操作简便的集成环境和强大

热心网友
07.03
keil uvision2怎么汉化
手机教程
keil uvision2怎么汉化

keil uvision2 也被称为 keil2,是由美国 keil software 公司推出的适用于 51 系列兼容单片机的 c 语言开发系统。它因操作简便、学习门槛低而受到众

热心网友
06.30

最新APP

宝宝过生日
宝宝过生日
应用辅助 04-07
台球世界
台球世界
体育竞技 04-07
解绳子
解绳子
休闲益智 04-07
骑兵冲突
骑兵冲突
棋牌策略 04-07
三国真龙传
三国真龙传
角色扮演 04-07

热门推荐

比特币转错地址如何找回?实用解决方案与预防指南
web3.0
比特币转错地址如何找回?实用解决方案与预防指南

比特币转错地址后,交易确认即难以撤回,资金可能永久损失。若地址无效转账会被拦截;若转入陌生地址,资产由对方控制,追回困难。补救措施包括:交易未确认时可尝试RBF撤销;转入主流交易所可联系客服;转入个人地址则只能尝试联系持有人。法律追索困难,且需警惕诈骗。预防是关键,应养成小。

热心网友
05.27
AI一键生成PPT:智能Word转PPT工具提升办公效率
AI教程
AI一键生成PPT:智能Word转PPT工具提升办公效率

智能化内容创作:AI一键将Word转为PPT,办公效率革命 在快节奏的现代职场中,如何高效处理文档、将复杂信息转化为专业演示,是提升个人与团队生产力的关键。本文将深入解析智能化内容创作如何革新工作流,并重点介绍如何利用先进的AI工具,实现从Word文档到精美PPT的智能、快速转换,助您轻松应对各类汇

热心网友
05.27
QoderWake手机App下载安装与申请入口指南
AI资讯
QoderWake手机App下载安装与申请入口指南

QoderWake移动端已上线,提供APK下载及核心功能。界面针对触控优化,采用卡片布局与手势操作,适配主流安卓设备。内置轻量级Agent运行时,可独立执行原子任务。通信经平台网关加密中转,确保安全。支持多账号切换与工作空间隔离,安装包小巧、绑定简便,可同步近期任务。具备跨端协同、远程调试、任务接管等功。

热心网友
05.27
麦格纳汽车零部件供应商深度解析
游戏攻略
麦格纳汽车零部件供应商深度解析

PowerBI与Tableau是主流数据可视化工具。PowerBI依托微软生态,侧重与Office集成及标准化报表,适合企业协作与稳定分发。Tableau擅长交互探索与视觉表达,适合深度数据分析和制作动态故事板。两者在定位、学习曲线、数据处理和可视化方面各有侧重,选择需结合团队需求、数据环境及使用场景。

热心网友
05.27
无尽噩梦7幻梦怎么下载 最新版预约安装教程
游戏资讯
无尽噩梦7幻梦怎么下载 最新版预约安装教程

《无尽噩梦7幻梦》开放预约,游戏以东方玄幻为背景,玩家扮演捉鬼师探索梦境与现实。玩法融合探索解谜与多流派技能搭配,强调策略性。虚幻引擎提升画面沉浸感,并加入团队副本与社交功能,提供高清国风恐怖体验。

热心网友
05.27