一种嵌入式系统中进行中断以及临界事件管理操作的方法

文档序号:6515960阅读:228来源:国知局
一种嵌入式系统中进行中断以及临界事件管理操作的方法
【专利摘要】本发明提供一种嵌入式系统中进行中断以及临界事件管理操作的方法,该方法结合嵌入式系统中的硬件中断事件及软件临界事件的响应特点和要求,将软件临界事件和硬件中断事件统一为临界事件的逻辑概念;并在嵌入式的操作系统层设计一临界管理器;将系统中的中断处理程序和软件临界事件处理程序形成一临界处理程序集合,挂载到临界管理器,实现对临界事件的分优先级响应处理;根据嵌入式系统硬件处理器的差异性,由临界管理器软件实现临界事件发生后的统一入口和分派处理,使得不同处理器上能移植该临界管理器,统一不同处理器上软件临界事件和中断处理的程序来处理和响应时序。本发明能在不同处理器上快速移植,并保证中断管理操作的响应效果的一致性。
【专利说明】ー种嵌入式系统中进行中断以及临界事件管理操作的方法
【技术领域】
[0001]本发明涉及一种计算机通讯【技术领域】,尤其涉及ー种嵌入式系统中进行中断以及临界事件管理操作的方法。
【背景技术】
[0002]对于嵌入式产品,如果不使用操作系统,则一般软件中没有专门抽象出来的中断管理模块,中断处理例程的管理以及中断响应的时序都由嵌入式硬件的处理器所決定。这造成了软件中的中断处理部分不易于移植,也不易于保证不同硬件上设备中断性能的一致性。在使用了 Linux和Windows操作系统的嵌入式产品中,由于Linux系统的设计缺陷,中断系统只能管理到一般意义上的计算机中断事件,而与中断表现相类似的软件级别的临界事件没有被納入到中断管理模块中,使得软件开发上,对于软件的临界事件和中断的临界事件要分成两种概念来处理,増加软件开发理论的复杂度。在使用了 Windows NT内核的操作系统的嵌入式产品中,Windows提供的中断管理模块合并了软件同步临界和软件异步临界的响应管理,但是其中断等级只有32个。如果硬件中断等级超过32个,则不能让所有硬件中断都有独自的响应优先级,这样影响了硬件事件响应的实时性。
[0003]在软件过程中,有时会遇到同一软件资源或者硬件资源被不同软件流程共享访问的情況。当这些软件流程被不同的线程所调用的时候,必须保证它们互斥运行,以避免对共享的资源造成非预期的错误修改。这种需要互斥运行保护的共享资源叫做临界资源,访问资源的代码叫做临界代码区,软件上调用临界代码区叫做软件临界事件。在硬件引发的中断事件中,中断处理程序除了执行中断相关的硬件信号的操作外,还有可能发生修改软件变量、调用纯软件逻辑的处理函数等访问软件资源的非硬件相关动作。由于中断处理程序本身就是打断正常软件流程的,必须对中断发生前的正常软件流程中正在访问的、与中断处理程序中会被访问到的软件资源做保护,以避免软件资源被中断处理程序造成非预期修改的错误。因此,中断事件也有软件临界事件类似的特征,即硬件中断事件(也就是硬件临界事件)。

【发明内容】

[0004]本发明要解决的技术问题,在于提供ー种嵌入式系统中进行中断及临界事件管理操作的方法,其能在不同处理器上快速移植,并保证中断及临界事件管理操作的响应效果的一致性。
[0005]本发明是这样实现的:ー种嵌入式系统中进行中断及临界事件管理操作的方法,该方法具体为:
[0006]结合嵌入式系统中的硬件中断事件及软件临界事件的响应特点和要求,将软件临界事件和硬件中断事件统ー为临界事件的逻辑概念;将硬件中断处理程序和软件临界事件处理程序统ー为临界处理程序的概念,形成一临界处理程序集合;并在嵌入式的操作系统层设计ー临界管理器;该临界管理器不限制支持的临界等级数量,协调临界处理程序挂载和执行的动作;并将临界处理程序挂载到临界管理器上,实现对临界事件的分优先级响应处理;根据嵌入式系统硬件处理器的差异性,由临界管理器系统层软件实现临界事件发生后的统一入口和分派处理,使得不同处理器上能移植该临界管理器,用来统ー不同处理器上软件临界事件和中断处理的程序来处理和响应时序。
[0007]本发明具有如下优点:本发明可以统一中断事件和软件临界事件的概念,简化编程;该中断管理操作的方法实现了与处理器无关的中断响应和分派处理,以及与处理器无关的优先级分派方法,可以方便在不同处理器上移植,使驱动和系统的代码可以在不同处理器上快速移植,并保证中断管理操作的响应效果的一致性。
【专利附图】

【附图说明】
[0008]图1为本发明方法流程示意图。
【具体实施方式】
[0009]请參阅图1所示,本发明为ー种嵌入式系统中进行中断及临界事件管理操作的方法,该方法具体为:
[0010]结合嵌入式系统中的硬件中断事件及软件临界事件的响应特点和要求,将软件临界事件和硬件中断事件统ー为临界事件的逻辑概念;该具体为:将硬件的中断事件和软件的临界事件在同一优先级队列中进行优先级定义,软件临界事件的优先级总低于硬件中断事件的优先级,各事件相关的临界资源根据事件的优先级构成访问重复进入的优先级保护;这样使硬件中断事件和软件临界事件在概念上抽象成统ー的临界事件;
[0011]将硬件中断处理程序和软件临界事件处理程序统ー为临界处理程序的概念,形成一临界处理程序集合;并在嵌入式的操作系统层设计ー临界管理器;该临界管理器不限制支持的临界等级数量,协调临界处理程序挂载和执行的动作;
[0012]其中,将系统中的硬件中断处理程序和软件临界事件处理程序统ー为临界处理程序的概念,形成一临界处理程序集合,具体为:将软件临界事件对应的临界代码定义成函数;该函数和中断处理程序的函数在原型约定、返回值约定、处理过程中对资源管理及各种系统机制的使用方面都遵循一致的软件约束条件,使得将中断处理程序和软件临界事件处理程序抽象成临界处理程序;这些临界处理程序形成临界处理程序集合;
[0013]并将临界处理程序挂载到临界管理器上,实现对临界事件的分优先级响应处理;根据嵌入式系统硬件处理器的差异性,由临界管理器系统层软件实现临界事件发生后的统一入口和分派处理,使得不同处理器上能移植该临界管理器,用来统ー不同处理器上软件临界事件和中断处理的程序来处理和响应时序;其中,根据嵌入式系统硬件处理器的差异性,由临界管理器系统层软件实现临界事件发生后的统一入口和分派处理,使得不同处理器上能移植该临界管理器,具体为:利用处理器存在的中断的软件入ロ,或称异常入ロ,作为临界处理的唯一入ロ,在该入口中,由临界管理器实现统一的先期处理方法,该先期处理方法负责判断临界事件的优先级;利用软件备份和还原处理器上下文的方式来实现高优先级临界处理程序的嵌套;在进入对应优先级临界处理程序的处理器上下文后,再分派调用对应的临界处理程序执行临界事件的响应;在临界处理程序执行完成后,再由临界管理器实现统一的后期处理方法,该后期处理方法用于检索临界事件的重复进入、低优先级临界处理程序处理上下文的恢复、以及还原到进入临界前的软件处理流程中;所有对应的实现中,涉及到寄存器与具体处理器相关的部分都封装为独立的函数接ロ实现,这些函数接ロ存放在独立的代码文件中,若更改处理器,则只要更换存储了这些处理器相关函数接ロ的代码文件即可,使得上述的临界管理机制能在各处理器上移植。
[0014]这里值得一提的是:临界管理器中设置有一个数组,数组的元素下标表示临界事件的优先级,优先级越高数组下标越大;数组的元素个数作为ー个宏来配置,不同的产品能配置不同的宏来定义数组的规模,从而实现不同产品临界等级数量的自定义和扩增;数组的每个元素是ー个链表的指针,一个链表是ー个优先级的所有临界处理程序的函数指针的集合;链表的每个节点的数据是ー个临界处理程序的函数指针,临界管理器提供一接ロ,实现临界处理程序的挂载、卸载、启动、和禁用,以及软件激活进入任意ー临界事件等级的处理;软件开发人员能基于这个接ロ,使用临界管理器提供的各种功能。
[0015]总之,本发明可以统一中断事件和软件临界事件的概念,简化编程;该中断管理操作的方法实现了与处理器无关的中断响应和分派处理,以及与处理器无关的优先级分派方法,可以方便在不同处理器上移植,使驱动和系统的代码可以在不同处理器上快速移植,并保证中断及临界事件管理操作的响应效果的一致性。
[0016]以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
【权利要求】
1.ー种嵌入式系统中进行中断以及临界事件管理操作的方法,其特征在于:该方法具体为: 结合嵌入式系统中的硬件中断事件及软件临界事件的响应特点和要求,将软件临界事件和硬件中断事件统ー为临界事件的逻辑概念;将硬件中断处理程序和软件临界事件处理程序统ー为临界处理程序的概念,形成一临界处理程序集合;并在嵌入式的操作系统层设计ー临界管理器;该临界管理器不限制支持的临界等级数量,协调临界处理程序挂载和执行的动作;并将临界处理程序挂载到临界管理器上,实现对临界事件的分优先级响应处理;根据嵌入式系统硬件处理器的差异性,由临界管理器系统层软件实现临界事件发生后的统一入口和分派处理,使得不同处理器上能移植该临界管理器,用来统ー不同处理器上软件临界事件和中断处理的程序来处理和响应时序。
2 .根据权利要求1所述的ー种嵌入式系统中进行中断以及临界事件管理操作的方法,其特征在于:所述结合嵌入式系统中的硬件中断事件及软件临界事件的响应特点和要求,将软件临界事件和硬件中断事件统ー为临界事件的逻辑概念,具体为:将硬件的中断事件和软件的临界事件在同一优先级队列中进行优先级定义,软件临界事件的优先级总低于硬件中断事件的优先级,各事件相关的临界资源根据事件的优先级构成访问重复进入的优先级保护;这样使硬件中断事件和软件临界事件在概念上抽象成统ー的临界事件。
3.根据权利要求1所述的ー种嵌入式系统中进行中断以及临界事件管理操作的方法,其特征在于:将系统中的硬件中断处理程序和软件临界事件处理程序统ー为临界处理程序的概念,形成一临界处理程序集合,具体为:将软件临界事件对应的临界代码定义成函数;该函数和中断处理程序的函数在原型约定、返回值约定、处理过程中对资源管理及各种系统机制的使用都遵循一致的软件约束条件,使得将中断处理程序和软件临界事件处理程序抽象成临界处理程序;这些临界处理程序形成临界处理程序集合。
4.根据权利要求1所述的ー种嵌入式系统中进行中断以及临界事件管理操作的方法,其特征在于:根据嵌入式系统硬件处理器的差异性,由临界管理器软件实现临界事件发生后的统一入口和分派处理,使得不同处理器上能移植该临界管理器,具体为:利用处理器存在的中断的异常入口,作为临界处理的唯一入口,在该入口中,由临界管理器实现统一的先期处理方法,该先期处理方法负责判断临界事件的优先级;利用软件备份和还原处理器上下文的方式来实现高优先级临界处理程序的嵌套;在进入对应优先级临界处理程序的处理器上下文后,再分派调用对应的临界处理程序执行临界事件的响应;在临界处理程序执行完成后,再由临界管理器实现统一的后期处理方法,该后期处理方法用于检索临界事件的重复进入、低优先级临界处理程序处理上下文的恢复、以及还原到进入临界前的软件处理流程中;所有对应的实现中,涉及到寄存器与具体处理器相关的部分都封装为独立的函数接ロ实现,这些函数接ロ存放在独立的代码文件中,若更改处理器,则只要更换存储了这些处理器相关函数接ロ的代码文件即可,使得上述的临界管理机制能在各处理器上移植。
5.根据权利要求1所述的ー种嵌入式系统中进行中断以及临界事件管理操作的方法,其特征在于:临界管理器中设置有一个数组,数组的元素下标表示临界事件的优先级,优先级越高数组下标越大;数组的元素个数作为ー个宏来配置,不同的产品能配置不同的宏来定义数组的规模,从而实现不同产品临界等级数量的自定义和扩增;数组的每个元素是ー个链表的指针,一个链表是ー个优先级的所有临界处理程序的函数指针的集合;链表的每个节点的数据是ー个临界处理程序的函数指针,临界管理器提供一接ロ,实现临界处理程序的挂载、卸载、启动、和禁用,以及软件激活进入任意ー临界事件等级的处理;软件开发人员能基于这个接ロ,使用临界管`理器提供的各种功能。
【文档编号】G06F9/48GK103559085SQ201310494726
【公开日】2014年2月5日 申请日期:2013年10月21日 优先权日:2013年10月21日
【发明者】林志伟, 张登峰, 余杭军 申请人:福建升腾资讯有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1