[发明专利]嵌入式系统及其中断处理方法与装置有效
申请号: | 201210046907.2 | 申请日: | 2012-02-27 |
公开(公告)号: | CN103294544A | 公开(公告)日: | 2013-09-11 |
发明(设计)人: | 湛振波 | 申请(专利权)人: | 展讯通信(上海)有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 骆苏华 |
地址: | 201203 上海市浦东新区浦东*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 嵌入式 系统 及其 中断 处理 方法 装置 | ||
1.一种嵌入式系统的中断处理方法,其特征在于,包括:
系统启动后,基于设备中断事件注册低级中断服务例程以及高级中断服务例程;
当接收到中断信号后,根据识别出中断的类型,跳转至相应的低级中断服务例程进行中断处理;
基于所述低级中断服务例程中断处理后的返回结果,判断出未处理完所述中断时,将所述中断的待处理信息存入缓冲区,并由所述低级中断服务例程激活相应的高级中断服务例程,然后切换上下文以返回系统去调度;
被激活的高级中断服务例程在系统的调度下,从所述缓存区中读取所述待处理信息后,执行上层应用注册进来的回调函数以实现对所述中断的处理。
2.根据权利要求1所述的嵌入式系统的中断处理方法,其特征在于,还包括:在基于设备中断事件注册低级中断服务例程以及高级中断服务例程前,配置低级中断服务例程的数量和优先级、高级中断服务例程的数量和优先级以及低级中断服务例程的默认处理函数。
3.根据权利要求2所述的嵌入式系统的中断处理方法,其特征在于,所述跳转至相应的低级中断服务例程进行中断处理包括:按低级中断服务例程的优先级由高至低的顺序遍历以查询到适于处理所述中断的低级中断服务例程,低级中断服务例程的优先级与中断优先级相对应。
4.根据权利要求3所述的嵌入式系统的中断处理方法,其特征在于,所述低级中断服务例程的优先级以固定的顺序存储于静态数组中。
5.根据权利要求2所述的嵌入式系统的中断处理方法,其特征在于,系统按高级中断服务例程的优先级由高至低的顺序,调度所述高级中断服务例程处理所述中断。
6.根据权利要求1所述的嵌入式系统的中断处理方法,其特征在于,所述低级中断服务例程激活相应的高级中断服务例程包括:
所述低级中断服务例程将所述回调函数添加至适于处理所述中断的高级中断服务例程的待处理中断链表中并发送信号量至系统的任务链表,所述信号量对应于所述任务链表中的所述高级中断服务例程,系统是基于所述信号量调度所述高级中断服务例程的。
7.根据权利要求6所述的嵌入式系统的中断处理方法,其特征在于,所述回调函数的执行是在所述高级中断服务例程遍历所述待处理中断链表时实现的。
8.根据权利要求1所述的嵌入式系统的中断处理方法,其特征在于,识别出中断的类型后,跳转至相应的低级中断服务例程进行中断处理之前,还包括:确定所述中断中需要由所述低级中断服务例程进行处理的子任务。
9.根据权利要求8所述的嵌入式系统的中断处理方法,其特征在于,还包括:从读取的所述待处理信息中确定所述中断中需要由所述高级中断服务例程进行处理的子任务。
10.根据权利要求1所述的嵌入式系统的中断处理方法,其特征在于,所述中断为属于一个总中断的其中一个子中断,所述识别出中断的类型包括识别出所述子中断所属的总中断。
11.根据权利要求10所述的嵌入式系统的中断处理方法,其特征在于,还包括:将所述待处理信息存入所述缓冲区后,屏蔽所述子中断直至由所述高级中断服务例程完成对所述子中断的处理。
12.根据权利要求1所述的嵌入式系统的中断处理方法,其特征在于,所述缓冲区的存储空间大小按照表示所有中断的数据量特征来确定。
13.根据权利要求1所述的嵌入式系统的中断处理方法,其特征在于,所述高级中断服务例程是以系统任务的方式模拟创建的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于展讯通信(上海)有限公司,未经展讯通信(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210046907.2/1.html,转载请声明来源钻瓜专利网。