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

欢迎来到电工学习网!

ARM处理器反常处理进程

2017-11-13 07:27分类:电子技术 阅读:

 

ARM处理器反常处理进程
ARM处理器状况、指令集
ARM微处理器的作业状况通常有两种,并可在两种状况之间切换:

榜首种为ARM状况,此刻处理器实行32位的字对齐的ARM指令,对应ARM指令集;

第二种为Thumb状况,此刻处理器实行16位的、半字对齐的Thumb指令,对应Thumb指令集。

在程序的实行进程中,微处理器能够随时在两种作业状况之间切换,而且,处理器作业状况的改动并不影响处理器的作业办法和相应寄存器中的内容。但ARM微处理器在初步实行代码时,应当处于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中。
若在进入反常处理时设置了中止阻止位,要在此铲除

上一篇:积分电路的效果

下一篇:电子厂家ic前缀字母意义阐明

相关推荐

电工推荐

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