中断向量表的重映射方法、装置、微处理器及电子装置制造方法及图纸

技术编号:27304887 阅读:18 留言:0更新日期:2021-02-10 09:15
本发明专利技术公开了一种中断向量表的重映射方法、装置、微处理器及电子装置。该方法包括:在静态随机存取存储器内开辟第一存储区域,并将用户程序的中断向量表拷贝至第一存储区域,其中,静态随机存取存储器的起始地址与第一存储区域的起始地址相同;在嵌入式闪存内开辟第二存储区域,并将用户程序烧写至第二存储区域;在开始执行用户程序的过程中,将第一存储区域的起始地址映射至存储结构的起始地址。本发明专利技术解决了相关技术中由于Cortex-M0微处理器的内核无法支持中断向量表重映射,因此,在执行下载程序操作或者执行程序升级操作的过程中,通常需要将程序代码烧写到eflash的起始地址,由此限制了eflash的使用灵活性的技术问题。此限制了eflash的使用灵活性的技术问题。此限制了eflash的使用灵活性的技术问题。

【技术实现步骤摘要】
中断向量表的重映射方法、装置、微处理器及电子装置


[0001]本专利技术涉及计算机领域,具体而言,涉及一种中断向量表的重映射方法、装置、微处理器及电子装置。

技术介绍

[0002]Cortex-M0微处理器(即基于Cortex-M0内核的微处理器)是ARM推出的一款32位处理器。由于Cortex-M0微处理器的微处理器面积小,能耗极低,编程所需的代码量很小,性能稳定且微处理器价格低廉,因此,在市场上得到了广泛的应用。
[0003]目前,市场上大量生成并销售Cortex-M0微处理器。这些微处理器上通常配置有128KB或更大的嵌入式闪存(eflash)。而大部分程序代码通常只会占用eflash的小部分内存空间,而eflash中剩余的内存空间并未得到充分地利用。
[0004]由于Cortex-M0微处理器的内核无法支持中断向量表重映射,因此,在执行下载程序操作或者执行程序升级操作的过程中,通常需要将程序代码烧写到eflash的起始地址,由此限制了eflash的使用灵活性。
[0005]针对上述的问题,目前尚未提出有效的解决方案。

技术实现思路

[0006]本专利技术至少部分实施例提供了一种中断向量表的重映射方法、装置、微处理器及电子装置,以至少解决相关技术中由于Cortex-M0微处理器的内核无法支持中断向量表重映射,因此,在执行下载程序操作或者执行程序升级操作的过程中,通常需要将程序代码烧写到eflash的起始地址,由此限制了eflash的使用灵活性的技术问题。
[0007]根据本专利技术其中一实施例,提供了一种中断向量表的重映射方法,应用于微处理器,微处理器的内核采用指令和数据共享同一总线的架构,微处理器的存储结构包括:静态随机存取存储器和嵌入式闪存,该方法包括:
[0008]在静态随机存取存储器内开辟第一存储区域,并将用户程序的中断向量表拷贝至第一存储区域,其中,静态随机存取存储器的起始地址与第一存储区域的起始地址相同;在嵌入式闪存内开辟第二存储区域,并将用户程序烧写至第二存储区域;在开始执行用户程序的过程中,将第一存储区域的起始地址映射至存储结构的起始地址。
[0009]可选地,将中断向量表拷贝至第一存储区域包括:采用预设接口程序从静态随机存取存储器的起始地址开始,将中断向量表拷贝至第一存储区域,其中,预设接口程序为微处理器在上电或复位时最先执行的程序。
[0010]可选地,将用户程序烧写至第二存储区域包括:获取用户程序的待烧写地址;按照待烧写地址将用户程序的源代码编译为二进制文件;基于待烧写地址将用户程序的二进制文件烧写至第二存储区域。
[0011]可选地,将第一存储区域的起始地址映射至存储结构的起始地址包括:跳转到用户程序;在用户程序的启动代码中,将第一存储区域的起始地址映射至存储结构的起始地
址。
[0012]可选地,在将第一存储区域的起始地址映射至存储结构的起始地址之后,还包括:当用户程序的执行过程中发生异常中断时,从存储结构的起始地址获取中断向量,其中,中断向量为中断处理函数的起始地址;基于中断向量跳转执行中断处理函数。
[0013]根据本专利技术其中一实施例,还提供了一种中断向量表的重映射装置,应用于微处理器,所述微处理器的内核采用指令和数据共享同一总线的架构,所述微处理器的存储结构包括:静态随机存取存储器和嵌入式闪存,该装置包括:
[0014]拷贝模块,用于在静态随机存取存储器内开辟第一存储区域,并将用户程序的中断向量表拷贝至第一存储区域,其中,静态随机存取存储器的起始地址与第一存储区域的起始地址相同;烧写模块,用于在嵌入式闪存内开辟第二存储区域,并将用户程序烧写至第二存储区域;重映射模块,用于在开始执行用户程序的过程中,将第一存储区域的起始地址映射至存储结构的起始地址。
[0015]可选地,拷贝模块,用于采用预设接口程序从静态随机存取存储器的起始地址开始,将中断向量表拷贝至第一存储区域,其中,预设接口程序为微处理器在上电或复位时最先执行的程序。
[0016]可选地,烧写模块包括:获取单元,用于获取用户程序的待烧写地址;编译单元,用于按照待烧写地址将用户程序的源代码编译为二进制文件;烧写单元,用于基于待烧写地址将用户程序的二进制文件烧写至第二存储区域。
[0017]可选地,重映射模块包括:跳转单元,用于跳转到用户程序;重映射单元,用于在用户程序的启动代码中,将第一存储区域的起始地址映射至存储结构的起始地址。
[0018]可选地,上述装置还包括:获取模块,用于当用户程序的执行过程中发生异常中断时,从存储结构的起始地址获取中断向量,其中,中断向量为中断处理函数的起始地址;执行模块,用于基于中断向量跳转执行中断处理函数。
[0019]根据本专利技术其中一实施例,还提供了一种存储介质,存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任一项中的中断向量表的重映射方法。
[0020]根据本专利技术其中一实施例,还提供了一种微处理器,微处理器用于运行程序,其中,程序运行时执行上述任意一项的中断向量表的重映射方法。
[0021]根据本专利技术其中一实施例,还提供了一种电子装置,包括存储器和微处理器,存储器中存储有计算机程序,微处理器被设置为运行计算机程序以执行上述任一项中的中断向量表的重映射方法。
[0022]在本专利技术至少部分实施例中,采用在静态随机存取存储器内开辟第一存储区域并将用户程序的中断向量表拷贝至第一存储区域,静态随机存取存储器的起始地址与第一存储区域的起始地址相同,以及在嵌入式闪存内开辟第二存储区域并将用户程序烧写至第二存储区域的方式,通过在开始执行用户程序的过程中,将第一存储区域的起始地址映射至存储结构的起始地址,达到了采用将第一存储区域的起始地址映射至存储结构的起始地址的重映射方式来取代先将用户程序烧写到嵌入式闪存的起始地址,再将嵌入式闪存的起始地址映射到存储结构的起始地址的重映射方式的目的,从而实现了提高了程序代码烧写过程的灵活性、提升系统稳定性的技术效果,进而解决了相关技术中由于Cortex-M0微处理器的内核无法支持中断向量表重映射,因此,在执行下载程序操作或者执行程序升级操作的
过程中,通常需要将程序代码烧写到eflash的起始地址,由此限制了eflash的使用灵活性的技术问题。
附图说明
[0023]此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:
[0024]图1是根据本专利技术其中一实施例的中断向量表的重映射方法的流程图;
[0025]图2是根据本专利技术其中一可选实施例的微处理器的存储结构示意图;
[0026]图3是根据本专利技术其中一可选实施例的中断向量表的重映射过程的流程图;
[0027]图4是根据本专利技术其中一实施例的中断向量表的重映射装置的结构框图;
[0028]图5是根据本专利技术其中一可选实施例的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种中断向量表的重映射方法,其特征在于,应用于微处理器,所述微处理器的内核采用指令和数据共享同一总线的架构,所述微处理器的存储结构包括:静态随机存取存储器和嵌入式闪存,所述方法包括:在所述静态随机存取存储器内开辟第一存储区域,并将用户程序的中断向量表拷贝至所述第一存储区域,其中,所述静态随机存取存储器的起始地址与所述第一存储区域的起始地址相同;在所述嵌入式闪存内开辟第二存储区域,并将所述用户程序烧写至所述第二存储区域;在开始执行所述用户程序的过程中,将所述第一存储区域的起始地址映射至所述存储结构的起始地址。2.根据权利要求1所述的方法,其特征在于,将所述中断向量表拷贝至所述第一存储区域包括:采用预设接口程序从所述静态随机存取存储器的起始地址开始,将所述中断向量表拷贝至所述第一存储区域,其中,所述预设接口程序为所述微处理器在上电或复位时最先执行的程序。3.根据权利要求1所述的方法,其特征在于,将所述用户程序烧写至所述第二存储区域包括:获取所述用户程序的待烧写地址;按照所述待烧写地址将所述用户程序的源代码编译为二进制文件;基于所述待烧写地址将所述用户程序的二进制文件烧写至所述第二存储区域。4.根据权利要求1所述的方法,其特征在于,将所述第一存储区域的起始地址映射至所述存储结构的起始地址包括:跳转到所述用户程序;在所述用户程序的启动代码中,将所述第一存储区域的起始地址映射至所述存储结构的起始地址。5.根据权利要求1所述的方法,其特征在于,在将所述第一存储区域的起始地址映射至所述存储结构的起始地址之后,还包括:当所述用户程序的执行过程中发生异常中断时,从所述存储结构的起始地址获取中断向量,其中,所述中断向量为中断处理函数的起始地址;基于所述中断向量跳转执行所述中断处理函数。6.一种中断向量表的重映射装置,其特征在于,应用于微处理器,所述微处理器的内核采用指令和数据共享同一总线的架构,所述微处理器的存储结构包括:静态随机存取存储器和嵌入式闪存,所述装置包括:拷贝模块,用于在所述静态随机存取存储器内开辟第一存储区域,并将用户...

【专利技术属性】
技术研发人员:丁伟杰
申请(专利权)人:珠海格力电器股份有限公司
类型:发明
国别省市:

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

1