[发明专利]一种将中断处理程序底半部搬移到应用层的方法及应用有效
| 申请号: | 201210532215.9 | 申请日: | 2012-12-11 |
| 公开(公告)号: | CN103870326B | 公开(公告)日: | 2018-07-13 |
| 发明(设计)人: | 彭勇;许宁;任赋;郑福弟 | 申请(专利权)人: | 厦门雅迅网络股份有限公司 |
| 主分类号: | G06F9/48 | 分类号: | G06F9/48 |
| 代理公司: | 厦门市首创君合专利事务所有限公司 35204 | 代理人: | 连耀忠 |
| 地址: | 361000 福建*** | 国省代码: | 福建;35 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 中断处理程序 应用层 应用程序 半部 回调函数 应用开发 内核层 搬移 中断处理函数 中断处理 中断事件 研发 调用 调试 协同 开发 驱动 中断 灵活 应用 | ||
1.一种Linux下将中断处理程序底半部搬移到应用层的方法,其特征在于,内核层驱动程序位于系统的内核层,应用层动态库程序、应用层应用程序位于系统的应用层;步骤如下:
1)内核层驱动程序完成中断顶半部处理后,对中断事件进行广播通知;具体为:
1.1)内核层驱动程序向系统内核注册中断顶半部处理函数,用于接收硬件中断信号并进行顶半部处理;
1.2)内核层驱动程序创建第一netlink套接字,用于向系统广播中断事件;
2)应用层动态库程序接收内核层驱动程序发出的中断事件广播通知;
具体为:应用层动态库程序创建第二netlink套接字、广播通知接收线程,用于接收内核层驱动程序发出的中断事件广播通知;
3)应用层动态库程序创建全局链表、回调函数注册接口,全局链表用于存储向回调函数注册接口注册的回调函数;
4)应用层应用程序定义中断底半部处理函数,并向回调函数注册接口进行注册,存储于全局链表,形成中断底半部处理回调函数;
5)应用层动态库程序取出全局链表中的中断底半部处理回调函数,完成中断底半部处理。
2.根据权利要求1所述的Linux下将中断处理程序底半部搬移到应用层的方法,其特征在于,全局链表中存储的是头指针,链表中每个节点存储的是一个函数的调用地址。
3.根据权利要求1所述的Linux下将中断处理程序底半部搬移到应用层的方法,其特征在于,回调函数注册接口为系统动态库向应用层提供的接口,通过回调函数注册接口将向其注册的函数加入到全局链表中。
4.根据权利要求1所述的Linux下将中断处理程序底半部搬移到应用层的方法,其特征在于,步骤1.1)具体为:将自定义的函数作为request_irq函数的参数传入到系统内核,自定义的函数即可中断顶半部处理函数,并用于接收硬件中断信号并进行中断顶半部处理。
5.根据权利要求1所述的Linux下将中断处理程序底半部搬移到应用层的方法,其特征在于,步骤1.2)具体为:利用netlink_kernel_create函数,通过第一netlink套接字对象向系统内核、应用层发送广播通知。
6.根据权利要求1所述的Linux下将中断处理程序底半部搬移到应用层的方法,其特征在于,广播通知接收线程的实现具体为:创建自定义线程,并在该自定义线程中循环读取第二netlink套接字对象实现对中断事件广播通知的接收。
7.一种在应用层对中断处理程序底半部进行处理的方法,其特征在于,步骤如下:
A)中断产生;
B)将中断处理程序底半部搬移到应用层;
C)在应用层对中断底半部进行处理;
步骤B)利用权利要求1至6任一项所述的将中断处理程序底半部搬移到应用层的方法进行操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门雅迅网络股份有限公司,未经厦门雅迅网络股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210532215.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:以模块化结构形式的内燃机
- 下一篇:数控页轮智能成型机及其使用方法





