[发明专利]嵌入式系统及其中断处理方法与装置有效
申请号: | 201210046907.2 | 申请日: | 2012-02-27 |
公开(公告)号: | CN103294544A | 公开(公告)日: | 2013-09-11 |
发明(设计)人: | 湛振波 | 申请(专利权)人: | 展讯通信(上海)有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 骆苏华 |
地址: | 201203 上海市浦东新区浦东*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 嵌入式 系统 及其 中断 处理 方法 装置 | ||
技术领域
本发明涉及嵌入式系统领域,特别涉及一种嵌入式系统及其中断处理方法与装置。
背景技术
随着嵌入式技术的迅速发展,嵌入式实时操作系统(embedded RTOS,embedded Real-time operating system)正越来越广泛地应用在工业自动化、电子通讯、家电等各个领域。同时,嵌入式操作系统运行的平台也越来越多样,对各种中断源的处理也越来越复杂。在这种情况下,为了保证嵌入式平台在处理中断过程中的系统稳定性、实时性以及提高中断处理的效率,原来的中断处理技术也随之不断发展。
目前用于嵌入式实时操作系统中的中断处理方法主要包括以下流程:
(1)硬件设备产生中断信号,并上报给中断控制器,由中断控制器进行中断优先级判断以及屏蔽控制后,再产生中断触发信号上报给中央处理器(CPU,Central Processing Unit);
(2)CPU再根据相应的中断向量查找中断向量表,从而跳转至中断服务例程(ISR,Interrupt Service Routine),开始执行用户设定的中断响应代码进行中断处理,并获取中断的相关信息;
(3)在底层的中断服务例程中调用上层注册的回调函数,进行上层中断业务的处理或业务的分发,在底层中断上下文中执行完上层的代码后中断返回。
由于中断面临复杂的场景应用,既有快速与慢速的各种外部设备的中断,又有数据量很少和很多的中断,而CPU的计算能力是有限的,如何充分的利用计算资源,合理的分配这些资源,就需要调整中断的处理策略。
在中断驱动的嵌入式系统中,对中断延迟时间要求很苛刻,尤其在嵌入式消费电子设计中,这是一个热点的研究探讨方向。对于消费电子等应用领域,根据不同的芯片与软件,系统的运行速度有明显差别。在同等的硬件环境下,针对外部输入给芯片的信号,如何使得这些应用处理器有更良好的反应速度,除了搭载适当且优良的操作系统外,还需要有一套完备并且可适应性强、修改简单的中断反应机制,以提高中断处理的效率,降低中断延迟,进而改善系统运行的整体性能。
相关技术还可参考公开号为US2010077120A1的美国专利申请,该专利申请公开了一种嵌入式系统和中断处理方法。
发明内容
本发明要解决的问题是提供一种嵌入式系统及其中断处理方法与装置,以提高中断处理的效率,降低中断延迟,从而改善系统运行的整体性能。
为解决上述问题,本发明技术方案提供一种嵌入式系统的中断处理方法,包括:
系统启动后,基于设备中断事件注册低级中断服务例程以及高级中断服务例程;
当接收到中断信号后,根据识别出中断的类型,跳转至相应的低级中断服务例程进行中断处理;
基于所述低级中断服务例程中断处理后的返回结果,判断出未处理完所述中断时,将所述中断的待处理信息存入缓冲区,并由所述低级中断服务例程激活相应的高级中断服务例程,然后切换上下文以返回系统去调度;
被激活的高级中断服务例程在系统的调度下,从所述缓存区中读取所述待处理信息后,执行上层应用注册进来的回调函数以实现对所述中断的处理。
可选的,所述嵌入式系统的中断处理方法还包括:在基于设备中断事件注册低级中断服务例程以及高级中断服务例程前,配置低级中断服务例程的数量和优先级、高级中断服务例程的数量和优先级以及低级中断服务例程的默认处理函数。
可选的,所述跳转至相应的低级中断服务例程进行中断处理包括:按低级中断服务例程的优先级由高至低的顺序遍历以查询到适于处理所述中断的低级中断服务例程,低级中断服务例程的优先级与中断优先级相对应。
可选的,所述低级中断服务例程的优先级以固定的顺序存储于静态数组中。
可选的,系统按高级中断服务例程的优先级由高至低的顺序,调度所述高级中断服务例程处理所述中断。
可选的,所述低级中断服务例程激活相应的高级中断服务例程包括:所述低级中断服务例程将所述回调函数添加至适于处理所述中断的高级中断服务例程的待处理中断链表中并发送信号量至系统的任务链表,所述信号量对应于所述任务链表中的所述高级中断服务例程,系统是基于所述信号量调度所述高级中断服务例程的。
可选的,所述回调函数的执行是在所述高级中断服务例程遍历所述待处理中断链表时实现的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于展讯通信(上海)有限公司,未经展讯通信(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210046907.2/2.html,转载请声明来源钻瓜专利网。