我在网上看到你无法在用户空间中注册中断。做类似事情的方法是 - 1)让Linux内核模块/驱动程序在中断检测时向用户空间发送异步事件 2)在用户空间中有一个线程,在该设备节点上轮询该事件。
我编写了一个内核模块,用于在GPIO引脚的上升沿注册事件,现在我想将其传达给用户空间。
任何人都可以告诉我如何 - 1)从内核空间向用户空间发送事件 2)在用户空间中创建一个线程来轮询该事件
谢谢!
答案 0 :(得分:1)
您可以使用Netlink套接字将内核空间中的事件发送到用户空间。然后,您可以在用户空间中生成一个侦听此Netlink套接字的线程。这可以使用用户空间应用程序中的select()
或epoll()
函数来完成。 http://www.linuxjournal.com/article/7356是一个很好的参考。