#全开开kernel log
echo "8" > /proc/sys/kernel/printk #打开gpiolib 动态调试
echo 'file gpiolib.c +p' > /sys/kernel/debug/dynamic_debug/control #通过GPIO号申请GPIO
echo 93 > /sys/class/gpio/export #查看kernel日志
dmesg | grep gpiod_request
#或者
cat /proc/kmsg | grep gpiod_request

输出结果如下:
[50143.858326] c3 gpio-235 (Volume Up Key): gpiod_request: status -16

那么我们只需要到内核代码中搜索 Volume Up Key 这个关键字,就能找到冲突。另外,申请的GPIO号可能会有偏移,我们可以通过 cat /sys/kernel/debug/gpio 来查看已经申请到的GPIO在内核中显示的GPIO号,将这个显示的GPIO号减去代码中实际配置的GPIO号就是GPIO号偏移了。

快速定位Linux 内核驱动中GPIO冲突的更多相关文章

  1. 嵌入式C语言自我修养 02:Linux 内核驱动中的指定初始化

    2.1 什么是指定初始化 在标准 C 中,当我们定义并初始化一个数组时,常用方法如下: ] = {,,,,,,,,}; 按照这种固定的顺序,我们可以依次给 a[0] 和 a[8] 赋值.因为没有对 a ...

  2. Linux内核驱动之GPIO子系统API接口概述

    1.前言 在嵌入式Linux开发中,对嵌入式SoC中的GPIO进行控制非常重要,Linux内核中提供了GPIO子系统,驱动开发者在驱动代码中使用GPIO子系统提供的API函数,便可以达到对GPIO控制 ...

  3. Linux内核驱动之GPIO子系统(一)GPIO的使用

    转自:http://blog.csdn.net/mirkerson/article/details/8464290 一 概述 Linux内核中gpio是最简单,最常用的资源(和 interrupt , ...

  4. linux内核驱动中对字符串的操作【转】

    转自:http://www.360doc.com/content/12/1224/10/3478092_255969530.shtml Linux内核中关于字符串的相关操作,首先包含头文件: #inc ...

  5. Linux内核驱动之GPIO子系统(一)GPIO的使用【转】

    转自:http://blog.csdn.net/tommy_wxie/article/details/9427047 一 概述 Linux内核中gpio是最简单,最常用的资源(和 interrupt  ...

  6. linux内核驱动中对文件的读写 【转】

    本文转载自:http://blog.chinaunix.net/uid-13059007-id-5766941.html 有时候需要在Linux kernel--大多是在需要调试的驱动程序--中读写文 ...

  7. linux内核驱动中_IO, _IOR, _IOW, _IOWR 宏的用法与解析

    在驱动程序里, ioctl() 函数上传送的变量 cmd 是应用程序用于区别设备驱动程序请求处理内容的值.cmd除了可区别数字外,还包含有助于处理的几种相应信息. cmd的大小为 32位,共分 4 个 ...

  8. linux内核驱动中_IO, _IOR, _IOW, _IOWR 宏的用法与解析(引用)

    在驱动程序里, ioctl() 函数上传送的变量 cmd 是应用程序用于区别设备驱动程序请求处理内容的值.cmd除了可区别数字外,还包含有助于处理的几种相应信息. cmd的大小为 32位,共分 4 个 ...

  9. Linux内核驱动学习(六)GPIO之概览

    文章目录 前言 功能 如何使用 设备树 API 总结 前言 GPIO(General Purpose Input/Output)通用输入/输出接口,是十分灵活软件可编程的接口,功能强大,十分常用,SO ...

  10. Linux内核驱动学习(八)GPIO驱动模拟输出PWM

    文章目录 前言 原理图 IO模拟输出PWM 设备树 驱动端 调试信息 实验结果 附录 前言 上一篇的学习中介绍了如何在用户空间直接操作GPIO,并写了一个脚本可以产生PWM.本篇的学习会将写一个驱动操 ...

随机推荐

  1. 学习JavaScript第五天

    文章目录 1.HTML DOM 1.1 表单相关元素 ① form 元素 ② 文本输入框类和文本域(input 和 textarea) ③ select 元素 1.2 表格相关元素 ① table 元 ...

  2. 负载均衡在web系统中的应用

    在日常的架构设计与开发中,常用的负载均衡算法主要分为静态和动态两类.静态负载算法以固定的频率分配任务不考虑服务器的状态信息,如轮询法.随机法等:动态负载均衡算法以服务器的实时负载状态信息来决定任务的分 ...

  3. downloadFile:base64数据导出文件,文件下载

    function downloadFile(filename, data){ let DownloadLink = document.createElement('a'); if ( Download ...

  4. html中input标签放入小图标

    直接上代码 <style type="text/css"> *{ margin: 0; padding: 0; } .box{ width: 200px; positi ...

  5. 李继刚Lisp提示词灵感之源:压缩推动进步

    前面在文章< 访谈李继刚:从哲学层面与大模型对话 >中提到,继刚总结去年写提示词的核心理念是"清晰表达",而今年则是"压缩表达",既而才有火爆全网的 ...

  6. php 读取 csv 转数组列表

    我们有个文档需要修改,但是文档列太多,以及数量太大,以至于眼睛看起来很吃力,于是我决定做个简单的转化用脚本读取我想要验证的列的内容是否正确. 于是就产生了一个这样将csv快速的转为数组列表的功能函数 ...

  7. golang之context

    context 用来解决 goroutine 之间退出通知.元数据传递的功能. context 使用起来非常方便.源码里对外提供了一个创建根节点 context 的函数: func Backgroun ...

  8. tmux之常见问题

    1. 使用tmux ls的时候显示错误 failed to connect to server: Connection refused 解决: 查看进程是否存在 ps -aux|grep tmux 发 ...

  9. Winform多线程持续读取PLC数据

    1.Winform窗体界面 2.后台代码 点击查看代码 using Modbus.Device; using System; using System.Collections.Generic; usi ...

  10. taro 编译报:模块引入顺序不一致报错

    前情 最近在开发一个小程序项目,基于公司的技术栈是React,于是使用Taro来开发小程序. 坑位 在开发中经常性的报类似如下的错误,大致意思是说你引入模块的顺序在不同模块中不一致 Why? 主要是m ...