我必须将我的GSM模块与基于ARM9的AM1808接口。
我已经将所有的GPIO引脚分配给Da850.c以及mux.h文件。我成功地创建了一个uImage,并将该图像插入到我的闪存中。
我需要处理一些来自用户应用程序的GPIO。
我知道我们可以从Kerel空间处理GPIO,但我需要从用户空间处理。
例如,我已经为GSM模块分配了一个电源按键的GPIO。我需要通过应用程序更改引脚的方式(高或低)。
我该怎么处理呢?
我正在使用UBUNTU 10.04进行开发。
提前谢谢你。
发布于 2013-03-27 00:16:15
大多数Linux内核都内置了GPIO机制。使用这些通常是最简单的。Documentation/gpio.txt中的概述。这是一个常见的新手话题,有很多很好的教程,比如gpio_sysfs。如果你被挂起了,你可以在评论中添加更多的信息,比如你正在使用哪种单板机和内核版本(例如LogicPD Zoom和2.6.33),以及你会先尝试哪一个(S) GPIO引脚。
发布于 2013-03-26 20:22:06
您可以通过使用mmap将物理内存(通过/dev/mem/)映射到用户内存来处理此问题。
这里有一些示例代码:
http://naveengopala-embeddedlinux.blogspot.co.uk/2012/01/reading-physical-mapped-memory-using.html
https://stackoverflow.com/questions/15634450
复制相似问题