在 Yocto 中将脚本分配给 gpio 中断
Assign script to gpio interrupt in Yocto
我正在将 iMX53qsb 与 Yocto 一起使用,并希望通过按下按钮来 运行 一些脚本。现在我已经在用户按钮上启用了中断(作为 gpio),但我无法想象如何处理它。
谁能告诉我如何处理这个中断,或者我可以在哪里阅读更多相关信息?
按键为Volume_up(GPIO_2_14),设置为gpio,中断事件为下降沿;在
cat /proc/interrupts 我看到以下内容:
174: 0 - gpiolib
第二列是指每次按下。
这是一条漫长而艰难的道路..现在它奏效了。
最后,GPIO 由 sysfs 处理,而不是内核模块(原因是 user-space 脚本不能从 kernel-space 调用)。
在我的例子中,步骤顺序如下所示:
- 编辑硬件描述文件使按键引脚为GPIO(arch/arm/mach-mx5/mx53_loco.c,默认定义为按键);
- 通过sysfs设置GPIO(导出想要的GPIO引脚,设置方向,设置边沿);
- 编写轮询所需 GPIO 的程序
poll()
;
- 使轮询程序在系统启动时在后台启动。
我正在将 iMX53qsb 与 Yocto 一起使用,并希望通过按下按钮来 运行 一些脚本。现在我已经在用户按钮上启用了中断(作为 gpio),但我无法想象如何处理它。
谁能告诉我如何处理这个中断,或者我可以在哪里阅读更多相关信息?
按键为Volume_up(GPIO_2_14),设置为gpio,中断事件为下降沿;在 cat /proc/interrupts 我看到以下内容:
174: 0 - gpiolib
第二列是指每次按下。
这是一条漫长而艰难的道路..现在它奏效了。 最后,GPIO 由 sysfs 处理,而不是内核模块(原因是 user-space 脚本不能从 kernel-space 调用)。
在我的例子中,步骤顺序如下所示:
- 编辑硬件描述文件使按键引脚为GPIO(arch/arm/mach-mx5/mx53_loco.c,默认定义为按键);
- 通过sysfs设置GPIO(导出想要的GPIO引脚,设置方向,设置边沿);
- 编写轮询所需 GPIO 的程序
poll()
; - 使轮询程序在系统启动时在后台启动。