rk3588(七):GPIO简介及使用


Chapter1 rk3588(七):GPIO简介及使用

原文链接:https://blog.csdn.net/qq_32636415/article/details/134918848

1、GPIO电路

在 RK3588 中,有只支持 1.8V,和支持 1.8V/3.3V 两种电压可配置,共两种类型的 GPIO。

在这里插入图片描述

GPIO Pin 名说明

在这里插入图片描述

GPIO驱动能力

在这里插入图片描述

2、GPIO引脚计算

Core-3588J 有 5 组 GPIO bank:GPIO0~GPIO4,每组又以 A0~A7, B0~B7, C0~C7, D0~D7 作为编号区分,常用以下公式计算引脚:

GPIO pin脚计算公式:pin = bank * 32 + number

GPIO 小组编号计算公式:number = group * 8 + X

下面演示GPIO1_D0 pin脚计算方法:

bank = 1; //GPIO1_D0 => 1, bank ∈ [0,4]

group = 3; //GPIO1_D0 => 3, group ∈ {(A=0), (B=1), (C=2), (D=3)}

X = 0; //GPIO1_D0 => 0, X ∈ [0,7]

number = group * 8 + X = 3 * 8 + 0 = 24

pin = bank*32 + number= 1 * 32 + 24 = 56;

3、GPIO测试

:/ # ls /sys/class/gpio/
export     gpiochip128  gpiochip32   gpiochip64  unexport
gpiochip0  gpiochip200  gpiochip509  gpiochip96

:/ # echo 56 > /sys/class/gpio/export

:/ # ls /sys/class/gpio/
export  gpiochip0    gpiochip200  gpiochip509  gpiochip96
gpio56  gpiochip128  gpiochip32   gpiochip64   unexport

:/ # ls /sys/class/gpio/gpio56
active_low  device  direction  edge  power  subsystem  uevent  value

:/ # cat /sys/class/gpio/gpio56/direction
in

:/ # cat /sys/class/gpio/gpio56/value
0

用户态使用 GPIO

1、申请 GPIO

echo 13 > /sys/class/gpio/export

2、配置引脚方向

查看默认引脚方向:

cat /sys/class/gpio/gpio13/direction

配置成输出方向:

echo out > /sys/class/gpio/gpio13/direction

3、配置引脚输出电平

从前面的原理图可知,输出高电平为点亮 LED:

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

熄灭 LED:

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

参考:

GPIO 使用 — Firefly Wiki

在这里插入图片描述

Chapter2 基于RK3568的Linux驱动开发——GPIO知识点(一)

原文链接

在这里插入图片描述
在这里插入图片描述

Chapter3 RK3568驱动指南|第十二篇 GPIO子系统-第130章 GPIO的调试方法

原文链接:https://blog.csdn.net/BeiJingXunWei/article/details/135569175

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工智能应用。RK3568 支持安卓 11 和 linux 系统,主要面向物联网网关、NVR 存储、工控平板、工业检测、工控盒、卡拉 OK、云终端、车载中控等行业。

【公众号】迅为电子

【粉丝群】824412014(加群获取驱动文档+例程)

【视频观看】嵌入式学习之Linux驱动(第十二篇 GPIO子系统_全新升级)_基于RK3568

【购买链接】迅为RK3568开发板瑞芯微Linux安卓鸿蒙ARM核心板人工智能AI主板

第130章 GPIO的调试方法

GPIO的调试方法除了使用IO命令去查看寄存器,还可以使用其他方法进行GPIO的调试。

130.1 方法一

debugfs是Linux内核提供的一个调试文件系统,可以用于查看和调试内核中的各种信息,包括GPIO的使用情况。通过挂载debugfs文件系统,并查看/sys/kernel/debug/目录下的相关文件,可以获取GPIO的状态,配置和其他调试信息。如下图所示,我们进入/sys/kernel/debug/目录下。

在这里插入图片描述
图130-1

如果上图目录/sys/kernel/debug目录下没有文件,需要在Linux内核源码配置debugfs,如下图所示:

在这里插入图片描述
图130-2

配置好之后,重新编译内核源码,烧写内核镜像。

如果没有debugfs,可以使用以下命令进行挂载:

mount -t debugfs none /sys/kernel/debug/

如果有debugfs,可以使用以下命令查看GPIO的信息。

cat /sys/kernel/debug/gpio

在这里插入图片描述
图130-3

130.2 方法二

当你进入/sys/kernel/debug/pinctrl目录时,你可以获取有关GPIO控制器的调试信息。在该目录下,通常会有以下文件和目录:

  1. /sys/kernel/debug/pinctrl/*/pinmux-pins:这些文件列出了每个GPIO引脚的引脚复用配置。你可以查看每个引脚的功能模式、引脚复用选择以及其他相关的配置信息。我们进入到/sys/kernel/debug/pinctrl/pinctrl-rockchip-pinctrl/下面,输入“cat pinmux-pins”,如下图所示:
    在这里插入图片描述
    图130-4

  2. /sys/kernel/debug/pinctrl/*/pins:这些文件列出了GPIO的引脚编号,可以查看GPIO编号。我们进入到/sys/kernel/debug/pinctrl/pinctrl-rockchip-pinctrl/下面,输入“cat pins”,如下图所示:
    在这里插入图片描述
    图130-6

  3. /sys/kernel/debug/pinctrl/*/pinmux-functions:这些文件列出了每个功能模式的名称以及与之关联的GPIO引脚。你可以查看各个功能模式的名称和对应的引脚列表。我们进入到/sys/kernel/debug/pinctrl/pinctrl-rockchip-pinctrl/下面,输入“cat pinmux-functions”,如下图所示:
    在这里插入图片描述
    图130-7

  4. /sys/kernel/debug/pinctrl/*/pingroups:该路径提供有关用于配置和控制系统上的 GPIO引脚的引脚组的信息。我们进入到/sys/kernel/debug/pinctrl/pinctrl-rockchip-pinctrl/下面,输入“cat pingroups”,如下图所示:

在这里插入图片描述
图130-8

  1. /sys/kernel/debug/pinctrl/*/pinconf-pins:这些文件包含了GPIO引脚的配置信息,如输入/输出模式、上拉/下拉设置等。你可以查看和修改GPIO的电气属性,以便进行GPIO的调试和配置。我们进入到/sys/kernel/debug/pinctrl/pinctrl-rockchip-pinctrl/下面,输入“cat pinconf-pins”,如下图所示:

在这里插入图片描述
图130-9

在这些文件和目录中,你可以浏览GPIO控制器和引脚的相关信息,包括功能模式、复用配置、范围和配置参数等。这些信息可以帮助你了解GPIO的当前状态和配置,并进行相应的调试和修改。

Chapter4 RK3568驱动指南|第十二篇 GPIO子系统-第128章 GPIO入门实验

原文链接:https://blog.csdn.net/BeiJingXunWei/article/details/135566028

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值