-
ARM嵌入式系统中断向量表的动态配置
- 时间:2024-09-13 来源:九州体育 人气:
本文摘要:一般32位ARM嵌入式系统的中断向量表是程序编译器前设置好的。在撰写32位ARM嵌入式系统的中断服务程序、设置和改动ARM体系结构的中断向量表时,经常深感非常困难,被迫改动编撰代码,对不讨厌用于编撰代码编程的程序员特别是在如此。当必须在程序运行过程中动态改动中断向量的程序时会深感更加不便,被迫减少很多分支处置指令才能构建。 为此本文明确提出一种简单高效的配备方法,构建了ROM烧结程序在运营时动态配备arm嵌入式系统中断向量表的功能。
一般32位ARM嵌入式系统的中断向量表是程序编译器前设置好的。在撰写32位ARM嵌入式系统的中断服务程序、设置和改动ARM体系结构的中断向量表时,经常深感非常困难,被迫改动编撰代码,对不讨厌用于编撰代码编程的程序员特别是在如此。当必须在程序运行过程中动态改动中断向量的程序时会深感更加不便,被迫减少很多分支处置指令才能构建。
为此本文明确提出一种简单高效的配备方法,构建了ROM烧结程序在运营时动态配备arm嵌入式系统中断向量表的功能。 1arm中断向量两种设置方法 在32位arm系统中,一般都是在中断向量表中摆放一条分支指令或PC寄存器读取指令,构建程序函数调用到中断服务例程的功能。例如: IRQEntryBHandleIRQ;函数调用范围较小 BHandleFIQ 或IRQEntryLDRPC,=HandleIRQ;函数调用的范围是给定32位地址空间 LDRPC,=HandleFIQ LDR伪指令等效分解1条存储加载指令和1条32位常数定义指令。32位常数存储在LDR指令附近的存储单元中,比较位移大于4KB。
该32位数据就是要函数调用到的中断服务程序入口地址。 之所以用于LDR伪指令,是因为arm的RISC指令为单字指令,无法装载32位的立刻数(常数),无法必要把一个32位常数数据或地址数据装载到寄存器中。下面一般程序与上述伪指令功能等效,但中断向量表格叙述得更加明晰。
其中VectorTable为比较LDR指令的偏移量: IRQEntryLDRPC,VectorTable+0 ;与LDRPC,=HandleIRQ等效 LDRPC,VectorTable+4 ;与LDRPC,=HandleFIQ等效 VectorTableDCDHandleTRQ DCDHandleFIQ HandleIRQ HandleFIQ 一般ARM嵌入式系统的程序都是烧结在从00000000H开始的低端ROM空间中,中断向量表格VectorTable也是烧结在ROM中,所以上述两种方法都无法在程序运行时动态随机改动中断向量表格。不论对于初学ARM处理器的程序员还是有经验的程序员,设置中断向量都非常繁复,必需改动arm的C程序的启动代码。一段难懂的编撰代码很不方便,较为更容易错误。
2X86与arm处理器中断向量表格较为 实模式X86程序员都熟知,在X86体系结构的PC系统中,不论是用编撰还是用C语言,都可以动态随机地设置、改动中断向量表只必须非常简单地把中断程序例程的入口地址载入到中断向量表格数据区,才可已完成向量表的设置。 X86向量表格设置便利的原因有两个。其一是中断向量表与程序代码几乎分离出来,中断向量表格设置在RAM数据空间,向量表格存放在的数据是纯粹地址数据;而在arm向量表中存放在的是与中断服务例程入口有关的一条分支指令。另一个原因是,除BIOS外,大多数PC程序都是在运营时读取到RAM中的,程序数据是不作区别的,所以可以很更容易在程序运行的过程中从数据分解程序,并可以很更容易把CPU控制权转至新的分解的程序中。
表面上看,在ARM第二种中断向量设置方法的向量表格VectorTable中也是显地址数据,不不含指令代码,或许可以把VectorTable设置在RAM数据段中。
本文关键词:ARM,嵌入式,系统,中断,向,量表,九州体育,的,动态,配置
本文来源:九州体育-www.hebeiweilun.com
相关文章
-
O章节 智能家居是以住宅为平台,兼具建筑设备、网络通信、信息家电和设备自动化,集系统、结构、服务、管理为一体的高效、舒适度、安全性、便捷、...2024-09-07 01.09.01
-
1、系统的操作者、用于 光伏发电系统的设计寿命约20年以上,其故障率较低,加装调试完工后可自动运营。当您想要暂停系统的运营时请求按match照以下步...2024-08-27 01.08.01
-
电动车未来将以锂电池为主要动力驱动来源,主因在于锂电池有低能量密度优势,所以性能更为平稳。然而锂电池大量生产时品质容易掌控,电池芯出厂时...2024-08-25 01.08.01
-
一周AI丨天安门广场多个5G站点开通;中兴首发基于AI的5G切片运营系统
何刚:华为首款5G拉链手机月生产能力平均10万台以上2月24日,2019年MWC前华为月公布了首款5G拉链手机:Mate X,售价2299欧元(折算人民币17000元),由于还要...2024-08-03 01.08.01 -
什么是嵌入式 IEEE(InstituteofElectricalandElectronicsEngineers,美国电气和电子工程师协会)对嵌入式系统的定义:用作掌控、监控或者辅助操作者机器和设备的装...2024-07-17 01.07.01