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开关时等)

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

  • 相关阅读:
    界面实现的小总结
    创建线程的三种方式
    之前总结的今天给大分享一下iOS
    MVVM
    响应者链条
    layer图层常见属性
    NSRunLoop && NSTimer
    关于Angularjs做的一个购物车小例子
    css中实现元素的绝对居中
    剑指 Offer 18. 删除链表的节点 链表
  • 原文地址:https://www.cnblogs.com/zhangshuaifeng/p/10631722.html
Copyright © 2011-2022 走看看