中断异常监控方法和装置的制造方法

文档序号:9708200阅读:306来源:国知局
中断异常监控方法和装置的制造方法
【技术领域】
[0001 ]本发明涉及嵌入式软件领域,尤其涉及一种中断异常监控方法和装置。
【背景技术】
[0002]嵌入式软件中的中断,是指在嵌入式系统运行过程中,系统出现了必须由中央处理器立即处理的情况时,中央处理器(英文全称:Central Processing Unit,英文简称:CPU)会暂时停止当前程序的执行转而执行处理新情况的程序和执行过程。中断是嵌入式系统的基础,系统时钟、任务切换等都依赖于中断,一旦中断出现问题将会导致整个系统崩溃。
[0003]然而,目前的嵌入式系统中没有一种有效的手段来监控和定位中断异常的方法,例如中断过于频繁或者中断死转,而一旦出现中断异常问题,会导致系统异常并且定位问题困难。

【发明内容】

[0004]本发明的实施例提供一种中断异常监控方法和装置,用于解决由于过于频繁中断或中断死转所导致的系统异常和定位问题困难的问题。
[0005]为达到上述目的,本发明的实施例采用如下技术方案:
[0006]第一方面,提供了一种中断异常监控方法,包括:
[0007]在中断发生时,获取单位时间内中断发生的频率;
[0008]根据所述中断发生的频率判断是否发生中断异常;
[0009]在发生中断异常时输出异常中断信息。
[0010]结合第一方面,在第一种可能的实现方式中,所述根据所述中断发生的频率判断是否发生中断异常,包括:
[0011 ]判断所述单位时间内中断发生的次数;
[0012]当所述单位时间内中断发生的次数超过中断次数阈值时,确定发生中断异常。
[0013]结合第一方面,在第二种可能的实现方式中,所述获取单位时间内中断发生的频率之前,还包括:
[0014]记录发生中断的中断类型,以及所述中断类型的中断发生的CPU周期数,以便依据所述CPU周期数确定相应中断类型的中断发生的频率。
[0015]结合第一方面,在第三种可能的实现方式中,在发生中断异常时输出异常中断信息之前,还包括:
[0016]禁止所述异常中断,配置所述异常中断的中断状态。
[0017]结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述方法还包括:
[0018]判断所述异常中断的所述中断状态;
[0019]若所述中断状态为异常禁止状态,则不使能所述异常中断;
[0020]若所述中断状态非异常禁止状态,则使能所述异常中断。
[0021 ]第二方面,提供了一种中断异常监控装置,包括:
[0022]获取单元,用于在中断发生时获取单位时间内中断发生的频率;
[0023]判断单元,用于根据所述中断发生的频率判断是否发生中断异常;
[0024]输出单元,用于在发生中断异常时输出异常中断信息。
[0025]结合第二方面,在第一种可能的实现方式中,所述判断单元具体用于判断所述单位时间内中断发生的次数;当所述单位时间内中断发生的次数超过中断次数阈值时,确定发生中断异常。
[0026]结合第二方面,在第二种可能的实现方式中,所述获取单元,还用于在获取单位时间内中断发生的频率之前,记录发生中断的中断类型,以及所述中断类型的中断发生的CPU周期数,以便依据所述CHJ周期数确定相应中断类型的中断发生的频率。
[0027]结合第二方面,在第三种可能的实现方式中,还包括:
[0028]中断使能单元,用于在所述输出单元输出异常中断信息之前,禁止所述异常中断,配置所述异常中断的中断状态。
[0029]结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述中断使能单元还用于判断所述异常中断的所述中断状态;若所述中断状态为异常禁止,则不使能所述异常中断;若所述中断状态非异常禁止,则使能所述异常中断。
[0030]本发明的实施例提供的中断异常监控方法和装置,通过单位时间内中断发生的频率来判断是否发生中断异常,并且输出异常中断信息的方式,解决了现有技术中由于过于频繁中断或中断死转所导致的系统异常和定位问题困难的问题。
【附图说明】
[0031]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0032]图1为本发明的实施例提供的一种中断系统的结构示意图;
[0033]图2为本发明的实施例提供的一种中断异常监控方法的流程示意图;
[0034]图3为本发明的实施例提供的另一种中断异常监控方法的流程示意图;
[0035]图4为本发明的实施例提供的一种中断使能判断的流程示意图;
[0036]图5为本发明的实施例提供的一种中断异常监控装置的结构示意图;
[0037]图6为本发明的实施例提供的另一种中断异常监控装置的结构示意图。
【具体实施方式】
[0038]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0039]参照图1所示为本发明的实施例所应用的中断系统的示意图。示例性的:CPU可响应的中断类型包括:软中断、故障强迫中断、定时器中断、数据通道中断、外设请求中断等。但是这些中断类型均可能出现频繁中断或中断死转等中断异常。
[0040]为解决上述问题,本发明的实施例提供了一种中断异常监控方法,应用于图1中所示的中断系统,参照图2所示,包括:
[0041]201、在中断发生时,获取单位时间内中断发生的频率。
[0042]202、根据所述中断发生的频率判断是否发生中断异常。
[0043]203、在发生中断异常时输出异常中断信息。
[0044]本发明的实施例提供的中断异常监控方法,通过单位时间内中断发生的频率来判断是否发生中断异常,并且输出异常中断信息的方式,解决了现有技术中由于过于频繁中断或中断死转所导致的系统异常和定位问题困难的问题。
[0045]本发明的实施例提供了另一种中断异常监控方法,应用于图1中所示的中断系统,参照图3所示,包括:
[0046]301、预设中断的单位时间中断次数阈值。
[0047]在中断发生前首先预先设置中断的单位时间中断次数阈值,作为用于判断是否发生中断异常的门限,在本实施例中示例性地,将单位时间中断次数阈值设置为103次/秒。
[0048]302、在中断发生后,记录发生中断的中断类型,以及该中断类型的中断发生的CPU周期数,以便依据该CPU周期数确定相应中断类型的中断发生的频率,即单位时间中断次数。
[0049]可选的,中断发生的CPU周期数可以配置,在本实施例中示例性地,可以配置只记录发生100次中断时所经过的CPU周期数。
[0050]303、根据该中断类型的中断发生的CPU周期数计算该中断类型的单位时间中断次数。
[0051]在本实施例中示例性地,上述100次中断所经过的CPU周期数为10000,其中,每CPU周期为1 X 10—6秒,则该中断类型的单位时间中断次数为1 / (1 X 10—6 X 10000/100) = 104次/秒。
[0052]304、判断单位时间中断次数是否超过中断次数阈值。
[0053]当该中断类型在单位时间内中断发生的次数超过中断次数阈值时,确定发生中断异常;此时,该中断类型的中断为异常中断,执行步骤306;
[0054]否则,执行执行步骤305然后跳转至步骤302重新执行。
[0055]在本实施例中示例性地,单位时间中断次数104>中断次数阈值103,因此执行步骤306。
[0056]305、执行正常中断处理。
[0057]306、禁止该中断类型的异常中断。
[0058]其中,在步骤306中,在禁止该中断类型的异常中断之后,参照图4所示,还包括:
[0059]S1、禁止该中断类型的异常中断。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1