在 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 调用)。

在我的例子中,步骤顺序如下所示:

  1. 编辑硬件描述文件使按键引脚为GPIO(arch/arm/mach-mx5/mx53_loco.c,默认定义为按键);
  2. 通过sysfs设置GPIO(导出想要的GPIO引脚,设置方向,设置边沿);
  3. 编写轮询所需 GPIO 的程序 poll();
  4. 使轮询程序在系统启动时在后台启动。