从用户空间访问GPIO

时间:2014-10-09 04:32:26

标签: linux-kernel linux-device-driver embedded-linux gpio sysfs

我正在尝试从用户空间访问intel(cavecreek)gpio控制器。但我得到了:"没有这样的设备"尝试回显到/ sys / class / gpio / export时出错:

echo 32 > /sys/class/gpio/export
bash: echo: write error: No such device

错误消息似乎表明我需要将设备连接到gpio。但是文档似乎没有提到这一点。

从转储/ sys / kernel / debug / gpio可以看出,没有任何内容可以保留。 我有一个i2c mux连接到gpio引脚。

以下是有关我的内核和配置的更多信息

内核是3.14

这里是相关的配置设置: CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB = Y

CONFIG_GPIOLIB = y

CONFIG_GPIO_DEVRES = Y

CONFIG_GPIO_ACPI = Y

CONFIG_DEBUG_GPIO = Y

CONFIG_GPIO_SYSFS = Y

1 个答案:

答案 0 :(得分:1)

在我的情况下,问题出在内核源3.14上。 我的系统使用英特尔。在源lpc_ich.c中,LPC_DH89XXCC缺少.gpio_version字段。 我添加了该字段,重新编译并且内核能够枚举gpiopin,尽管默认gpio方向的显示不正确。方向始终显示' in'对于所有引脚最初,但在使用echo命令更改引脚方向后,显示将正确显示。