evice Drivers->GPIO Support,选择:
[*] /sys/class/gpio/… (sysfs interface)
<*> Generic memory-mapped GPIO controller support (MMIO platform device)
* /sys/class/gpio/export 文件用于通知系统需要导出控制的GPIO引脚编号
* /sys/class/gpio/unexport 用于通知系统取消导出
* /sys/class/gpio/gpiochipX 目录保存系统中GPIO寄存器的信息,包括每个寄存器控制引脚的起始编号base,寄存器名称,引脚总数 导出一个引脚的操作步骤
* 首先计算此引脚编号,引脚编号 = 控制引脚的寄存器基数 + 控制引脚寄存器位数
* /sys/class/gpio/export 写入此编号,比如12号引脚,在shell中可以通过以下命令实现,
echo 12 > /sys/class/gpio/export
命令成功后生成/sys/class/gpio/gpio12目录,如果没有出现相应的目录,说明此引脚不可导出;
* direction文件,定义输入输入方向,可以通过下面命令定义为输出
echo out > /sys/class/gpio/gpio12/direction
direction接受的参数:in, out, high, low。high/low同时设置方向为输出
* value文件是端口的数值,为1或0.
echo 1 > /sys/class/gpio/gpio12/value
参考:http://blog.csdn.net/mirkerson/article/details/8464290
http://blog.csdn.net/coroutines/article/details/44020819
已经被系统分配的GPIO,echo操作会失败,这是一种保护机制,为了测试,可以修改下代码来屏蔽(3.10.35内核)
http://blog.csdn.net/coroutines/article/details/44020819
实例:http://blog.csdn.net/drivermonkey/article/details/20132241?utm_source=tuicool&utm_medium=referral
1.2 打开DEBUG_PINCTRL功能
Symbol: DEBUG_PINCTRL [=y] Location: -> Device Drivers -> Pin controllers
-*- Support pin configuration controllers [*] Debug PINCTRL calls <*> One-register-per-pin type device tree based pinctrl driver [ ] Pinctrl driver for the PALMAS Series MFD devices
1.3 gpio export报错强制export GPIO,可做如下操作: \drivers\gpio\gpiolib.c static int gpiod_request(struct gpio_desc *desc, const char *label) 添加 :desc->flags = 0;/*强制export GPIO */ 已经被系统分配的GPIO,echo操作会失败,这是一种保护机制,为了测试,可以修改下代码来屏蔽(3.10.35内核) http://blog.csdn.net/coroutines/article/details/44020819