dts中配置gpio为各种功能如gpio_keys,leds以及通用gpio输入输出,需要查看状态时,可以按照下面这样操作,以及进行gpio的调试。
以及解决/sys/kernel/debug/下没有任何文件的问题->linux的debugfs
1.获取gpio状态
实质上就是调用show函数。 命令可以直接打印出所有的GPIO口状态
cd /sys/kernel/debug/
cat gpio
2.通过export的方式来调试GPIO
echo ‘value’ > export//设置gpio寄存器值
cd sys/class/gpio
echo xxx > export
cat gpioxxx/direction
cat gpioxxx/value
/sys/class/gpio/export和unexport属性使用方法
3.GPIO控制参数修改
echo 49 > export
进入gpio49目录下,控制参数如下图所示将会以文件形式导出。可使用echo写入参数,cat读取参数
direction:定义引脚的输入输出方向,参数:in\out
例 设置输出:echo out > direction
edge:中断设置,参数:none rising falling both
例 设置上升沿触发中断:echo rising > direction
uevent:不了解
value:设置引脚高低电平,参数:1\0
例 设置输出高电平:echo 1 > value
问题一:/sys/kernel/debug/下没有任何文件
在linux的debugfs中,/sys/kernel/debug/
目录下面没有发现任何文件。
解决办法:
查看config是否有配置CONFIG_DEBUG_FS
注意:虽然上面定义了CONFIG_DEBUG_FS
,但是此时/sys/kernel/debug/
目录还是没有任何文件。需要将debugfs挂载到这个目录下,2种方法:
方法一:
运行如下命令,手动挂载到该目录:
mount -t debugfs none /sys/kernel/debug
方法二:
修改/etc/fstab
文件自动挂载到该目录:debugfs /sys/kernel/debug debugfs defaults 0 0