ARM嵌入式系统中断向量表的动态配置_yabo娱乐平台

激光雕刻机 | 2021-11-19
本文摘要:一般32位ARM嵌入式操作系统的中断向量表是程序c语言编译器前设定好的。

yabo娱乐官网

一般32位ARM嵌入式操作系统的中断向量表是程序c语言编译器前设定好的。在编写32位ARM嵌入式操作系统的终断服务项目程序、设定和修改ARM系统架构的中断向量表时,常常倍感十分艰难,迫不得已修改编写编码,对不反感用以编写程序编程的程序员特别是在这般。

当务必在程序运作全过程中动态性修改中断向量的程序的时候会倍感更为麻烦,迫不得已降低许多 支系应急处置指令才可以搭建。因此文中明确指出一种简易高效率的配置方式,搭建了ROM煅烧程序在经营时动态性配置arm嵌入式操作系统中断向量表的作用。

  1arm中断向量二种设定方式  在32位arm系统中,一般全是在中断向量表中放置一条支系指令或PC存储器载入指令,搭建程序调用函数到终断服务例程的作用。比如:  IRQEntryBHandleIRQ;调用函数范畴较小  BHandleFIQ  或IRQEntryLDRPC,=HandleIRQ;调用函数的范畴是给出32位详细地址室内空间  LDRPC,=HandleFIQ  LDR伪指令等效电路溶解1条储存载入指令和1条32位参量界定指令。32位参量储存在LDR指令周边的数据存储器中,较为偏移超过4k高清B。该32位数据便是要调用函数到的终断服务项目程序通道详细地址。

  往往用以LDR伪指令,是由于arm的RISC指令为一个字指令,没法装车32位的马上数(参量),没法必需把一个32位参量数据或详细地址数据装车到存储器中。下边一般程序与所述伪指令作用等效电路,但中断向量表格描述得更为明确。

yabo娱乐网址

在其中VectorTable为较为LDR指令的偏移:  IRQEntryLDRPC,VectorTable 0  ;与LDRPC,=HandleIRQ等效电路  LDRPC,VectorTable 4  ;与LDRPC,=HandleFIQ等效电路    VectorTableDCDHandleTRQ  DCDHandleFIQ    HandleIRQ    HandleFIQ  一般ARM嵌入式操作系统的程序全是煅烧在从00000000H刚开始的中低端ROM室内空间中,中断向量表格VectorTable也是煅烧在ROM中,因此 所述二种方式都没法在程序运作时动态随机修改中断向量表格。无论针对入门ARMCPU的程序员還是有工作经验的程序员,设定中断向量都十分繁杂,必不可少修改arm的C程序的起动编码。一段晦涩难懂的编写编码很不方便,比较更非常容易不正确。

  2X86与armCPU中断向量表格比较  实方式X86程序员都熟识,在X86系统架构的PC系统软件中,无论是用编写還是用C语言,都能够动态随机地设定、修改中断向量表只务必比较简单地把终断程序方法的通道详细地址加载到中断向量表格数据区,才可顺利完成空间向量表的设定。  X86空间向量报表设定便捷的缘故有两个。

其一是中断向量表与程序编码基本上提取,中断向量表格设定在RAM数据室内空间,空间向量报表储放在的数据是纯碎详细地址数据;而在arm空间向量表格中储放在的是与终断服务例程通道相关的一条支系指令。另一个缘故是,除BIOS外,大部分PC程序全是在经营时载入到RAM中的,程序数据不是作差别的,因此 能够很更非常容易在程序运作的全过程中从数据溶解程序,并能够很更非常容易把CPU决策权转到新的溶解的程序中。

  表层上看,在ARM第二种中断向量设定方式的空间向量报表VectorTable中也是显详细地址数据,也不含指令编码,也许能够把VectorTable设定在RAM数据段中。


本文关键词:yabo娱乐官网,yabo娱乐平台,yabo娱乐网址

本文来源:yabo娱乐官网-www.tbea-cable.com