首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在什么情况下/sys/内核/debug/gpio是空的?

在什么情况下/sys/内核/debug/gpio是空的?
EN

Stack Overflow用户
提问于 2014-06-06 17:44:25
回答 1查看 5.5K关注 0票数 6

摘要

我的目标是在英特尔主板(带有NM70处理器的NM70芯片组)上控制Peppermint4Linux(内核3.8.0版)中的GPIO引脚。

我正在调试使用sysfs接口时遇到的问题,并试图了解/sys/内核/debug/gpio将为空的条件?

当试图导出引脚0到255时

echo XX > /sys/class/gpio/export

对于从0到255的XX,我得到以下错误消息

echo: write error: No such device

在什么情况下/sys/内核/debug/gpio是空的?

C.背景

  • 主板:英特尔与NM70芯片组
  • 处理器: C1037U处理器
  • 操作系统:薄荷4Linux
  • 内核版本: 3.8.0
  • GPIO接口: sysfs

我正在尝试使用sysfs接口,它允许通过文件系统从用户空间访问GPIO引脚。

我成功地遵循了https://help.ubuntu.com/community/Kernel/Compile的“替代构建方法:老式Debian方法”部分,重新编译内核,以便在用户空间公开GPIO访问,并为GPIO打开调试模式:

一旦编译了新内核,我就能够第一次看到/sys/class/gpio中的GPIO文件夹。然后,从理论上讲,应该是通过向文件系统写入来打开/关闭GPIO端口的情况。http://falsinsoft.blogspot.co.uk/2012/11/access-gpio-from-linux-user-space.html概述了这种方法。

当试图导出引脚0到255时

echo XX > /sys/class/gpio/export

对于从0到255的XX,我得到以下错误消息

echo: write error: No such device

当试图将引脚导出到0到255范围之外时

echo XX > /sys/class/gpio/export

我收到以下错误消息

echo: write error: Invalid argument

本教程建议,这可能是因为GPIO端口是为另一个程序保留的,如果是的话,调试文件(/sys/内核/ debug /gpio)将能够显示它们被保留的位置。

但是,/sys/内核/debug/gpio是空的。

我可以看到并控制BIOS中的GPIO引脚(将引脚改为输入或输出高/低)。

相关问题

writing to /sys/class/gpio/export failing

Enable pullup GPIO

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-20 22:09:49

如果没有注册的GPIO设备(警告:当我说GPIO设备时,我指的不是硬件,而是它的内核表示),那么/sys/内核/debug/GPIO将为空。

因此,这些GPIO设备由内核在运行时注册,并与特定的GPIO设备驱动程序相关联。

然后,选择GPIO设备驱动程序并将其与给定设备相关联,因为它是声明与所述GPIO设备兼容的驱动程序。

例如,内核将匹配PCI供应商和产品ID,并探测声称支持该PCI供应商/产品的GPIO驱动程序。当探测GPIO驱动程序时,它通常会注册GPIO设备实例。

最后,注册的GPIO设备提供/sys/内核/debug/gpio中显示的gpio。

上述内容是Linux中所谓的“设备驱动程序模型”的一部分。虽然它有点过时,但你可以读到1。

现在,让我们看看您需要为NM70芯片组选择什么GPIO驱动程序。维基百科说,芯片组代号是"Panther M“2。幸运的是,lpc_ich驱动程序可以支持它。您必须使用CONFIG_LPC_ICH=y构建内核。

或者,如果您的get是由PCI设备提供的,您可以使用lspci来获取in,然后在这些in的内核源中使用grep。

1

2

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24087761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档