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开关某一设备,那么就几条命令就可以控制好了。如果用做学习,大家可以手工来点灯。
请注明原处,谢谢。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开关某一设备,那么就几条命令就可以控制好了。如果用做学习,大家可以手工来点灯。
相关文章推荐
- atitit.404错误的排查流程总结vOa6
- ARC声明属性关键字详解(strong,weak,unsafe_unretained,copy)
- 2016/4/1 PDO:: 数据访问抽象层 ? :
- SPRING IN ACTION 第4版笔记-第十一章Persisting data with object-relational mapping-002设置JPA的EntityManagerFactory(<persistence-unit>、<jee:jndi-lookup>)
- Android Service 服务(一)—— Service
- kettle
- LinuxGPIO驱动使用其实很简单
- C/C++头文件版本演变
- iOS开发-UI控件:UISwitch控件两种使用方法和监听
- JAVA~多线程:sleep、yield方法
- P问题、NP问题、NPC问题(NP完全问题)、NPH问题和多项式时间复杂度
- hdoj The sum problem 2058 (数学等差公式&技巧转换)
- python_设计模式——责任链模式
- HDU 1166 敌兵布阵(树状数组)
- P问题、NP问题、NPC问题(NP完全问题)、NPH问题和多项式时间复杂度
- HASH 算法大全
- CDOJ 1047 Alice's birthday
- 蘑菇街2016校园招聘之编程题解析-技术类
- 初等数论_4 2016.4.4
- linux内核 GPIO口编程入门