CN103559085B - 一种嵌入式系统中进行中断以及临界事件管理操作的方法 - Google Patents
一种嵌入式系统中进行中断以及临界事件管理操作的方法 Download PDFInfo
- Publication number
- CN103559085B CN103559085B CN201310494726.0A CN201310494726A CN103559085B CN 103559085 B CN103559085 B CN 103559085B CN 201310494726 A CN201310494726 A CN 201310494726A CN 103559085 B CN103559085 B CN 103559085B
- Authority
- CN
- China
- Prior art keywords
- critical
- software
- criticality incident
- manager
- criticality
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Stored Programmes (AREA)
- Multi Processors (AREA)
Abstract
本发明提供一种嵌入式系统中进行中断以及临界事件管理操作的方法,该方法结合嵌入式系统中的硬件中断事件及软件临界事件的响应特点和要求,将软件临界事件和硬件中断事件统一为临界事件的逻辑概念;并在嵌入式的操作系统层设计一临界管理器;将系统中的中断处理程序和软件临界事件处理程序形成一临界处理程序集合,挂载到临界管理器,实现对临界事件的分优先级响应处理;根据嵌入式系统硬件处理器的差异性,由临界管理器软件实现临界事件发生后的统一入口和分派处理,使得不同处理器上能移植该临界管理器,统一不同处理器上软件临界事件和中断处理的程序来处理和响应时序。本发明能在不同处理器上快速移植,并保证中断管理操作的响应效果的一致性。
Description
技术领域
本发明涉及一种计算机通讯技术领域,尤其涉及一种嵌入式系统中进行中断以及临界事件管理操作的方法。
背景技术
对于嵌入式产品,如果不使用操作系统,则一般软件中没有专门抽象出来的中断管理模块,中断处理例程的管理以及中断响应的时序都由嵌入式硬件的处理器所决定。这造成了软件中的中断处理部分不易于移植,也不易于保证不同硬件上设备中断性能的一致性。在使用了Linux和Windows操作系统的嵌入式产品中,由于Linux系统的设计缺陷,中断系统只能管理到一般意义上的计算机中断事件,而与中断表现相类似的软件级别的临界事件没有被纳入到中断管理模块中,使得软件开发上,对于软件的临界事件和中断的临界事件要分成两种概念来处理,增加软件开发理论的复杂度。在使用了Windows NT内核的操作系统的嵌入式产品中,Windows提供的中断管理模块合并了软件同步临界和软件异步临界的响应管理,但是其中断等级只有32个。如果硬件中断等级超过32个,则不能让所有硬件中断都有独自的响应优先级,这样影响了硬件事件响应的实时性。
在软件过程中,有时会遇到同一软件资源或者硬件资源被不同软件流程共享访问的情况。当这些软件流程被不同的线程所调用的时候,必须保证它们互斥运行,以避免对共享的资源造成非预期的错误修改。这种需要互斥运行保护的共享资源叫做临界资源,访问资源的代码叫做临界代码区,软件上调用临界代码区叫做软件临界事件。在硬件引发的中断事件中,中断处理程序除了执行中断相关的硬件信号的操作外,还有可能发生修改软件变量、调用纯软件逻辑的处理函数等访问软件资源的非硬件相关动作。由于中断处理程序本身就是打断正常软件流程的,必须对中断发生前的正常软件流程中正在访问的、与中断处理程序中会被访问到的软件资源做保护,以避免软件资源被中断处理程序造成非预期修改的错误。因此,中断事件也有软件临界事件类似的特征,即硬件中断事件(也就是硬件临界事件)。
发明内容
本发明要解决的技术问题,在于提供一种嵌入式系统中进行中断及临界事件管理操作的方法,其能在不同处理器上快速移植,并保证中断及临界事件管理操作的响应效果的一致性。
本发明是这样实现的:一种嵌入式系统中进行中断及临界事件管理操作的方法,该方法具体为:
结合嵌入式系统中的硬件中断事件及软件临界事件的响应特点和要求,将软件临界事件和硬件中断事件统一为临界事件的逻辑概念;将硬件中断处理程序和软件临界事件处理程序统一为临界处理程序的概念,形成一临界处理程序集合;并在嵌入式的操作系统层设计一临界管理器;该临界管理器不限制支持的临界等级数量,协调临界处理程序挂载和执行的动作;并将临界处理程序挂载到临界管理器上,实现对临界事件的分优先级响应处理;根据嵌入式系统硬件处理器的差异性,由临界管理器系统层软件实现临界事件发生后的统一入口和分派处理,使得不同处理器上能移植该临界管理器,用来统一不同处理器上软件临界事件和中断处理的程序来处理和响应时序。
本发明具有如下优点:本发明可以统一中断事件和软件临界事件的概念,简化编程;该中断管理操作的方法实现了与处理器无关的中断响应和分派处理,以及与处理器无关的优先级分派方法,可以方便在不同处理器上移植,使驱动和系统的代码可以在不同处理器上快速移植,并保证中断管理操作的响应效果的一致性。
附图说明
图1为本发明方法流程示意图。
具体实施方式
请参阅图1所示,本发明为一种嵌入式系统中进行中断及临界事件管理操作的方法,该方法具体为:
结合嵌入式系统中的硬件中断事件及软件临界事件的响应特点和要求,将软件临界事件和硬件中断事件统一为临界事件的逻辑概念;该具体为:将硬件的中断事件和软件的临界事件在同一优先级队列中进行优先级定义,软件临界事件的优先级总低于硬件中断事件的优先级,各事件相关的临界资源根据事件的优先级构成访问重复进入的优先级保护;这样使硬件中断事件和软件临界事件在概念上抽象成统一的临界事件;
将硬件中断处理程序和软件临界事件处理程序统一为临界处理程序的概念,形成一临界处理程序集合;并在嵌入式的操作系统层设计一临界管理器;该临界管理器不限制支持的临界等级数量,协调临界处理程序挂载和执行的动作;
其中,将系统中的硬件中断处理程序和软件临界事件处理程序统一为临界处理程序的概念,形成一临界处理程序集合,具体为:将软件临界事件对应的临界代码定义成函数;该函数和中断处理程序的函数在原型约定、返回值约定、处理过程中对资源管理及各种系统机制的使用方面都遵循一致的软件约束条件,使得将中断处理程序和软件临界事件处理程序抽象成临界处理程序;这些临界处理程序形成临界处理程序集合;
并将临界处理程序挂载到临界管理器上,实现对临界事件的分优先级响应处理;根据嵌入式系统硬件处理器的差异性,由临界管理器系统层软件实现临界事件发生后的统一入口和分派处理,使得不同处理器上能移植该临界管理器,用来统一不同处理器上软件临界事件和中断处理的程序来处理和响应时序;其中,根据嵌入式系统硬件处理器的差异性,由临界管理器系统层软件实现临界事件发生后的统一入口和分派处理,使得不同处理器上能移植该临界管理器,具体为:利用处理器存在的中断的软件入口,或称异常入口,作为临界处理的唯一入口,在该入口中,由临界管理器实现统一的先期处理方法,该先期处理方法负责判断临界事件的优先级;利用软件备份和还原处理器上下文的方式来实现高优先级临界处理程序的嵌套;在进入对应优先级临界处理程序的处理器上下文后,再分派调用对应的临界处理程序执行临界事件的响应;在临界处理程序执行完成后,再由临界管理器实现统一的后期处理方法,该后期处理方法用于检索临界事件的重复进入、低优先级临界处理程序处理上下文的恢复、以及还原到进入临界前的软件处理流程中;所有对应的实现中,涉及到寄存器与具体处理器相关的部分都封装为独立的函数接口实现,这些函数接口存放在独立的代码文件中,若更改处理器,则只要更换存储了这些处理器相关函数接口的代码文件即可,使得上述的临界管理机制能在各处理器上移植。
这里值得一提的是:临界管理器中设置有一个数组,数组的元素下标表示临界事件的优先级,优先级越高数组下标越大;数组的元素个数作为一个宏来配置,不同的产品能配置不同的宏来定义数组的规模,从而实现不同产品临界等级数量的自定义和扩增;数组的每个元素是一个链表的指针,一个链表是一个优先级的所有临界处理程序的函数指针的集合;链表的每个节点的数据是一个临界处理程序的函数指针,临界管理器提供一接口,实现临界处理程序的挂载、卸载、启动、和禁用,以及软件激活进入任意一临界事件等级的处理;软件开发人员能基于这个接口,使用临界管理器提供的各种功能。
总之,本发明可以统一中断事件和软件临界事件的概念,简化编程;该中断管理操作的方法实现了与处理器无关的中断响应和分派处理,以及与处理器无关的优先级分派方法,可以方便在不同处理器上移植,使驱动和系统的代码可以在不同处理器上快速移植,并保证中断及临界事件管理操作的响应效果的一致性。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (4)
1.一种嵌入式系统中进行中断以及临界事件管理操作的方法,其特征在于:该方法具体为:
结合嵌入式系统中的硬件中断事件及软件临界事件的响应特点和要求,将软件临界事件和硬件中断事件统一为临界事件的逻辑概念;将硬件中断处理程序和软件临界事件处理程序统一为临界处理程序的概念,形成一临界处理程序集合;并在嵌入式的操作系统层设计一临界管理器;该临界管理器不限制支持的临界等级数量,协调临界处理程序挂载和执行的动作;并将临界处理程序挂载到临界管理器上,实现对临界事件的分优先级响应处理;根据嵌入式系统硬件处理器的差异性,由临界管理器系统层软件实现临界事件发生后的统一入口和分派处理,使得不同处理器上能移植该临界管理器,用来统一不同处理器上软件临界事件和中断处理的程序来处理和响应时序;
根据嵌入式系统硬件处理器的差异性,由临界管理器软件实现临界事件发生后的统一入口和分派处理,使得不同处理器上能移植该临界管理器,具体为:利用处理器存在的中断的异常入口,作为临界处理的唯一入口,在该入口中,由临界管理器实现统一的先期处理方法,该先期处理方法负责判断临界事件的优先级;利用软件备份和还原处理器上下文的方式来实现高优先级临界处理程序的嵌套;在进入对应优先级临界处理程序的处理器上下文后,再分派调用对应的临界处理程序执行临界事件的响应;在临界处理程序执行完成后,再由临界管理器实现统一的后期处理方法,该后期处理方法用于检索临界事件的重复进入、低优先级临界处理程序处理上下文的恢复、以及还原到进入临界前的软件处理流程中;所有对应的实现中,涉及到寄存器与具体处理器相关的部分都封装为独立的函数接口实现,这些函数接口存放在独立的代码文件中,若更改处理器,则只要更换存储了这些处理器相关函数接口的代码文件即可,使得上述的临界管理机制能在各处理器上移植。
2.根据权利要求1所述的一种嵌入式系统中进行中断以及临界事件管理操作的方法,其特征在于:所述结合嵌入式系统中的硬件中断事件及软件临界事件的响应特点和要求,将软件临界事件和硬件中断事件统一为临界事件的逻辑概念,具体为:将硬件的中断事件和软件的临界事件在同一优先级队列中进行优先级定义,软件临界事件的优先级总低于硬件中断事件的优先级,各事件相关的临界资源根据事件的优先级构成访问重复进入的优先级保护;这样使硬件中断事件和软件临界事件在概念上抽象成统一的临界事件。
3.根据权利要求1所述的一种嵌入式系统中进行中断以及临界事件管理操作的方法,其特征在于:将系统中的硬件中断处理程序和软件临界事件处理程序统一为临界处理程序的概念,形成一临界处理程序集合,具体为:将软件临界事件对应的临界代码定义成函数;该函数和中断处理程序的函数在原型约定、返回值约定、处理过程中对资源管理及各种系统机制的使用都遵循一致的软件约束条件,使得将中断处理程序和软件临界事件处理程序抽象成临界处理程序;这些临界处理程序形成临界处理程序集合。
4.根据权利要求1所述的一种嵌入式系统中进行中断以及临界事件管理操作的方法,其特征在于:临界管理器中设置有一个数组,数组的元素下标表示临界事件的优先级,优先级越高数组下标越大;数组的元素个数作为一个宏来配置,不同的产品能配置不同的宏来定义数组的规模,从而实现不同产品临界等级数量的自定义和扩增;数组的每个元素是一个链表的指针,一个链表是一个优先级的所有临界处理程序的函数指针的集合;链表的每个节点的数据是一个临界处理程序的函数指针,临界管理器提供一接口,实现临界处理程序的挂载、卸载、启动、和禁用,以及软件激活进入任意一临界事件等级的处理;软件开发人员能基于这个接口,使用临界管理器提供的各种功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310494726.0A CN103559085B (zh) | 2013-10-21 | 2013-10-21 | 一种嵌入式系统中进行中断以及临界事件管理操作的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310494726.0A CN103559085B (zh) | 2013-10-21 | 2013-10-21 | 一种嵌入式系统中进行中断以及临界事件管理操作的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103559085A CN103559085A (zh) | 2014-02-05 |
CN103559085B true CN103559085B (zh) | 2016-10-05 |
Family
ID=50013338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310494726.0A Active CN103559085B (zh) | 2013-10-21 | 2013-10-21 | 一种嵌入式系统中进行中断以及临界事件管理操作的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103559085B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112134859B (zh) * | 2020-09-09 | 2021-07-06 | 上海沈德医疗器械科技有限公司 | 一种基于arm架构的聚焦超声治疗设备控制方法 |
CN112068945B (zh) * | 2020-09-16 | 2024-05-31 | 厦门势拓御能科技有限公司 | 一种优化嵌入式系统中优先级反转方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1409209A (zh) * | 2001-09-24 | 2003-04-09 | 深圳市中兴通讯股份有限公司上海第二研究所 | 一种多任务实时操作系统的实现方法 |
US7339334B2 (en) * | 2006-04-19 | 2008-03-04 | Padauk Technology Co., Ltd. | Real-time responsive motor control system |
US7890753B2 (en) * | 2002-01-16 | 2011-02-15 | Texas Instruments Incorporated | Secure mode for processors supporting MMU and interrupts |
CN102103520A (zh) * | 2010-12-14 | 2011-06-22 | 深圳市金宏威实业发展有限公司 | 一种定时器的实现方法和装置 |
CN102105871A (zh) * | 2008-07-28 | 2011-06-22 | Arm有限公司 | 虚拟处理设备的中断控制 |
CN102822802A (zh) * | 2010-03-30 | 2012-12-12 | 富士通株式会社 | 多核处理器系统、控制程序以及控制方法 |
-
2013
- 2013-10-21 CN CN201310494726.0A patent/CN103559085B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1409209A (zh) * | 2001-09-24 | 2003-04-09 | 深圳市中兴通讯股份有限公司上海第二研究所 | 一种多任务实时操作系统的实现方法 |
US7890753B2 (en) * | 2002-01-16 | 2011-02-15 | Texas Instruments Incorporated | Secure mode for processors supporting MMU and interrupts |
US7339334B2 (en) * | 2006-04-19 | 2008-03-04 | Padauk Technology Co., Ltd. | Real-time responsive motor control system |
CN102105871A (zh) * | 2008-07-28 | 2011-06-22 | Arm有限公司 | 虚拟处理设备的中断控制 |
CN102822802A (zh) * | 2010-03-30 | 2012-12-12 | 富士通株式会社 | 多核处理器系统、控制程序以及控制方法 |
CN102103520A (zh) * | 2010-12-14 | 2011-06-22 | 深圳市金宏威实业发展有限公司 | 一种定时器的实现方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103559085A (zh) | 2014-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104866762B (zh) | 安全管理程序功能 | |
US20110185359A1 (en) | Determining A Conflict in Accessing Shared Resources Using a Reduced Number of Cycles | |
CN1920797A (zh) | 存储器访问控制装置 | |
WO2014014487A1 (en) | Pattern extraction from executable code in message passing environments | |
CN110462588A (zh) | 虚拟机运行跟踪 | |
CN106095563B (zh) | 灵活的物理功能和虚拟功能映射 | |
WO2015008112A1 (en) | System on chip and method therefor | |
CN105074656A (zh) | 管理并发谓词表达式的方法和装置 | |
CN114327809A (zh) | 构建和调度用于并行处理的任务 | |
CN103559085B (zh) | 一种嵌入式系统中进行中断以及临界事件管理操作的方法 | |
CN113313247A (zh) | 基于数据流架构的稀疏神经网络的运算方法 | |
Fecher et al. | UML 2.0 state machines: Complete formal semantics via core state machine | |
CN105243023A (zh) | 并行运行时错误检测方法 | |
CN104731800A (zh) | 数据分析装置 | |
CN102141906B (zh) | 基于阵列的线程倒计时 | |
US20140136745A1 (en) | Method and apparatus for allocating interrupts in a multi-core system | |
US11360702B2 (en) | Controller event queues | |
US8707306B1 (en) | Implementing user-selectable concurrent access protection mechanism in a multi-tasking modeling environment | |
US10496524B2 (en) | Separating test coverage in software processes using shared memory | |
CN109669878B (zh) | 一种最简化缓存数据操作方法 | |
US10409624B1 (en) | Data array compaction in an emulation system | |
CN104636509A (zh) | 门级仿真中验证时序问题的方法 | |
Morbé et al. | Fully symbolic TCTL model checking for incomplete timed systems | |
CN106033385A (zh) | 用于追踪程序执行状态的方法与多核心处理系统 | |
CN102147752A (zh) | 一种处理事件的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20160823 Address after: Cangshan District of Fuzhou City, Fujian province 350000 Jinshan Road No. 618 juyuanzhou Ruijie Science Park building 19-22 Applicant after: Fujian Star-net Communication Co., Ltd. Address before: 350000 No. 21, No. 22, No. 618, Jinshan Road, Jinshan Industrial Zone, Cangshan District, Fujian, Fuzhou, 55 Applicant before: Shengteng IT Co., Ltd., Fujian |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |