System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 嵌入式环境下的通用中断处理方法及其系统技术方案_技高网

嵌入式环境下的通用中断处理方法及其系统技术方案

技术编号:41013165 阅读:5 留言:0更新日期:2024-04-18 21:50
嵌入式环境下的通用中断处理方法及其系统,涉及嵌入式实时系统技术领域。解决现有中断处理方法存在的灵活性差的问题。方法为:创建二维数组作为中断向量表并对中断向量表的每一维度的数组成员均初始化成机器码形式的汇编指令;在中断发生时的跳转地址处,写入跳转中断向量表每一维起始地址的指令;实例化中断映射结构表;将驱动实体中的中断处理函数和中断号动态的填入中断映射结构表中;中断触发时,根据跳转地址指令跳转至中断向量表,中断向量表通过存储的跳转指令跳转至中断映射函数,中断映射函数根据中断映射结构表中存储的中断号和实际中断处理函数映射关系跳转至驱动实体中的中断处理函数进行处理。本发明专利技术适航天领域的嵌入式实时系统。

【技术实现步骤摘要】

本专利技术涉及嵌入式实时系统,特别涉及航天领域的嵌入式实时系统。


技术介绍

1、目前,对于中断处理的普遍做法是在软件的初始化阶段将全部的中断和中断处理函数用汇编指令全部写好,中断号与中断处理函数一一对应,然后进行编译,形成静态库,一旦需要修改对应关系或中断处理函数,则要修改汇编代码指令,使得灵活性差。


技术实现思路

1、本专利技术解决现有中断处理方法存在的灵活性差的问题。

2、为实现上述目的,本专利技术提供了如下方案:

3、本专利技术提供一种嵌入式环境下的通用中断处理方法,所述通用中断处理方法为:

4、创建二维数组作为中断向量表,并对所述中断向量表的每一维度的数组成员均初始化成机器码形式的汇编指令;

5、在中断发生时的跳转地址处,写入跳转中断向量表每一维起始地址的指令;

6、根据中断映射结构实例化三个数组作为中断映射结构表;

7、创建通用驱动模板,根据所述通用驱动模板创建驱动实体;

8、将所述驱动实体中的中断处理函数和中断号动态的填入所述中断映射结构表中;

9、中断触发时,根据中断发生时的跳转地址处的指令跳转至中断向量表中,所述中断向量表通过存储的跳转指令跳转至中断映射函数,所述中断映射函数根据所述中断映射结构表中存储的中断号和实际中断处理函数映射关系跳转至所述驱动实体中的中断处理函数进行处理。

10、进一步,还有一种优选实施例,上述三个数组分别为cpu一级中断映射结构数组、cpu二级扩展中断映射结构数组和fpga扩展中断映射结构数组。

11、进一步,还有一种优选实施例,上述cpu一级中断映射结构数组、cpu二级扩展中断映射结构数组和fpga扩展中断映射结构数组中的结构成员均包括掩码、中断处理函数指针和中断处理函数参数。

12、进一步,还有一种优选实施例,上述掩码用于计算中断号。

13、进一步,还有一种优选实施例,上述中断处理函数参数用于中断实例自身指针。

14、进一步,还有一种优选实施例,上述中断向量表中的指令以机器码的形式存放在数据段。

15、进一步,还有一种优选实施例,上述驱动实体上嵌入有驱动安装接口、驱动初始化接口、驱动开启接口、驱动关闭接口、驱动控制接口、驱动读接口、驱动写接口、中断处理接口a和中断处理接口b;

16、所述驱动安装接口用于传输驱动安装程序;

17、所述驱动初始化接口用于传输驱动实体初始化程序;

18、所述驱动开启接口用于传输驱动开启程序;

19、所述驱动关闭接口用于传输驱动关闭程序;

20、所述驱动控制接口用于传输驱动控制程序;

21、所述驱动读接口用于传输数据读取程序;

22、所述驱动写接口用于传输数据写入程序;

23、所述中断处理接口a用于传输驱动挂载中断a被触发时的程序;

24、所述中断处理接口b用于传输驱动挂载中断b被触发时的程序。

25、本专利技术所述的一种嵌入式环境下的通用中断处理方法可以全部采用计算机软件实现,因此,对应的,本专利技术还提供一种嵌入式环境下的通用中断处理系统,所述通用中断处理系统为:

26、用于创建二维数组作为中断向量表,并对所述中断向量表的每一维度的数组成员均初始化成机器码形式的汇编指令的存储装置;

27、用于在中断发生时的跳转地址处,写入跳转中断向量表每一维起始地址的指令的存储装置;

28、用于根据中断映射结构实例化三个数组作为中断映射结构表的存储装置;

29、用于创建通用驱动模板,根据所述通用驱动模板创建驱动实体的存储装置;

30、用于将所述驱动实体中的中断处理函数和中断号动态的填入所述中断映射结构表中的存储装置;

31、用于中断触发时,根据中断发生时的跳转地址处的指令跳转至中断向量表中,所述中断向量表通过存储的跳转指令跳转至中断映射函数,所述中断映射函数根据所述中断映射结构表中存储的中断号和实际中断处理函数映射关系跳转至所述驱动实体中的中断处理函数进行处理的存储装置。

32、本专利技术还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述任意一项所述的嵌入式环境下的通用中断处理方法。

33、本专利技术还提供一种计算机设备,该设备包括存储器和处理器,所述存储器中存储有计算机程序,当所述处理器运行所述存储器存储的计算机程序时,所述处理器执行上述任意一项所述的嵌入式环境下的通用中断处理方法。

34、本专利技术的有益效果为:

35、1、本专利技术提供一种嵌入式环境下的通用中断处理方法,采用二维数组作为中断向量表,中断向量表用于存储跳转中断映射处理函数的指令,并对所述中断向量表的每一维度的数组成员均初始化成机器码形式的汇编指令,使得中断发生时调用中断映射处理函数,确保在中断发生时能够迅速定位到正确的中断处理函数,起到直接索引功能,而不是遍历查找,从而快速响应中断,提高中断处理的效率。根据中断映射结构实例化三个数组作为中断映射结构表;并动态的将驱动实体中的用户自定义的中断处理函数和中断号填入中断映射结构表中进行链接,使得中断触发时,根据中断发生时的跳转地址处的指令跳转至中断向量表中,所述中断向量表通过存储的跳转指令跳转至中断映射函数,所述中断映射函数根据所述中断映射结构表中存储的中断号和实际中断处理函数映射关系跳转至所述驱动实体中的中断处理函数进行处理,解决现有中断处理方法存在的灵活性差的问题。

36、2、现有中断处理的普遍做法是在软件的初始化阶段将全部的中断和中断处理函数用汇编指令全部写好,中断号与中断处理函数一一对应,然后进行编译,形成静态库,一旦需要修改对应关系或中断处理函数,则要修改汇编代码指令,具有灵活性差的缺陷。本专利技术提供一种嵌入式环境下的通用中断处理方法,以机器码的形式将指令存放在数据段,并根据中断映射结构实例化三个数组作为中断映射结构表;并动态的将驱动实体中的用户自定义的中断处理函数和中断号填入中断映射结构表中进行链接,使得相同架构模板只需设计一次即可。不同架构只需修改相应机器码,易于移植。中断号与中断函数对应关系改变时,只需修改驱动实体的中断链接接口的入参,同时也具有驱动和中断处理函数可在运行时动态卸载和动态加载的优势。

37、本专利技术适用于航天领域的嵌入式实时系统。

本文档来自技高网...

【技术保护点】

1.嵌入式环境下的通用中断处理方法,其特征在于,所述方法为:

2.根据权利要求1所述的嵌入式环境下的通用中断处理方法,其特征在于,所述三个数组分别为CPU一级中断映射结构数组、CPU二级扩展中断映射结构数组和FPGA扩展中断映射结构数组。

3.根据权利要求1所述的嵌入式环境下的通用中断处理方法,其特征在于,所述CPU一级中断映射结构数组、CPU二级扩展中断映射结构数组和FPGA扩展中断映射结构数组中的结构成员均包括掩码、中断处理函数指针和中断处理函数参数。

4.根据权利要求3所述的嵌入式环境下的通用中断处理方法,其特征在于,所述掩码用于计算中断号。

5.根据权利要求3所述的嵌入式环境下的通用中断处理方法,其特征在于,所述中断处理函数参数用于中断实例自身指针。

6.根据权利要求1所述的嵌入式环境下的通用中断处理方法,其特征在于,所述中断向量表中的指令以机器码的形式存放在数据段。

7.根据权利要求1所述的嵌入式环境下的通用中断处理方法,其特征在于,所述驱动实体上嵌入有驱动安装接口、驱动初始化接口、驱动开启接口、驱动关闭接口、驱动控制接口、驱动读接口、驱动写接口、中断处理接口A和中断处理接口B;

8.嵌入式环境下的通用中断处理系统,其特征在于,所述系统为:

9.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行权利要求1-7任意一项所述的嵌入式环境下的通用中断处理方法。

10.一种计算机设备,其特征在于,该设备包括存储器和处理器,所述存储器中存储有计算机程序,当所述处理器运行所述存储器存储的计算机程序时,所述处理器执行权利要求1-7任意一项所述的嵌入式环境下的通用中断处理方法。

...

【技术特征摘要】

1.嵌入式环境下的通用中断处理方法,其特征在于,所述方法为:

2.根据权利要求1所述的嵌入式环境下的通用中断处理方法,其特征在于,所述三个数组分别为cpu一级中断映射结构数组、cpu二级扩展中断映射结构数组和fpga扩展中断映射结构数组。

3.根据权利要求1所述的嵌入式环境下的通用中断处理方法,其特征在于,所述cpu一级中断映射结构数组、cpu二级扩展中断映射结构数组和fpga扩展中断映射结构数组中的结构成员均包括掩码、中断处理函数指针和中断处理函数参数。

4.根据权利要求3所述的嵌入式环境下的通用中断处理方法,其特征在于,所述掩码用于计算中断号。

5.根据权利要求3所述的嵌入式环境下的通用中断处理方法,其特征在于,所述中断处理函数参数用于中断实例自身指针。

6.根据权利要求1所述的嵌入式环境下的通用中断处理方...

【专利技术属性】
技术研发人员:石韬刘先毅张新宇张云龙
申请(专利权)人:哈尔滨工大卫星技术有限公司
类型:发明
国别省市:

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

1