我的目标是控制 Intel 主板(带 C1037U 处理器的 NM70 芯片组)上 Peppermint 4 Linux(内核版本 3.8.0)中的 GPIO 引脚。
如何检查您的内核是否支持硬件上的 GPIO?
背景
- 主板:Intel NM70芯片组
- 处理器:C1037U处理器
- 操作系统:薄荷4 Linux
- 内核版本:3.8.0
- GPIO接口:sysfs
我正在尝试使用 sysfs 接口,该接口允许通过文件系统从用户空间访问 GPIO 引脚。
我已经成功地遵循了“替代构建方法:老式 Debian 方式”部分https://help.ubuntu.com/community/Kernel/Compile 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 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/kernel/debug/gpio) 将能够显示它们的保留位置。
但是,/sys/kernel/debug/gpio 是空的。
我可以在 BIOS 中查看和控制 GPIO 引脚(将引脚更改为输入或输出高/低)。
相关问题
在什么情况下 /sys/kernel/debug/gpio 会为空? https://stackoverflow.com/questions/24087761/under-what-conditions-would-sys-kernel-debug-gpio-be-empty
写入 /sys/class/gpio/export 失败 https://stackoverflow.com/questions/9200681/writing-to-sys-class-gpio-export-failing