如何使用物理地址访问 GPIO?
How can I access GPIO with physical address?
我有一个使用 ubuntu 14.04LTS 访问 GPIO 的要求。
以下信息是我的设备信息:
- OS:Ubuntu 14.04 LTS 64 位
- CPU:英特尔®赛扬(R) CPU J1900 @ 1.99GHz × 4
下面link是数据表和驱动程序代码
首先查了一下芯片是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。希望对您有所帮助。
我有一个使用 ubuntu 14.04LTS 访问 GPIO 的要求。
以下信息是我的设备信息:
- OS:Ubuntu 14.04 LTS 64 位
- CPU:英特尔®赛扬(R) CPU J1900 @ 1.99GHz × 4
下面link是数据表和驱动程序代码
首先查了一下芯片是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。希望对您有所帮助。