Linux 如何检查内核在硬件上是否支持GPIO?

Linux 如何检查内核在硬件上是否支持GPIO?,linux,embedded,embedded-linux,gpio,sysfs,Linux,Embedded,Embedded Linux,Gpio,Sysfs,我的目标是在英特尔主板(配备C1037U处理器的NM70芯片组)上控制Peppermint 4 Linux(内核版本3.8.0)中的GPIO引脚 如何检查内核在硬件上是否支持GPIO 背景 主板:配备NM70芯片组的英特尔 处理器:C1037U处理器 操作系统:Peppermint 4 Linux 内核版本:3.8.0 GPIO接口:sysfs 我试图使用sysfs接口,它允许通过文件系统从用户空间访问GPIO引脚 我已经成功地按照中的“替代构建方法:老式的Debian方式”部分重新编译内核

我的目标是在英特尔主板(配备C1037U处理器的NM70芯片组)上控制Peppermint 4 Linux(内核版本3.8.0)中的GPIO引脚

如何检查内核在硬件上是否支持GPIO

背景
  • 主板:配备NM70芯片组的英特尔
  • 处理器:C1037U处理器
  • 操作系统:Peppermint 4 Linux
  • 内核版本:3.8.0
  • GPIO接口:sysfs
我试图使用sysfs接口,它允许通过文件系统从用户空间访问GPIO引脚

我已经成功地按照中的“替代构建方法:老式的Debian方式”部分重新编译内核,以便在用户空间中公开GPIO访问,并打开GPIO的调试模式:

编译新内核后,我第一次能够在/sys/class/GPIO中看到GPIO文件夹。然后,从理论上讲,应该能够通过写入文件系统来打开/关闭GPIO端口。该方法概述于

尝试通过导出引脚0到255时

echo XX>/sys/class/gpio/export

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

echo:写入错误:没有此类设备

尝试导出0到255范围以外的管脚时

echo XX>/sys/class/gpio/export

我收到以下错误消息

echo:写入错误:参数无效

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

但是,/sys/kernel/debug/gpio为空

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

相关问题


最简单的方法是使用.config文件。请参阅:,它定义了可从板上设置的变量。我想是你自己建造的。grep GPIO.config的输出可能会有所帮助。我猜可能有人试图识别硬件并加载模块。因此,即使是这个输出也可能不是完整的故事。除了gpio驱动程序之外,还将有一些设置代码。是的,我们已经构建了一个3.8.0内核,以包括sysfs支持。我将为其他读者更新更多背景说明。很好,我们会调查的。可能是