硬件中断和应用程序通讯的问题!
接口函数。做驱动的时候不是定义了一个结构体么,里面有中断处理函数的钩子函数。直接调用钩子函数就可以了
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接口函数。做驱动的时候不是定义了一个结构体么,里面有中断处理函数的钩子函数。直接调用钩子函数就可以了
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
你写的程序如果没有直接调用驱动程序接口的话,就是调用了系统接口,然后再由系统接口去调用驱动程序的
如果你想内核检测到硬件的变化,比如插入U盘,直接调用上层应用程序,你可以使用hotplug机制
如果你想在中断处理程序中,唤醒相关的进程,可以用休眠/唤醒,信号量等内核同步机制
[ 本帖最后由 augustusqing 于 2007-10-17 19:53 编辑 ]
驱动是在内核里,你的应用程序通过系统调用就进入了内核,此时进程处于内核态,只是进程的不同逻辑状态,哪存在什么中间通讯?
比如说,你是一个进程,调用系统调用,进入内核里,等待某个事件发生,比如某个中断,你就休眠了,然后将来的某个时候,系统来了中断,调用中断处理程序,唤醒你,你醒来后,做完刚才没做完的事情,退出内核态,回到用户态,继续跑......
兄弟,先找本操作系统的书,弄清楚进程的概念先,
你的帖子标题说的问题,跟进程间通信没关系,跟上层的信号更没关系
驱动属于内核,内核只是进程处于内核态时执行的特殊代码,每次驱动执行的时候,都是代表着一个进程在运行
何来的驱动唤醒哪个进程?