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