您的位置:首页 > 其它

Am335x 之GPIO控制

2016-04-01 13:29 399 查看
转载http://blog.csdn.net/hudaweikevin/article/details/16336411

请注明原处,谢谢。QQ:343556608

参考:http://processors.wiki.ti.com/index.php/GPIO_Driver_Guide

目前还没有涉及到代码(后续会有新的博客更新),仅关注到用户空间对GPIO的控制。

1.执行下面的命令,可以显示目前驱动已经申请到的IO状态

$ mount -t debugfs debugfs /sys/kernel/debug

$ cat /sys/kernel/debug/gpio

root@am335x-evm:/# cat /sys/kernel/debug/gpio

GPIOs 0-31, gpio:

gpio-2 (volume-up ) in hi

gpio-3 (volume-down ) in hi

gpio-6 (mmc_cd ) in hi

GPIOs 32-63, gpio:

gpio-48 (wlan_en ) out lo

gpio-53 (matrix_kbd_col ) out hi

gpio-54 (matrix_kbd_col ) out hi

gpio-57 (matrix_kbd_row ) in lo

gpio-58 (matrix_kbd_row ) in lo

gpio-59 (matrix_kbd_row ) in lo

GPIOs 64-95, gpio:

GPIOs 96-127, gpio:

gpio-114 (mmc_wp ) in lo

gpio-117 (bt_en

) out lo

2,重新申请一个新IO,但注意看一下原理图,最好是没有使用的IO,如果本身的IO在其它地方使用的话,有可能申请不到或是破坏设备。

下面我们申请118,并且查看有没有申请成功

root@am335x-evm:/# echo 118 > /sys/class/gpio/export

root@am335x-evm:/# ls /sys/class/gpio

export gpiochip0 gpiochip64 unexport

gpio118 gpiochip32 gpiochip96

root@am335x-evm:/# cat /sys/kernel/debug/gpio

GPIOs 0-31, gpio:

gpio-2 (volume-up ) in hi

gpio-3 (volume-down ) in hi

gpio-6 (mmc_cd ) in hi

GPIOs 32-63, gpio:

gpio-48 (wlan_en ) out lo

gpio-53 (matrix_kbd_col ) out hi

gpio-54 (matrix_kbd_col ) out hi

gpio-57 (matrix_kbd_row ) in lo

gpio-58 (matrix_kbd_row ) in lo

gpio-59 (matrix_kbd_row ) in lo

GPIOs 64-95, gpio:

GPIOs 96-127, gpio:

gpio-114 (mmc_wp ) in lo

gpio-117 (bt_en

) out lo

gpio-118 (sysfs ) in lo

3,改变IO为输出:

root@am335x-evm:/# echo "out" > /sys/class/gpio/gpio118/direction

使IO的输出为高:

root@am335x-evm:/# echo 1 > /sys/class/gpio/gpio118/value

root@am335x-evm:/# cat /sys/kernel/debug/gpio

GPIOs 0-31, gpio:

gpio-2 (volume-up ) in hi

gpio-3 (volume-down ) in hi

gpio-6 (mmc_cd ) in hi

GPIOs 32-63, gpio:

gpio-48 (wlan_en ) out lo

gpio-53 (matrix_kbd_col ) out hi

gpio-54 (matrix_kbd_col ) out hi

gpio-57 (matrix_kbd_row ) in lo

gpio-58 (matrix_kbd_row ) in lo

gpio-59 (matrix_kbd_row ) in lo

GPIOs 64-95, gpio:

GPIOs 96-127, gpio:

gpio-114 (mmc_wp ) in lo

gpio-117 (bt_en

) out lo

gpio-118 (sysfs ) out hi

4,释放IO,

root@am335x-evm:/# echo 118 > /sys/class/gpio/unexport

总结:这种模式我觉得在调试某些简单IO控制的一些设备的时候很方便,比如硬件用到一个IO开关某一设备,那么就几条命令就可以控制好了。如果用做学习,大家可以手工来点灯。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: