博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux kernel 找到gpio被占用位置
阅读量:5201 次
发布时间:2019-06-13

本文共 555 字,大约阅读时间需要 1 分钟。

一开始是通过断点 printk看哪里申请这个GPIO正常哪里不正常,发现这种方法太繁琐。

经过同事提醒,直接在 drivers/gpio/gpiolib.c 里面的 gpio_request 里面添加调试代码,可以直接得出该GPIO 是在哪调用的。

  • 代码如下:
# drivers/gpio/gpiolib.c    int gpio_request(unsigned gpio, const char *label)    {        // ... ...         if(gpio == 29)         {            printk("-----here : %s ------\n", label);         }        // ... ...    }
  • 这样加入kernel 后就很容易在 LOG中找到大概的位置,找到是在哪被占用,为后续的自己的驱动以及文件系统层的调用提供保障。

  • 然后通过在用户层就可以直接控制该GPIO,可参考:

  • kernel 4.4.12的调用接口是 devm_gpio_request gpio_direction_output

转载于:https://www.cnblogs.com/chenfulin5/p/6744156.html

你可能感兴趣的文章
Swift - 给表格TableView添加页眉和页脚
查看>>
Swift - 异步加载各网站的favicon图标,并在单元格中显示
查看>>
Java编程思想总结笔记Chapter 5
查看>>
51 nod 最大距离
查看>>
[LeetCode]662. Maximum Width of Binary Tree判断树的宽度
查看>>
WinForm聊天室
查看>>
ASCII码表含义
查看>>
Updlock 与 Holdlock
查看>>
Python 从零学起(纯基础) 笔记(一)
查看>>
【Python学习笔记】1.基础知识
查看>>
梦断代码阅读笔记02
查看>>
Java 线程安全问题
查看>>
selenium学习中遇到的问题
查看>>
大数据学习之一——了解简单概念
查看>>
P1-13:集成日志组件 logback 2彩色日志
查看>>
昨天开始接任务
查看>>
Java8的一些新特性
查看>>
Linux升级内核教程(CentOS7)
查看>>
JDK5.0 特性 监控与管理虚拟机
查看>>
Lintcode: Partition Array
查看>>