CN100361105C - 中断处理中恢复访问环境设置的方法及装置 - Google Patents

中断处理中恢复访问环境设置的方法及装置 Download PDF

Info

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
Application number
CNB200510070642XA
Other languages
English (en)
Other versions
CN1687909A (zh
Inventor
张军琪
游明琦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vimicro Corp
Original Assignee
Vimicro Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Vimicro Corp filed Critical Vimicro Corp
Priority to CNB200510070642XA priority Critical patent/CN100361105C/zh
Publication of CN1687909A publication Critical patent/CN1687909A/zh
Application granted granted Critical
Publication of CN100361105C publication Critical patent/CN100361105C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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所述的装置,其特征在于所述保存模块,是将已记录的当前访问环境设置与已经完成访问的步骤索引复制到一个局部变量来实现保存。
CNB200510070642XA 2005-05-17 2005-05-17 中断处理中恢复访问环境设置的方法及装置 Expired - Fee Related CN100361105C (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106326089B (zh) * 2015-06-16 2020-03-27 中兴通讯股份有限公司 一种自动化测试的方法、装置及系统

Citations (4)

* Cited by examiner, † Cited by third party
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处理器结构的分级任务切换方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
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