我的目标是在Intel主板(带有C1037U处理器的NM70芯片组)上控制Peppermint 4 Linux(内核版本3.8.0)中的GPIO引脚。
如何检查内核是否支持硬件上的GPIO?
我试图使用sysfs接口,它允许通过文件系统从用户空间访问GPIO引脚。
我成功地遵循了#34;替代构建方法:老式的Debian方式" https://help.ubuntu.com/community/Kernel/Compile部分重新编译内核以便在用户空间中公开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
对于XX从0到255,我收到以下错误消息
echo: write error: No such device
尝试通过
导出0到255范围之外的引脚 echo XX > /sys/class/gpio/export
我收到以下错误消息
echo: write error: Invalid argument
教程建议这可能是因为GPIO端口是为另一个程序保留的,如果是这样,调试文件(/ sys / kernel / debug / gpio)将能够显示它们的保留位置。
但是,/ sys / kernel / debug / gpio为空。
我可以看到并控制BIOS中的GPIO引脚(将引脚更改为输入或输出高/低)。
Under what conditions would /sys/kernel/debug/gpio be empty?