如何使用物理地址访问 GPIO?

How can I access GPIO with physical address?

我有一个使用 ubuntu 14.04LTS 访问 GPIO 的要求。

以下信息是我的设备信息:

下面link是数据表和驱动程序代码

code and datasheet here.


首先查了一下芯片是it8785,GPIO口是32到39。 GPIO 32端口的PIN是117,所以我输入命令:

echo 32 > /sys/class/gpio/export

echo 117 > /sys/class/gpio/export

但都显示错误 "bash - echo: write error: invalid argument"

我对此一无所知,所以我与制造商联系。

他们告诉我,如果我想访问 GPIO,我必须直接访问 CPU 地址,如:

GPIO PORT   Adderss
32          0xfed0e388
33          0xfed0e368
34          0xfed0e318
35          0xfed0e378
36          0xfed0e308
37          0xfed0e398
38          0xfed0e328
39          0xfed0e3A8

我google了一段时间,数据量很少。 感谢您的任何建议。

你能不能尝试在导出时使用sudo,看看gpio是否可以导出。

由于制造商提供了注册地址,您可以将它们映射到用户 space 并访问。关于如何在用户 space 中访问它们,您可以查看 dev2mem。希望对您有所帮助。