首页 > 其他分享 >迅为RK3588开发板/核心板 | 在高性能处理器上如何使用GPIO

迅为RK3588开发板/核心板 | 在高性能处理器上如何使用GPIO

时间:2024-09-14 10:54:11浏览次数:9  
标签:控制 LED 引脚 RK3588 pinctrl 开发板 sys 迅为 GPIO

GPIO基本概念

GPIO,即General-Purpose Input/Output,指的是可以由软件控制的通用输入输出引脚。每个GPIO引脚可以配置为输入或输出,用来读取外部设备的状态(如按键)或控制外设(如LED、马达等)

GPIO应用领域

GPIO作为嵌入式设备中不可或缺的接口,在以下多个领域有广泛应用:

● 智能家居:用于控制和监测家电、灯光、窗帘、传感器等智能设备,通过GPIO引脚读取传感器状态或发送控制信号。

● 工业自动化:GPIO用于连接和控制工业机器、机器人、传感器等设备,通过简单的开关控制机制实现自动化流程。

● 物联网(IoT):GPIO在物联网设备中广泛应用,用于与传感器、执行器(如继电器)等设备通信,实现数据采集和设备控制。

● 汽车电子:在车载系统中,GPIO用于与各种车载传感器和执行器连接,提供控制信号,如车灯、门锁、报警器等的控制。

● 机器人技术:GPIO用于控制机器人中的电机、传感器和其他外部设备,实现精准的硬件控制和反馈处理。

迅为RK3588开发板/核心板 | 在高性能处理器上如何使用GPIO_复用

使用RK3588处理器上的GPIO接口

在RK3588平台上,GPIO的使用非常灵活,既可以通过内核提供的sysfs接口进行控制,也可以通过debugfs进行调试。下面我们将介绍如何通过这两种方式来操作GPIO。

01

GPIO选择

迅为RK3588开发板/核心板 | 在高性能处理器上如何使用GPIO_复用_02

可以看到5号管脚的网络标号为UART9_RX_M0_BT,然后打开pin脚复用手册,根据这个网络标号进行搜索,查找到的复用内容如下所示:

迅为RK3588开发板/核心板 | 在高性能处理器上如何使用GPIO_输出模式_03

可以看到GPIO引脚编号GPIO2_C4,我们将LED的正极连接到这GPIO,负极连接到GND。

02

使用sysfs接口控制GPIO

GPIO软件编程方式有多种,可以写驱动程序调用GPIO函数操作GPIO,也可以直接通过操作寄存器的方式操作GPIO,还可以通过sysfs方式实现对GPIO的控制。

sysfs接口是Linux内核提供的一种标准方式,允许用户在用户空间操作GPIO。通过简单的命令行操作,就可以控制GPIO引脚,点亮或熄灭LED。这里我们使用较为简单的用户空间控制GPIO的方法,通过配置GPIO为输出模式,向其写入高电平(1)或低电平(0)来控制LED的开关。

▸引脚号计算

引脚编号=控制寄存器的寄存器基数+控制引脚寄存器位数。

GPIO2_PC4 pin脚计算方法:

bank = 2;       //GPIO2_C4=> 2, bank ∈ [0,4]group = 2;      //GPIO2_C4 => 2, group ∈ {(A=0), (B=1), (C=2), (D=3)}X = 4;         //GPIO2_C4=>4, X ∈ [0,7]number = group * 8 + X = 2 * 8 + 4 =20;pin = bank*32 + number= 2 * 32 + 20 = 84;

▸ 导出GPIO引脚

echo 84 > /sys/class/gpio/export

迅为RK3588开发板/核心板 | 在高性能处理器上如何使用GPIO_引脚_04

▸ 配置GPIO为输出模式

接下来,设置该GPIO引脚为输出模式:

echo "out" > /sys/class/gpio/gpio84/direction         

迅为RK3588开发板/核心板 | 在高性能处理器上如何使用GPIO_输出模式_05

▸ 控制LED开关

通过向GPIO的value文件写入1或0来控制LED的状态:

打开LED:

echo 1 > /sys/class/gpio/gpio84/value

迅为RK3588开发板/核心板 | 在高性能处理器上如何使用GPIO_引脚_06

关闭LED:

echo 0 > /sys/class/gpio/gpio84/value

迅为RK3588开发板/核心板 | 在高性能处理器上如何使用GPIO_输出模式_07

▸ 释放GPIO引脚

使用完毕后,可以将GPIO从用户空间移除:

echo 84 > /sys/class/gpio/unexport

迅为RK3588开发板/核心板 | 在高性能处理器上如何使用GPIO_引脚_08

03

GPIO调试

在更高级的调试场景中,debugfs文件系统提供了对GPIO引脚状态和复用情况的深入查看和调试能力。可以通过以下步骤获取GPIO的详细信息:

▸ 查看GPIO的输入/输出模式、上拉/下拉设置等电气属性

cat /sys/kernel/debug/pinctrl/pinctrl-rockchip-pinctrl/pinconf-pins | grep 84

迅为RK3588开发板/核心板 | 在高性能处理器上如何使用GPIO_引脚_09

▸ 查看每个引脚的功能模式、引脚复用选择以及其他相关的配置信息

cat /sys/kernel/debug/pinctrl/pinctrl-rockchip-pinctrl/pinmux-pins | grep 84

迅为RK3588开发板/核心板 | 在高性能处理器上如何使用GPIO_复用_10

通过这个文件,你可以确认每个引脚的当前复用配置,例如某个引脚可能被复用为UART、SPI等设备的控制引脚。如果想要重新配置为GPIO引脚,可以通过设备树进行调整。

标签:控制,LED,引脚,RK3588,pinctrl,开发板,sys,迅为,GPIO
From: https://blog.51cto.com/u_15741872/12015217

相关文章

  • 【新品上市】正点原子ZYNQ7015开发板发布!ZYNQ 7000系列、双核ARM、PCIe2.0、SFPX2,性能
    【新品发布】正点原子ZYNQ7015开发板发布!ZYNQ7000系列、双核ARM、PCIe2.0、SFPX2,性能强悍,资料丰富!正点原子Z15ZYNQ开发板,搭载XilinxZynq7000系列芯片,核心板主控芯片的型号是XC7Z015CLG485-2。开发板由核心板+底板组成,外设资源丰富,板载1路PS端千兆以太网接口、PCle2.0x2、SFP光......
  • 【北京迅为】itop-龙芯2k1000 sylixos 嵌入式实时系统烧写手册-第三章工具使用
     迅为itop-龙芯2k1000开发板  硬件配置:国产龙芯处理器,双核64位系统,板载2GDDR3内存,流畅运行Busybox、Buildroot、Loognix、QT5.12系统!接口:板载4路USBHOST、2路千兆以太网、2路UART、2路CAN总线、MiniPCIE、SATA固态盘接口、4G接口、GPS接口、WIFI、蓝牙、MiniHDMI......
  • OpenHarmony 明星开发板和应用招募启动,等你来!
    为助力企业和开发者快速找到好用的开发板和应用,推动OpenHarmony生态发展,现启动 “OpenHarmony明星开发板和应用招募”评选活动!本次活动旨在为OpenHarmony生态树立优秀标杆,活动将围绕OpenHarmony的开发板和应用展开,历经报名、初选、复选、公示四个阶段,最终评选出的优秀开发板......
  • ESP8266 开发板 带 0.96 OLED显示屏
     市面上有两种板子主要区别在于IIC通讯引脚不一样:第1款:SCL为12  /*D5=SCL=GPIO12*/SDA为14  /*D6=SDA=GPIO14*/第2款:SCL为5  /*D1=SCL=GPIO5*/SDA为4  /*D2=SDA=GPIO4*/先发第一款效果图示注意红色字体里的局部配置信息。#defineSCL12/*D5=SC......
  • 【北京迅为】iTOP-i.MX6开发板使用手册第四部分固件编译第十四章非设备树Android4.4系
     可根据用户需求更换,百变定制,高端产品无忧! 迅为IMX6Q兼容四核商业级、双核商业级、四核工业级、更可提供i.MX6Q家族PLUS版本核心板。核心板采用十层PCB沉金盲埋设计,更能保证电磁兼容与系统稳定。 公众号:迅为电子 -----------------------------------------   ......
  • 快人一步迅为LPDDR5版本瑞芯微RK3588核心板升级了
    性能强--iTOP-3588开发板采用瑞芯微RK3588处理器,是全新一代ALoT高端应用芯片,采用8nmLP制程,搭载八核64位CPU,四核Cortex-A76和四核Cortex-A55架构,主频高达2.4GHZ,8GB内存,32GBEMMC。四核心架构GPU--集成MaliG610MP4四核GPU、支持OpenGLES1.1、2.0、3.2OpenCL2.2和Vulkan1.2。带有M......
  • 基于FPGA与RK3588的多通道低延时3G-SDI视频信号
    目录简介主要用途:项目简介:详细过程:BT1120视频时序转CEA861视频像素编码格式转换低延时处理MIPI接口处理视频处理模块​​​​​​​简介主要解决 RK3588支持多种视频格式输入,但是没有支持多路SDI接口的设计方案,系统利用实现四路SDI视频图像的采集。传输。处理,以......
  • 【北京迅为】i.mx8mm嵌入式linux开发指南第四篇 嵌入式Linux系统移植篇第六十八章u-bo
      迅为i.mx8mm开发板特点: 性能强:i.MX8MM处理器采用了先进的14LPCFinFET工艺,提供更快的速度和更高的电源效率;四核Cortex-A53,单核Cortex-M4,多达五个内核,主频高达1.8GHz,2GDDR4内存、8GEMMC存储。 PMIC:采用PCA9450A电源管理,是NXP全新研制配套iMX.8M的电源管理芯片,有六个......
  • 【北京迅为】itop-3562开发板快速测试手册第1章 Android13系统功能测试
    iTOP-3562开发板采用瑞芯微RK3562处理器,主频2.0GHz,采用四核A53+MaliG52架构,主频2GHz,内置1TOPSNPU算力,具有多个嵌入式硬件引擎,以优化高端应用的性能。   公众号:迅为电子--------------------------------    第 1章Android13系统功能测试烧写安卓 13 系统镜像,安卓 1......
  • 易百纳ss928开发板移植自训练模型跑通yolov5算法
    ss928平台移植官方yolov5s算法参考文章:https://www.ebaina.com/articles/140000017418,这位大佬也开源了代码,gitee链接:https://gitee.com/apchy_ll/ss928_yolov5s本文在参考上述文章的基础上,将官方yolov5s模型跑通,验证推理图片正确,然后移植自训练的推理模型,在移植过程中遇到了一些......