ARM对异常的处理

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

ARM对异常的处理

1、初始化:

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

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

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

2、执行程序

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

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

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

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

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

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

3)恢复现场。

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

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

原文地址:https://www.cnblogs.com/zhangshuaifeng/p/10631722.html