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

时间:2016-11-23 05:26:42

标签: linux-device-driver cpu gpio

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

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

  • OS:Ubuntu 14.04 LTS 64bits
  • CPU:Intel®Celeron(R)CPU J1900 @ 1.99GHz×4

and bleow link是数据表和驱动程序代码

code and datasheet here.

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

  

echo 32> / SYS /类/ GPIO /出口

  

echo 117> / SYS /类/ GPIO /出口

但都显示错误“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搜索了一段时间,数据量很大。 对任何建议都很感激。

1 个答案:

答案 0 :(得分:0)

Can you try and use sudo while exporting and see if the gpio could exported.

As the manufacturer has provided with register address you can map them to user space and access. On how to access them in user space you can have a look at dev2mem. Hope that helps.