zoukankan      html  css  js  c++  java
  • ARM中断深入分析几点

    ARM中断深入分析几点

    1.程序发生中断后,是如何跳转到中断程序里面的?

    2.执行完中断后,如何返回到原来被打断的地方接着执行呢?

    3.ARM处理器的流水线结构对中断返回地址的计算有什么影响?

    4.ARM7,ARM9处理器流水线结构一个是3级一个是5级,为什么中断返回地址是相同的?

    5.ARM启动后是SVC模式,发生中断后进入什么模式?

    6.发生中断后,哪些事情是需要ARM自动完成?哪些是需要编程实现的?

      读书留痕,思考留果

    1.程序发生中断后,是如何跳转到中断程序里面的?

      首先要执行完当前指令!然后自动完成以下事情:

      CPSR---->SPSR_irq(IRQ模式)(逆过程不能自动完成)

      PC-4  ----> R14_irq

      PC <---- 0X00000018(irq中断向量表的入口地址)

    程序员需要补充做的事情有:

        R0----R12,和LR的值入栈。

       用户处理函数放在irq中断向量表的入口地址,以供跳转。

    2.执行完中断后,如何返回到原来被打断的地方接着执行呢?

      恢复R0--R12,出栈;

      R14-4 ----> PC

      SPSR_irq---->CPSR

    3.ARM处理器的流水线结构对中断返回地址的计算有什么影响?

      pc始终指向当前正在执行指令的下两条指令处(PC-8).执行完当前的,就变为PC-4。保存的就是PC-4.

    4.ARM7,ARM9处理器流水线结构一个是3级一个是5级,为什么中断返回地址是相同的?

      因为:pc始终指向当前正在执行指令的下两条指令处(PC-8),不管是几级流水线。

    5.ARM启动后是SVC模式,发生中断后进入什么模式?

      IRQ模式

    6.发生中断后,哪些事情是需要ARM自动完成?哪些是需要编程实现的?

    ARM自动完成:

     CPSR---->SPSR_irq(IRQ模式)(逆过程不能自动完成)

      PC-4  ----> R14_irq

      PC <---- 0X00000018(irq中断向量表的入口地址)

    需要编程实现的:

       R0----R12,和LR的值入栈。

         用户处理函数放在irq中断向量表的入口地址,以供跳转。

    今天的学习就到这里了。

      

  • 相关阅读:
    51uwb 开源TDOA 科研pro版本配置说明
    51uwb 定位框架-高频率高容量测试代码
    UWB 上位机显示距离异常解决方法
    UWB测距+ kalman滤波
    51UWB 数据网络传输方法--WIFI版
    UWB误区快速扫盲视频-针对初学小白
    UWB DWM1000 开源项目框架 之 TWR测距实现
    一种快速UWB 测距方法(单周期法) -- 代码实现
    一种快速UWB 测距方法(单周期法) -- 原理说明
    北京联通光猫+老毛子固件路由器+Win7 IPV6设置
  • 原文地址:https://www.cnblogs.com/zhihui-3669/p/11695542.html
Copyright © 2011-2022 走看看