• [国嵌攻略][049][中断处理流程深度剖析]


    中断的生命周期

    1.串口控制器产生事件,送到中断控制器,如果通过中断控制器的过滤,由中断控制器把事件送到CPU核

    2.中断信号产生(中断源)->中断信号过滤(中断控制器)->中断信号处理(CPU)

    中断源
    在中断的生命周期中,中断源的作用是负责产生中断信号。2440支持60个中断源;6410支持64个中断源;210支持93个中断源

    中断过滤

    1.中断信号送到中断控制器来了之后,中断控制器要进行过滤

    2.串口子中断TX0的过滤过程:

    2.1.首先,当TX0产生中断后SUBSRCPND中相应的位会被置1

    2.2.然后,经过SUBMASK过滤,如果SUBMASK相应的位被置为1,表示屏蔽子中断,置为0表示,接收子中断信号,每一位对应一个子中断源

    2.3.接着,经过了SUBMASK过滤后的中断会把SRCPND相应的位置为1

    2.4.然后,经过MASK过滤,如果MASK相应的位被置为1,表示屏蔽中断信号,置为0表示接收中断信号,每一位对应一个中断源。有的中断没有子中断,就直接经过SRCPND和MASK来过滤

    2.5.通过SUBMASK和MASK的过滤后,就好交给Priority,优先级判断,然后交给处理器处理

    2.6.MODE表示中断是快速中断还是普通中断,如果是快速中断,则不会经过优先级判断,优先被处理器处理

    中断处理

    1.中断处理方式:非向量中断处理方式(2440)和向量中断处理方式(6410/210)

    2.非向量中断处理过程:中断程序总入口->保存环境->判断中断源->调用对应的中断源的中断处理程序->恢复环境

    3.向量中断处理过程:当中断产生时直接跳转到用户设置好的中断处理程序(初始化中断控制器时设置)->保存环境->设备的中断处理->恢复环境

    4.软件需要处理:1.初始化中断源 2.初始化中断控制器 3.中断处理程序

  • 相关阅读:
    css控制英文内容自动换行問題
    jquery添加select option两种代码思路比较
    C++实现单例模式
    C++实现单例模式
    windows下socket编程:区分shutdown()及closesocket()
    windows下socket编程:区分shutdown()及closesocket()
    socket关闭
    socket关闭
    C++模板的一些巧妙功能
    C++模板的一些巧妙功能
  • 原文地址:https://www.cnblogs.com/d442130165/p/4935338.html
Copyright © 2020-2023  润新知