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中断向量表的入口地址,以供跳转。

    今天的学习就到这里了。

      

  • 相关阅读:
    WM有约(二):配置信息
    ASP+Wrod、excel打印程序示例
    用stream直接下载文件
    ASP判断gif图像尺寸的方法
    白菜世纪RSS无刷新聚合器(1221修正)
    ASP.NET常用代码
    图片超过规定的大小就按原图片大小缩小
    javascript弹出窗口总结
    asp excel sql 关系大总结
    打开窗口
  • 原文地址:https://www.cnblogs.com/zhihui-3669/p/11695542.html
Copyright © 2011-2022 走看看