zoukankan      html  css  js  c++  java
  • Interrupt Controller

    1. 中断处理是程序执行流程(顺序执行,跳转执行,中断处理)之一,发生中断后,arm处理器在执行完当前指令后跳转到中断对应的中断处理程序处执行,中断处理程序执行完成后,又回到原来跳转处的下一条指令处开始接着执行。

    2. 中断处理流程: (1)中断发生后,中断控制器给 cpu 发送中断请求。

              (2)如果 cpu 能够响应中断,则将运行环境保存起来,跳到中断异常处进行执行中断处理。

              (3)识别中断来源,跳到相应中断服务程序处执行。

              (4)中断服务执行完成后,恢复之前的运行环境,返回到原来的程序处继续执行。

    3.  中断控制器及其相关寄存器

     (1) 由上图,中断相关寄存器对中断的管理有分类汇总的特点。

     (2) 如果发生相应中断则在没有被INTMAK 和 INTSUBMAK屏蔽的前提下,SRCPND 和 SUBSRCPND 及 EINTPEND 和 INTPND中的对应位将被置1,  cpu 通过EINTPEND 和 INTPND来确定是哪个中断发生了。

     (3) 例如,如果ENT4中断发生了,则SUBSRCPND将被置1,如果在INTSUBMAK没有屏蔽的情况下,则SRCPND将被置1,如果在INTMAK没有屏蔽的情况下EINTPEND 和 INTPND中的对应位将被置1。

    4. 中断模式(IRQ,FIQ)和中断优先级的设置。

    5. 中断处理函数

      声明时,需要将中断处理函数的地址写到中断向量的相应的位置处。中断处理函数需要清中断标志,并执行相应的操作。先清除 SRCPND再清除 INTPND 。

    6. 中断发生后具体的跳转过程,以及中断处理完成后返回的具体过程,在各个过程中arm 自动完成的操作和需要手动编程完成的操作。

  • 相关阅读:
    函数声明、引用
    事件绑定的快捷方式 利on进行事件绑定的几种情况
    BOM的节点方法和属性
    JQuery语法 JQuery对象与原生对象互转 文档就绪函数与window.onload的区别
    JPEG解码:huffman解码
    Quartus 中快速分配器件管脚
    PLL的modelsim仿真
    JPEG解码:桶型寄存器
    JPEG解码:反DCT变换(二)
    JPEG解码:反DCT变换(一)
  • 原文地址:https://www.cnblogs.com/youngvoice/p/4837639.html
Copyright © 2011-2022 走看看