了解!你使用的是 Rockchip RK3588S 平台,需要操作 GPIO3_D5_d 这个引脚(即 MCU_JTAG_TMS_M1/.../GPIO3_D5_d)。以下是基于你提供的系统信息的具体操作步骤


🔍 第一步:确认 GPIO 系统编号

在 RK3588 芯片中,GPIO 编号规则为:
GPIO 全局编号 = bank编号 × 32 + 组内序号

根据引脚 GPIO3_D5

  • bank 编号:3(对应 GPIO3)
  • 组内序号:D5 = 5 + 24 = 29(D组偏移24)
    RK3588 GPIO分组:A=0~7, B=8~15, C=16~23, D=24~31

👉 计算 GPIO 全局编号
3 × 32 + 29 = 125
你需要操作的 GPIO 编号是 125


⚙️ 第二步:操作 GPIO(两种方法)

方法1:通过 sysfs 文件系统(直接操作)
# 1. 导出 GPIO125(激活控制权限)
echo 125 > /sys/class/gpio/export# 2. 查看生成的 GPIO 目录(确保出现 gpio125)
ls /sys/class/gpio# 3. 进入 GPIO125 目录
cd /sys/class/gpio/gpio125# 4. 设置为输出模式
echo out > direction# 5. 拉高电平
echo 1 > value# 6. 拉低电平
echo 0 > value# 完成后取消导出(可选)
echo 125 > /sys/class/gpio/unexport
方法2:使用 libgpiod 工具(推荐更可靠的方式)
# 1. 安装工具包
sudo apt update
sudo apt install gpiod# 2. 查找 GPIO 对应的芯片编号(GPIO3 属于 gpiochip96)
gpiodetect  # 输出示例:# gpiochip0 [......]# gpiochip96 [......]   # ← GPIO3 在这里# 3. 操作 GPIO:
# 语法:gpioset <芯片名> <组内序号>=<值>
gpioset gpiochip96 29=1  # 拉高(D5 = 组内偏移29)
gpioset gpiochip96 29=0  # 拉低

⚠️ 关键注意事项

  1. 复用功能冲突
    如果该引脚被设备树配置为其他功能(如 UART9_TX_M2),操作会失败。
    解决方案

    # 查看当前引脚复用状态(需安装 io 工具)
    sudo apt install rockchip-io
    rockchip_io -p PD5   # PD5 对应 GPIO3_D5
    

    若显示 MUX: UART9_TX,需修改设备树将其设为 GPIO

  2. 权限问题

    • 操作 /sys/class/gpio 需要 root 权限
    • 可将用户加入 gpio 组避免 sudo:
      sudo usermod -aG gpio $(whoami)
      # 重启后生效
      
  3. 快速电平切换限制
    sysfs 最大频率约 100Hz,如需高速控制需:

    • 编写内核驱动
    • 使用 /dev/mem 直接映射寄存器(高风险,需 root)

📌 操作结果验证

用万用表测量引脚电压:

  • 执行 echo 1 > value → 应显示 3.3V(或 SOC 工作电压)
  • 执行 echo 0 > value → 应显示 0V

💡 提示:若操作失败,检查 dmesg | grep gpio 查看内核报错信息,通常原因包括复用冲突或物理驱动未启用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/90856.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/90856.shtml
英文地址,请注明出处:http://en.pswp.cn/web/90856.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript核心概念全解析

目录 1. 作用域 (1) 局部作用域 (2) 全局作用域 2. 垃圾回收 (1) 引用计数法 (2) 标记清除法 3. 闭包 (1) 作用 (2) 风险 4. 变量提升 (1) var (2) let 和 const (3) const 5. 函数提升 (1) 函数声明 (2) 函数表达式 6. 函数参数 (1) 动态参数 (2) 剩余参数…

力扣刷题(第一百天)

灵感来源 - 保持更新&#xff0c;努力学习- python脚本学习提莫攻击解题思路初始化总中毒时间 total。遍历每次攻击的时间点&#xff08;从第二个开始&#xff09;&#xff1a;计算当前攻击与前一次攻击的时间间隔 gap。若 gap < duration&#xff0c;则本次中毒时间为 gap&…

JMeter 性能测试实战笔记

JMeter 性能测试实战笔记 本文档是一份详细的 JMeter 指南&#xff0c;涵盖了从创建测试计划、执行测试到解读性能结果的全过程。 一、创建测试计划 一个完整的测试计划是执行性能测试的基础。下面将分步介绍如何创建一个针对文件上传接口的测试场景。 第一步&#xff1a;添加线…

图像处理:第二篇 —— 选择镜头的基础知识及对图像处理的影响

一、图像传感器的典型应用图像处理过程大致可分为如下四步&#xff1a;1.拍 摄 按下快门&#xff0c;拍摄图像2.传 送 将图像数据由照相机传送到控制器。3.处 理 前处理 : 对于图像数据进行加工&#xff0c;使其特征更加明显。测算处理 : 根据图像数据对于损…

Linux 系统文件夹结构及用途说明

Linux 系统采用树形文件结构&#xff0c;每个目录都有明确的功能定位&#xff0c;遵循 FHS&#xff08;Filesystem Hierarchy Standard&#xff09; 标准。以下是新安装系统后主要文件夹的用途&#xff1a;一、根目录&#xff08;/&#xff09;核心文件夹1. /bin&#xff1a;基…

[spring6: HttpSecurity]-全新写法

HttpSecurity HttpSecurity 是 Spring Security 中用于配置基于 HTTP 请求的安全策略的核心构建器&#xff0c;支持细粒度控制请求授权、认证、登录、登出、CSRF、CORS、会话管理等安全功能。 package xyz.idoly.demo;import org.springframework.context.annotation.Bean; imp…

MIPI DSI 转 1LVDS ,分辨率1920*1080.

一款桥接芯片&#xff0c;它接收 MP DSI 输入并发送 LVDS 输出。MlPI DSI 支持至多 4 条通道&#xff0c;每条通道的最大传输速率为 1Gbps&#xff0c;总的最大输入带宽为 4Gbps&#xff0c;并且还支持 MlPI 定义的 ULPS&#xff08;超低功耗状态&#xff09;。LVDS 输出采用 V…

墨者:SQL手工注入漏洞测试(MySQL数据库)

一、SQL手工注入漏洞测试(MySQL数据库) 本文以墨者学院靶场为例&#xff0c;演示MySQL数据库的手工SQL注入全过程。靶场以自己的地址为准&#xff1a;http://124.70.64.48:47777/new_list.php?id1 二、注入原理与流程&#xff08;如下指令去掉了id之前的内容&#xff09; M…

idea打开后project窗口未显示项目名称的解决方案

前言 今天上班后&#xff0c;打开了idea发现之前project窗口中的项目都不见了&#xff0c;啥也没有&#xff0c;见下图原因 一般为配置文件*.iml 出错了。 解决方案1 方法1&#xff1a;若知道出错的具体位置与原因&#xff0c;用文本编辑器打开*.iml文件&#xff0c;找到出错位…

不一样的Mysql安装方式

文章目录MySQL介绍与安装MySQL介绍基本安装下载打开网址点击点击选择LTSwindows选择zip压缩包格式&#xff0c;mac OS选择dmg格式。不需要注册登陆网站&#xff0c;直接谢谢&#xff0c;继续下载即可。解压复制bin路径配置环境变量搜索点击环境变量点击用户变量的Path 或 系统变…

MyBatis高级应用实战指南

MyBatis高级应用实例 以下是MyBatis高级应用实例,涵盖复杂查询、动态SQL、插件开发、缓存优化等场景,帮助深入掌握MyBatis核心技术。 动态SQL构建 Example 1: 多条件动态查询 使用<if>和<where>标签实现条件组合: <select id="findUsers" resu…

Xilinx-FPGA-PCIe-XDMA 驱动内核兼容性问题修复方案

问题1&#xff1a;implicit declaration of function "mmiowb()"解决方法&#xff1a;在 libxdma.c 和 cdev_xvc.c 文件中注释掉所有 mmiowb () 函数调用问题2&#xff1a; "macro"access_ok"passed 3 arguments, but takes just 2"解决方法&…

ThreadLocal--ThreadLocal介绍

&#x1f9e0; 一、什么是 ThreadLocal&#xff1f; ThreadLocal 是 Java 提供的一种 线程本地变量机制&#xff1b; 每个线程都维护一份自己的副本&#xff1b; 它不用于多个线程共享变量&#xff0c;而是用于每个线程独立维护自己的变量副本&#xff1b; 常用于&#xff1…

AWS云S3+Glue+EMRonEC2+ReadShift

Amazon S3&#xff08;Amazon Simple Storage Service&#xff09;即亚马逊简单存储服务&#xff0c;是 AWS&#xff08;Amazon Web Services&#xff09;提供的一种对象存储服务&#xff0c;在大数据领域被广泛使用。以下是关于它的详细介绍&#xff1a;基本概念Amazon S3 主要…

OpenLayers 综合案例-轨迹回放

看过的知识不等于学会。唯有用心总结、系统记录&#xff0c;并通过温故知新反复实践&#xff0c;才能真正掌握一二 作为一名摸爬滚打三年的前端开发&#xff0c;开源社区给了我饭碗&#xff0c;我也将所学的知识体系回馈给大家&#xff0c;助你少走弯路&#xff01; OpenLayers…

语音自动生成PPT、思维导图、会议纪要、笔记、大纲、导读等

一、需要用到录音工具&#xff0c;手机端工具&#xff1a;讯飞听见二、需要用到的工具通义&#xff1a;https://www.tongyi.com/discover上传录音&#xff0c;描述一下&#xff0c;让直接给生成PPT就行&#xff0c;点生成就可以生成ppt&#xff0c;对PPT进行导出就行 三、除了生…

【MySQL】脚本化快速搭建跨平台、可定制的MySQL数据库

冗长的废话就省略了&#xff0c;大家看到这篇博客&#xff0c;效果如标题所示&#xff0c;我将提供完整的脚本&#xff0c;并用 「保姆级」的详细步骤&#xff0c;给你提供一个快速搭建跨平台、可定制的 MySQL环境的解决方案。保证无论你是 Linux 服务器管理员、macOS 开发者&a…

MAC包头、IP包头 、UDP包头中的长度含义是啥?三者之间有啥区别?

以太网帧、IP包及TCP与UDP的报文格式 下面用通俗技术的方式详细解释&#xff1a; 1. MAC包头&#xff08;以太网帧头&#xff09;中的长度 字段名称&#xff1a;EtherType/Length位置&#xff1a;以太网帧头的第13、14字节含义&#xff1a; 如果值小于等于1500&#xff08;0x0…

Multiscale Structure Guided Diffusion for Image Deblurring 论文阅读

基于多尺度结构引导扩散模型的图像去模糊 摘要 扩散概率模型&#xff08;Diffusion Probabilistic Models, DPMs&#xff09;最近被用于图像去模糊&#xff0c;其被表述为一个以模糊输入为条件的图像条件生成过程&#xff0c;将高斯噪声映射到高质量图像。当在成对的域内数据上…

git 提交时排除一个或多个文件

前言 在提交文件时&#xff0c;总是有一些文件是不需要提交的&#xff0c;比如机器上的配置文件&#xff0c;日志文件等等&#xff0c;所以在提交时就需要排除这些文件&#xff1b; 第一种方案 git add file1 file2 比如我新添加了3个文件&#xff1a; file1.txt file2.txt fil…