您的位置 首页 ADAS

ARM系统的异常中断

在ARM体系中,通常有3种方式控制处理器的流程1:在正常执行过程中,每执行一条ARM指令,程序计数器寄存器PC的值加四个字节,在每执行一…

ARM体系中,一般有3种方法操控处理器的流程

  1:在正常履行进程中,每履行一条ARM指令,程序计数器寄存器PC的值加四个字节,在每履行一条Thumb指令,程序计数器寄存器PC的值加两个字节,整个进程是依照次序履行的  

   2:经过跳转指令,程序能够跳转到指定的地址标号进行履行,或许跳转到特定的子程序进行履行,其间B指令用于履行跳转操作,BL指令用于履行跳转操作的一起,保存子程序相应的回来地址,BX在履行跳转操作的一起,分家方针地址的最低位,能够将程序切换到THumb状况,BLX履行上述三个操作

   3:当反常中止产生时,体系履行当时指令后,将跳转到相应的反常中止处理程序进行履行,当反常处理中止履行完结之后,程序回来到产生中止的下一条指令出持续履行,在进入反常中止处理程序的时分,要保存被中止程序的履行现场,在从反常中止程序退出时,要康复被中止的程序的履行现场

ARM处理器对反常中止的呼应

  1保存处理器当时的状况,中止屏蔽位,以及各条件标志位,这是经过当时程序状况寄存器CPSR的内容保存到要自傲的反常中止对应的SPSR寄存器中完成的

  2设置当时程序状况寄存器的相应的位,包含CPSR中的位,是处理器进入相应的履行形式,设置CPSR中的位,进制IRQ中止,但进入FIQ是,进制FIQ中止

  3将寄存器设置成回来地址

  4将程序计数器PC,设置长反常中止的中止向量地址,然后跳转到相应的反常中止进行处理

从反常中止处理中回来

  1康复被中止的程序的处理器后状况,讲SPSR_mode寄存器内容到CPSR

  2回来到产生反常中止的指令的下一条指令履行,讲IR_MODE中的内容到PC

  3复位和反常中止不需要回来,程序计数器PC所指向的不同的反常中止是不同的

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/adas/277231.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部