【问题标题】:Handling Hardware interrupts in Linux在 Linux 中处理硬件中断
【发布时间】:2012-06-18 17:24:15
【问题描述】:

我正在开发一个运行 Linux 2.6 的嵌入式 linux 平台。我很想知道如何执行以下操作。

1) 我有一个硬件中断源 irq7,它显示在 /proc/interrupts 中

cat /proc/interrupts | grep IRQ7

M547X_8X 71: 1916076 PCI IRQ7

2) 对于 PCI IRQ7,每按一次按钮,第三个值就会改变

M547X_8X 71: 2177862 PCI IRQ7

这是否意味着我的开关按下被识别?

现在我想在按下此按钮时从睡眠状态触发用户程序。我怎么写 这个用户空间程序使用中断还是信号?

我应该为此编写一个驱动程序吗?

你能建议我应该研究的资源吗?

【问题讨论】:

  • 考虑在 gpio 节点上进行阻塞读取

标签: linux-kernel linux-device-driver embedded-linux


【解决方案1】:

你应该看看 linux 上的 gpio key。将中断导出到/dev/input/eventXXX后,可以使用evtest工具从用户空间进行检查。

【讨论】:

  • 感谢您的回复。我想用 C 来做。我会使用哪个库?你能解释一下吗?
  • 您好,首先您应该了解按钮如何中断 CPU,在 SoC 上,按钮像往常一样连接到 CPU 的一个 gpio 引脚。当您了解按钮连接 CPU 的方式后,您就会找到处理中断的正确方式。关于 evtest 工具,你可以在这里 [link(beagleboard.googlecode.com/files/evtest.c)] 获得。这是c程序。
猜你喜欢
  • 1970-01-01
  • 2011-06-22
  • 2012-11-07
  • 1970-01-01
  • 1970-01-01
  • 2016-02-09
  • 2013-07-19
  • 2012-06-07
  • 1970-01-01
相关资源
最近更新 更多