程序中断的处理方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:38928333 阅读:7 留言:0更新日期:2023-09-25 09:34
本发明专利技术提供一种程序中断的处理方法、装置、电子设备及可读存储介质,其中,方法包括:获取中断号;若所述中断号指示程序中断,获取目标中断向量表基址,所述目标中断向量表基址与被中断程序对应;根据所述中断号以及所述目标中断向量表基址,确定目标中断服务程序地址;执行与所述目标中断服务程序地址对应的目标中断服务程序。本发明专利技术不需要中断偏移寄存器VTOR的硬件支持,能够广泛应用到各类微处理器中,应用范围大;并且,本发明专利技术无需将中断向量表完整地复制到RAM中,节约了微处理器的RAM资源,有利于微处理器保持高性能。有利于微处理器保持高性能。有利于微处理器保持高性能。

【技术实现步骤摘要】
程序中断的处理方法、装置、电子设备及可读存储介质


[0001]本专利技术实施例涉及计算机
,尤其涉及一种程序中断的处理方法、装置、电子设备及可读存储介质。

技术介绍

[0002]中断是指在微处理器运行期间,被微处理器内部或外部事件所打断、暂停当前程序的执行而转去执行一段特定的处理内部或外部时间程序的过程。
[0003]目前,对于存在启动程序和应用程序的微处理器,采用中断偏移寄存器VTOR或者RAM地址映射特性实现中断处理。由于很多微处理器没有设置VTOR寄存器,采用中断偏移寄存器VTOR实现中断处的方案应用范围有很大的局限性;RAM地址映射特性实现中断处理,具体为将中断向量表完整地复制到RAM中,该方案的应用会占用大量的RAM资源,降低可用于执行其他业务的RAM容量,对微处理器的性能造成严重的消极影响。

技术实现思路

[0004]本专利技术实施例提供一种程序中断的处理方法、装置、电子设备及可读存储介质,以解决现有的中断处理方案局限性大、占用大量的RAM资源对微处理器性能造成严重的消极影响的问题。
[0005]为了解决上述技术问题,本专利技术是这样实现的:
[0006]第一方面,本专利技术实施例提供了一种程序中断的处理方法,包括:
[0007]获取中断号;
[0008]若所述中断号指示程序中断,获取目标中断向量表基址,所述目标中断向量表基址与被中断程序对应;
[0009]根据所述中断号以及所述目标中断向量表基址,确定目标中断服务程序地址;
[0010]执行与所述目标中断服务程序地址对应的目标中断服务程序。
[0011]可选地,应用于包括随机存取存储器RAM的处理器,
[0012]所述随机存取存储器RAM中预设有第一目标数据段,所述第一目标数据段用于存储所述目标中断向量表基址;
[0013]获取目标中断向量表基址,包括:
[0014]从所述第一目标数据段获取所述目标中断向量表基址。
[0015]可选地,还包括:
[0016]若所述中断号指示程序在启动,获取在启动程序的中断向量表基址;
[0017]将所述在启动程序的中断向量表基址存储至所述第一目标数据段,作为所述目标中断向量表基址。
[0018]可选地,所述获取中断号之前,还包括:
[0019]程序在运行,并且所述目标中断向量表基址与在运行程序的中断向量表基址不相同的情况下,采用所述在运行程序的中断向量表基址更新所述目标中断向量表基址。
[0020]可选地,应用于包括只读存储器ROM的处理器,
[0021]所述只读存储器ROM上预设有第二目标数据段;所述第二目标数据段位于ROM起始地址,以使得程序被中断时由被中断地址跳转至所述第二目标数据段;
[0022]执行与所述目标中断服务程序地址对应的目标中断服务程序,包括:
[0023]由所述第二目标数据段跳转至所述目标中断服务程序地址,执行与所述目标中断服务程序地址对应的目标中断服务程序。
[0024]可选地,
[0025]所述第二目标数据段用于存储预设的自定义中断向量表;
[0026]所述执行与所述目标中断服务程序地址对应的目标中断服务程序之前,还包括:
[0027]由被中断地址跳转至所述第二目标数据段,执行与所述自定义中断向量表对应的自定义中断服务程序。
[0028]可选地,
[0029]所述自定义中断向量表包括:
[0030]主堆栈指针MSP;
[0031]以及若干自定义中断向量,全部的所述自定义中断向量均指向同一所述自定义中断服务程序。
[0032]第二方面,本专利技术实施例提供了一种程序中断的处理装置,包括:
[0033]获取模块,用于获取中断号;
[0034]处理模块,用于若所述中断号指示程序中断,获取目标中断向量表基址,所述目标中断向量表基址与被中断程序对应;
[0035]所述处理模块,还用于根据所述中断号以及所述目标中断向量表基址,确定目标中断服务程序地址;
[0036]所述处理模块,还用于执行与所述目标中断服务程序地址对应的目标中断服务程序。
[0037]第三方面,本专利技术实施例提供了一种电子设备,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面中任一项所述的程序中断的处理方法中的步骤。
[0038]第四方面,本专利技术实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面中任一项所述的程序中断的处理方法中的步骤。
[0039]在本专利技术实施例中,通过获取与被中断程序对应的目标中断向量表基址,确定目前中断向量表,并根据中断号以及目标中断向量表基址,确定目标中断服务程序地址;再执行与目标中断服务程序地址对应的目标中断服务程序,实现了不需要中断偏移寄存器VTOR的硬件支持的中断处理,能够广泛应用到各类微处理器中,应用范围大;并且,本专利技术实施例无需将中断向量表完整地复制到RAM中,节约了微处理器的RAM资源,有利于微处理器保持高性能。
附图说明
[0040]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通
技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0041]图1为本专利技术实施例程序中断的处理方法的流程示意图之一;
[0042]图2为本专利技术实施例程序中断的处理方法的原理示意图;
[0043]图3为本专利技术实施例程序中断的处理方法的程序空间分布示意图之一;
[0044]图4为本专利技术实施例程序中断的处理方法的流程示意图之二;
[0045]图5为本专利技术实施例程序中断的处理方法的程序空间分布示意图之二;
[0046]图6为本专利技术实施例程序中断的处理方法中自定义中断向量表的内部结构示意图;
[0047]图7为本专利技术实施例程序中断的处理方法的流程示意图之三;
[0048]图8为本专利技术实施例程序中断的处理装置的内部结构示意图;
[0049]图9为本专利技术实施例电子设备的内部结构示意图。
具体实施方式
[0050]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0051]本专利技术实施例提供了一种程序中断的处理方法,参见图1所示,图1为本专利技术实施例程序中断的处理方法的流程示意图之一,包括:
[0052]步骤11:获取中断号;
[0053]步骤12:若中断号指示程序中断,获取目标中断向量表基址,目标中断向量表基本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种程序中断的处理方法,其特征在于:包括:获取中断号;若所述中断号指示程序中断,获取目标中断向量表基址,所述目标中断向量表基址与被中断程序对应;根据所述中断号以及所述目标中断向量表基址,确定目标中断服务程序地址;执行与所述目标中断服务程序地址对应的目标中断服务程序。2.根据权利要求1所述的程序中断的处理方法,其特征在于:应用于包括随机存取存储器RAM的处理器,所述随机存取存储器RAM中预设有第一目标数据段,所述第一目标数据段用于存储所述目标中断向量表基址;获取目标中断向量表基址,包括:从所述第一目标数据段获取所述目标中断向量表基址。3.根据权利要求2所述的程序中断的处理方法,其特征在于:还包括:若所述中断号指示程序在启动,获取在启动程序的中断向量表基址;将所述在启动程序的中断向量表基址存储至所述第一目标数据段,作为所述目标中断向量表基址。4.根据权利要求1所述的程序中断的处理方法,其特征在于:所述获取中断号之前,还包括:程序在运行,并且所述目标中断向量表基址与在运行程序的中断向量表基址不相同的情况下,采用所述在运行程序的中断向量表基址更新所述目标中断向量表基址。5.根据权利要求1所述的程序中断的处理方法,其特征在于:应用于包括只读存储器ROM的处理器,所述只读存储器ROM上预设有第二目标数据段;所述第二目标数据段位于ROM起始地址,以使得程序被中断时由被中断地址跳转至所述第二目标数据段;执行与所述目标中断服务程序地址对应的目标中断服务程序,包括:由所...

【专利技术属性】
技术研发人员:周建华张猛覃攀
申请(专利权)人:中国移动通信集团有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1