CN100361105C - 中断处理中恢复访问环境设置的方法及装置 - Google Patents
中断处理中恢复访问环境设置的方法及装置 Download PDFInfo
- Publication number
- CN100361105C CN100361105C CNB200510070642XA CN200510070642A CN100361105C CN 100361105 C CN100361105 C CN 100361105C CN B200510070642X A CNB200510070642X A CN B200510070642XA CN 200510070642 A CN200510070642 A CN 200510070642A CN 100361105 C CN100361105 C CN 100361105C
- Authority
- CN
- China
- Prior art keywords
- access
- access environment
- environment setting
- visit
- setting
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000003068 static effect Effects 0.000 claims description 3
- 238000004321 preservation Methods 0.000 claims 3
- 238000010586 diagram Methods 0.000 description 4
- 238000011084 recovery Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种中断处理中恢复访问环境设置的方法及装置,首先根据访问类型,记录当前访问环境设置与访问已经完成的步骤索引,然后在中断出现时,保存中断时的访问环境设置与已经完成的步骤索引,中断恢复时,根据保存的中断时的访问环境设置与步骤索引,判断是否需要恢复访问环境操作,如果需要,则根据保存的访问环境设置与步骤索引,将访问环境设置已经进行的步骤再重新进行一次。本发明运用了保护访问环境的办法来恢复它被中断的访问环境设置,中断恢复时,根据保存的访问地址和步骤索引,把访问环境设置已经进行的步骤重新进行一次,这样,中断前已经进行的设置就被恢复了,继续访问,不会造成错误的结果。
Description
技术领域
本发明涉及一种中断处理方法及装置,尤其涉及一种中断处理中恢复访问环境设置的方法及装置。
背景技术
嵌入式实时系统(Real-Time System)是一个能够在指定或者确定的时间内对外部事件作出响应的系统,其重要的特性是实时响应性。嵌入式实时系统对外部事件的响应一般都是通过中断来处理的,其对中断的处理方式,直接影响到系统的实时性能。
实时多任务操作系统是嵌入式应用开发的基础平台。早期的嵌入式实时应用软件直接在处理器上运行,没有操作系统的支持,现在的大多嵌入式应用开发都需要嵌入式操作系统的支持。实际上,此时的嵌入式操作系统相当于一个通用而复杂的主控程序,为嵌入式应用软件提供更强大的开发平台和运行环境。
在嵌入式系统中,软件程序的执行经常会被中断打断。CPU通常会提供中断处理机制,在中断出现时,记录当前执行程序的上下文,在退出中断处理时,利用记录的程序上下文来恢复中断出现前的程序执行环境。这种机制保证了程序的连续运行。
但是在一些有特定要求的系统中,只有这种机制是不够的。
如图1所示,描述了VC0568系统在总线类型为multiplex 8时的软件访问过程。第一步,软件写入寄存器的高地址索引0xb4(步骤101);第二步,软件写入寄存器的高字节(byte)地址(步骤102);第三步,软件写入寄存器的低地址索引0xb2(步骤103);第四步,软件写入寄存器的低字节地址(步骤104);第五步,软件写入数据索引0xb0(步骤105);第六步,软件写入数据(步骤106)。
硬件根据软件写入的寄存器地址和数据来设置寄存器。整个过程是猝发(burst)的。如果在前五个步骤的某一个步骤进行时,中断出现,而且在中断处理过程中,有访问寄存器的操作,那么在中断出现前,已经对硬件写入的设置就会被更改。假定在第三步,中断出现前已经设定的寄存器高字节地址就会被冲掉。中断恢复后,继续寄存器访问,硬件会把数据写入一个别的地址,造成错误的结果。
再如图2所示,描述了VC0568系统在端口(port)模式时,访问静态随机存取存储器(SRAM)的过程。第一步,软件设置访问操作是读或者写(步骤201);第二步,软件设置访问的SRAM的地址(步骤202);第三步,软件设置访问SRAM的端口地址(步骤203)。这个过程必须是burst的。完成以上过程后,软件就连续向端口写数据(步骤204、205),硬件通过端口得到数据,每收到4个byte数据后,一次写入设定的SRAM地址。如果在前三个步骤的的某一个步骤进行时,中断出现,而且在中断处理过程中,有访问SRAM的操作。那么在中断出现前,已经对硬件写入的设置就会被更改。假定在第二步,中断,中断出现前已经设定的访问地址就会被冲掉。中断恢复后,继续SRAM的访问,硬件就会把数据写入别的SRAM地址,造成错误的结果。
因此,如何针对某些特定的系统要求,提供一种新的中断恢复机制,以保证中断前后的访问环境设置的一致,正确恢复中断前的访问环境设置,已经成为业内亟待解决的问题。
发明内容
本发明所要解决的技术问题在于提供一种中断处理中恢复访问环境设置的方法及装置,以保证中断前后的访问环境设置的一致。
本发明提供一种中断处理中恢复访问环境设置的方法,包括如下步骤:
(1)根据访问类型,记录当前访问环境设置与访问已经完成的步骤索引;
(2)中断出现时,保存中断时的访问环境设置与已经完成的步骤索引;
(3)中断恢复时,根据保存的中断时的访问环境设置与步骤索引,判断是否需要恢复访问环境操作,如果需要,则根据保存的访问环境设置与步骤索引,将访问环境设置已经进行的步骤再重新进行一次。
本发明进而提供一种中断处理中恢复访问环境设置的装置,包括:
记录模块,用于根据访问类型,记录当前访问环境设置与访问已经完成的步骤索引;
保存模块,用于当中断出现时,保存中断时的访问环境设置与已经完成的步骤索引;
判断模块,用于中断恢复时,根据保存的中断时的访问环境设置与步骤索引,判断是否需要恢复访问环境操作,如果需要,则根据保存的访问环境设置与步骤索引,将访问环境设置已经进行的步骤再重新进行一次。
本发明与现有技术相比,运用了保护访问环境的办法来恢复它被中断的访问环境设置,中断恢复时,根据保存的访问地址和步骤索引,把访问环境设置已经进行的步骤重新进行一次,这样,中断前已经进行的设置就被恢复了,继续访问,不会造成错误的结果。
附图说明
图1描述了VC0568系统在总线类型为multiplex 8时的软件访问过程流程图;
图2描述了VC0568系统在端口模式时访问静态随机存取存储器的过程流程图;
图3为本发明所述的中断处理中恢复访问环境设置的方法流程图。
具体实施方式
针对VC0568等系统的特殊需求,本发明采取了保护SRAM访问环境的办法来恢复被中断的访问环境设置。在访问环境设置开始前,根据访问类型,记录访问的地址和访问环境设置进行的步骤索引。中断出现时,当前的访问地址和步骤索引会被保存。中断恢复时,根据保存的访问地址和步骤索引来判断是否需要恢复访问环境操作。如果需要,根据保存的访问地址和步骤索引,把访问环境设置已经进行的步骤重新进行一次。这样,中断前已经进行的设置就被恢复了,继续访问,不会造成错误的结果。
如图3所示,为本发明之中断处理中恢复访问环境设置的方法流程图,首先根据访问类型,记录当前访问环境设置与访问已经完成的步骤索引(步骤301);然后在中断出现时,保存中断时的访问环境设置与已经完成的步骤索引(步骤302);中断恢复时,根据保存的中断时的访问环境设置与步骤索引,判断是否需要恢复访问环境操作,如果需要,则根据保存的访问环境设置与步骤索引,将访问环境设置已经进行的步骤再重新进行一次(步骤303)。
其中所述的访问类型是根据访问寄存器,还是访问SRAM,以及总线类型来确定的;例如,如果系统用到的总线类型有MULTI8,MULTI16和SEPERATE三种,这样,类型就有2×2×4=16种。而中断处理结束后需要恢复的原来的访问环境设置,也是与此相对应的。
其中所述步骤301,是通过一个全局变量来记录寄存器访问需要设置的环境和访问已经完成的步骤。
所述步骤302,中断出现时,是将已记录的当前访问环境设置与已经完成的步骤索引复制到一个局部变量来实现保存。
所述步骤303,中断恢复时,是根据保存的中断时的访问环境设置与步骤索引,与当前的访问环境设置与步骤索引进行比较的结果是否一致,来判断是否需要恢复访问环境操作。
所述的步骤303,如果判断结果一致,则不需要进行恢复访问环境操作,直接从中断处执行后续操作。
所述步骤303,中断恢复时,是根据用于保存中断时的访问环境设置与步骤索引的局部变量,与用于记录当前访问环境设置与步骤索引的全局变量进行比较的结果是否一致,来判断是否需要恢复访问环境操作。
如果所述全局变量与局部变量一致,则不需要进行恢复访问环境操作。
如果所述全局变量与局部变量不一致,则需要进行恢复访问环境操作。
例如,对于总线类型为multiplex 8,对地址为0x2024寄存器进行写操作时,根据图1所示,在访问操作进行到第三步时,被中断打断,这时,0xb4,0x20(写入寄存器的高字节地址数据,图中未示),0xb2已经被硬件收到,设置到访问环境中。在寄存器访问函数中,用一个全局变量A来记录寄存器访问需要设置的环境和访问已经完成的步骤,在中断处理程序入口处,把这个全局变量A的值拷贝到一个局部变量B。在中断处理程序中,进行了寄存器访问操作,假设访问地址为0x1802的寄存器,把0xb4,0x18,0xb2,0x02,0xb0送到硬件,硬件的寄存器访问环境被改变。在中断处理函数的出口处,用局部变量B对寄存器的访问环境重新设置,再次把0xb4,0x20,0xb2送到硬件,同时全局变量A也恢复成中断前的值。中断程序退出后,寄存器访问操作继续执行,它的访问环境和中断发生前的设置相同,可以继续以后的访问步骤,而不会造成错误的结果。
本发明提供的一种中断处理中恢复访问环境设置的装置,包括:
记录模块,对应于图3中的步骤301,用于根据访问类型,记录当前访问环境设置与访问已经完成的步骤索引;
保存模块,对应于图3中的步骤302,用于当中断出现时,保存中断时的访问环境设置与已经完成的步骤索引;
判断模块,对应于图3中的步骤303,用于中断恢复时,根据保存的中断时的访问环境设置与步骤索引,判断是否需要恢复访问环境操作,如果需要,则根据保存的访问环境设置与步骤索引,将访问环境设置已经进行的步骤再重新进行一次。
尽管本发明的实施例公开如上,但本发明并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。
Claims (11)
1、一种中断处理中恢复访问环境设置的方法,其特征在于包括如下步骤:
(1)根据访问类型,记录当前访问环境设置与已经完成访问的步骤索引;
(2)中断出现时,保存中断时的访问环境设置与已经完成访问的步骤索引;
(3)中断恢复时,根据所述步骤(2)保存的中断时的访问环境设置与已经完成访问的步骤索引,与所述步骤(1)记录的当前访问环境设置与已经完成访问的步骤索引进行比较的结果是否一致,来判断是否需要恢复访问环境操作,如果需要,则根据所述步骤(2)保存的访问环境设置与已经完成访问的步骤索引,将访问环境设置已经进行的步骤再重新进行一次。
2、如权利要求1所述的方法,其特征在于所述访问类型,是由访问对象以及总线类型的组合来确定的,其中访问对象包括寄存器和静态随机存储器。
3、如权利要求1所述的方法,其特征在于所述步骤(1),是通过一个全局变量来记录当前访问环境设置和已经完成访问的步骤索引。
4、如权利要求1所述的方法,其特征在于所述步骤(2),中断出现时,是将已记录的当前访问环境设置与已经完成访问的步骤索引复制到一个局部变量来实现保存。
5、如权利要求1所述的方法,其特征在于所述的步骤(3),如果判断所述比较的结果一致,则不需要进行恢复访问环境操作,直接从中断处执行后续操作。
6、如权利要求1所述的方法,其特征在于所述步骤(3),中断恢复时,是根据用于保存所述步骤(2)中的中断时的访问环境设置与已经完成访问的步骤索引的局部变量,与用于记录所述步骤(1)中的当前访问环境设置与已经完成访问的步骤索引的全局变量进行比较的结果是否一致,来判断是否需要恢复访问环境操作。
7、如权利要求6所述的方法,其特征在于如果所述全局变量与局部变量一致,则不需要进行恢复访问环境操作。
8、如权利要求6所述的方法,其特征在于如果所述全局变量与局部变量不一致,则需要进行恢复访问环境操作。
9、一种中断处理中恢复访问环境设置的装置,其特征在于包括:
记录模块,用于根据访问类型,记录当前访问环境设置与已经完成访问的步骤索引;
保存模块,用于当中断出现时,保存中断时的访问环境设置与已经完成访问的步骤索引;
判断模块,用于中断恢复时,根据所述保存模块保存的中断时的访问环境设置与已经完成访问的步骤索引,与所述记录模块记录的当前访问环境设置与已经完成访问的步骤索引进行比较的结果是否一致,来判断是否需要恢复访问环境操作,如果需要,则根据所述保存模块保存的访问环境设置与已经完成访问的步骤索引,将访问环境设置已经进行的步骤再重新进行一次。
10、如权利要求9所述的装置,其特征在于所述记录模块,是通过一个全局变量来记录当前访问环境设置和已经完成访问的步骤索引。
11、如权利要求9所述的装置,其特征在于所述保存模块,是将已记录的当前访问环境设置与已经完成访问的步骤索引复制到一个局部变量来实现保存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200510070642XA CN100361105C (zh) | 2005-05-17 | 2005-05-17 | 中断处理中恢复访问环境设置的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200510070642XA CN100361105C (zh) | 2005-05-17 | 2005-05-17 | 中断处理中恢复访问环境设置的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1687909A CN1687909A (zh) | 2005-10-26 |
CN100361105C true CN100361105C (zh) | 2008-01-09 |
Family
ID=35305950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200510070642XA Expired - Fee Related CN100361105C (zh) | 2005-05-17 | 2005-05-17 | 中断处理中恢复访问环境设置的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100361105C (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106326089B (zh) * | 2015-06-16 | 2020-03-27 | 中兴通讯股份有限公司 | 一种自动化测试的方法、装置及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1175731A (zh) * | 1996-08-19 | 1998-03-11 | 三星电子株式会社 | 多任务计算系统环境中有效现场保存与恢复的装置和方法 |
CN1298519A (zh) * | 1998-04-29 | 2001-06-06 | 英特尔公司 | 中断控制器 |
US6253275B1 (en) * | 1998-11-25 | 2001-06-26 | Advanced Micro Devices, Inc. | Interrupt gating method for PCI bridges |
CN1490722A (zh) * | 2003-09-19 | 2004-04-21 | 清华大学 | 基于PowerPC处理器结构的分级任务切换方法 |
-
2005
- 2005-05-17 CN CNB200510070642XA patent/CN100361105C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1175731A (zh) * | 1996-08-19 | 1998-03-11 | 三星电子株式会社 | 多任务计算系统环境中有效现场保存与恢复的装置和方法 |
CN1298519A (zh) * | 1998-04-29 | 2001-06-06 | 英特尔公司 | 中断控制器 |
US6253275B1 (en) * | 1998-11-25 | 2001-06-26 | Advanced Micro Devices, Inc. | Interrupt gating method for PCI bridges |
CN1490722A (zh) * | 2003-09-19 | 2004-04-21 | 清华大学 | 基于PowerPC处理器结构的分级任务切换方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1687909A (zh) | 2005-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4794522A (en) | Method for detecting modified object code in an emulator | |
US6698016B1 (en) | Method for injecting code into another process | |
US7313727B2 (en) | Adaptive recovery from system failure for application instances that govern message transactions | |
CN107807839B (zh) | 一种修改虚拟机内存数据的方法、装置及电子设备 | |
US5513351A (en) | Protecting a system during system maintenance by usage of temporary filenames in an alias table | |
US9262283B2 (en) | Method for reading kernel log upon kernel panic in operating system | |
US7171546B2 (en) | CPU life-extension apparatus and method | |
KR20030059339A (ko) | 단일 스텝 처리 방법 및 장치 | |
US20060224874A1 (en) | Method for updating system management basic input output system (SMBIOS) data | |
US8806474B2 (en) | Computer-hardware, life-extension apparatus and method | |
US20010027387A1 (en) | Debugging supporting apparatus, debugging supporting method and recording medium readable by computer with its programs recorded thereon | |
US7519852B2 (en) | Apparatus, system, and method for redirecting an instruction pointer to recovery software instructions | |
US5960195A (en) | Intelligent volatile memory initialization | |
CN100361106C (zh) | 连续访问环境下的中断恢复方法及装置 | |
CN100361105C (zh) | 中断处理中恢复访问环境设置的方法及装置 | |
CN110515751B (zh) | 一种加载运行VxWorks实时保护进程的方法及系统 | |
US20040210716A1 (en) | Apparatus and method for simulating virtual floppy disk and virtual hard disk | |
CN105844151B (zh) | 一种文件存储保护实现方法和系统 | |
JP2000029690A (ja) | デ―タ処理の方法および装置 | |
US20160371501A1 (en) | Tracing processing activity | |
JP2521020B2 (ja) | 情報処理システム | |
CN100410901C (zh) | 固件更新的方法及执行此方法的系统 | |
JPH09330253A (ja) | メモリダンプ方法及びそれを適用したメモリダンプシステム | |
JPS59177660A (ja) | 電子計算機における診断結果のロギング方式 | |
JPH0926916A (ja) | 非破壊ディスク装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080109 Termination date: 20120517 |