zoukankan      html  css  js  c++  java
  • ARM对异常的处理

    所谓中断就是中断SoC的CPU核(异常可以引起CPU的中断)

    ARM对异常的处理

    1、初始化:

    1)设置中断源让它可以产生中断。如某个按键可以产生中断,那么可以设置它的GPIO引脚为中断引脚;

    2)设置中断控制器(中断源的优先级,将屏蔽去除);

    3)设置CPU总开关使能中断

    2、执行程序

    3、产生中断,如按下按键后发信号给中断控制器,中断控制器再发信号给CPU

    4、cou每执行完一条指令都会检查有无异常/中断产生,这是硬件决定的

    5、若发现有异常/中断产生,开始处理

    对于不同的异常,跳到不同的地址,进而转去执行一些代码,这些代码可以:

    1)保存现场(各种寄存器)

    2)分辨中断源调用对应处理函数

    3)恢复现场。

    中断控制器:中断源(如按键、网络数据、时钟等)可以发信号给中断控制器,而中断控制器可以发信号给CPU,告诉CPU发生了某些需要紧急处理的事情(除了中断控制器发的信号外,其他异常也可以引起CPU中断,如:指令不对时,数据访问有问题时,按下reset开关时等)

    可以设置中断源让其不产生中断信号,也可以设置中断控制器让其使能/屏蔽某个在中断(中断源)

  • 相关阅读:
    HDUOJ---Can you solve this equation?
    HDUOJ---A + B Again
    C++知识整理(进制)
    位运算的方法,大结
    位运算的方法,小结
    C++知识整理(在此感谢大牛的整理)
    nyoj---快速查找素数
    HDUOJ----湫湫系列故事——减肥记I
    《道德经》:十条简洁有用的人生建议
    Nginx的几个常用配置和技巧
  • 原文地址:https://www.cnblogs.com/zhangshuaifeng/p/10631722.html
Copyright © 2011-2022 走看看