电工技术基础_电工基础知识_电工之家-电工学习网

欢迎来到电工学习网!

ARM微处理器的作业办法及失常处理

2017-10-02 07:39分类:电子技术 阅读:

 

ARM微处理器的作业办法及失常处理
ARM处理器状况、指令集
ARM微处理器的作业状况一般有两种,并可在两种状况之间切换:
榜首种为ARM状况,此刻处理器施行32位的字对齐的ARM指令,对应ARM指令集;
第二种为Thumb状况,此刻处理器施行16位的、半字对齐的Thumb指令,对应Thumb指令集。
在程序的施跋涉程中,微处理器能够随时在两种作业状况之间切换,而且,处理器作业状况的改动并不影响处理器的作业办法和相应寄存器中的内容。但ARM微处理器在开端施行代码时,应当处于ARM状况。

ARM处理器作业办法
ARM微处理器支撑7种作业作业办法,别离为:

•用户办法(usr):ARM处理器正常的程序施行状况。非特权办法。
•活络接连办法(fiq):用于高速数据传输或通道处理。
•外部接连办法(irq):用于通用的接连处理。
•处理办法(svc):操作体系运用的维护办法。
•数据拜访接连办法(abt):当数据或指令预取接连时进入该办法,可用于虚拟存储及存储维护。
•体系办法(sys):作业具有特权的操作体系使命。
•界说指令接连办法(und):当未界说的指令施行时进入该办法,可用于支撑硬件协处理器的软件仿真。
ARM寄存器
ARM处理器共有37个寄存器。其间包含:31个通用寄存器,包含程序计数器(PC)在内。这些寄存器都是32位寄存器。以及6个32位状况寄存器。对于寄存器这儿就不具体介绍了,有喜爱的人能够上网找找,许多这方面的材料。

失常处理
当正常的程序施行流程发作暂时的接连时,称之为失常,例如处理一个外部的接连央求。在处理失常之前,其时处理器的状况(CPSR)有必要保存,这么当失常处理完毕往后,其时程序能够持续施行。处理器容许多个失常一同发作,它们将会按固定的优先级进行处理。当一个失常呈现往后,ARM微处理器会施行以下几步操作:

进入失常处理的底子进程:
将下一条指令的地址存入相应联接寄存器LR(Link Register),以便程序在处理失常回来时能从精确的方位从头开端施行。将CPSR拷贝到相应的SPSR中。依据失常类型,强行设置CPSR的作业办法位。强行PC从有关的失常向量地址取下一条指令施行,然后跳转到相应的失常处理程序处。假定失常发作时,处理器处于Thumb状况,则当失常向量地址加载入PC时,处理器主动切换到ARM状况。 ARM微处理器对失常的照料进程用伪码能够描绘为:

•R14_ = Return Link
•SPSR_= CPSR
•CPSR[4:0] = Exception Mode Number
•CPSR[5] = 0 ;当作业于 ARM 作业状况时
•If == Reset or FIQ then;当照料 FIQ 失常时,阻遏新的 FIQ 失常
•CPSR[6] = 1
•PSR[7] = 1
•PC = Exception Vector Address
失常处理完毕往后,ARM微处理器会施行以下几步操作从失常回来:

•将联接寄存器LR的值减去相应的偏移量后送到PC中。
•将SPSR拷贝回CPSR中。
•若在进入失常处理时设置了接连阻遏位,要在此根除。

上一篇:规范电阻的阻值表详解

下一篇:胆机和功放的差异有哪些

相关推荐

电工推荐

    电工技术基础_电工基础知识_电工之家-电工学习网
返回顶部