在嵌入式Linux ARM9的用户空间中处理GPIO

时间:2013-03-26 10:15:46

标签: embedded arm embedded-linux

我必须将我的GSM模块与基于ARM9的AM1808接口。

我已将所有GPIO引脚分配给Da850.c以及mux.h文件。 我成功创建了一个uImage并将该图像插入到我的flash中。

我需要从用户应用程序中处理一些GPIO。

我知道我们可以从Kerel空间处理GPIO,但我需要从用户空间处理。

例如,我已经为GSM模块分配了GPIO电源键。我需要通过应用程序更改引脚装置(HIGH或LOW)。

我该如何处理?

我正在使用UBUNTU 10.04进行开发。

提前谢谢你。

2 个答案:

答案 0 :(得分:3)

大多数Linux内核都内置了GPIO机制。通常最容易使用它们。 Documentation/gpio.txt中的概述。这是常见的新手主题,有许多很好的教程,如gpio_sysfs。 如果你挂了,你可以发表评论更多信息,例如你正在使用哪个SBC和内核版本(例如LogicPD Zoom和2.6.33),以及你将首先尝试哪些GPIO引脚。

答案 1 :(得分:0)

您可以使用mmap将物理内存(通过/ dev / mem /)映射到用户内存来处理此问题。

这里有一些示例代码:

http://naveengopala-embeddedlinux.blogspot.co.uk/2012/01/reading-physical-mapped-memory-using.html