CPU在运行的过程中,也会被各种“异常”打断,这些“异常”有:
·指令未定义;
·指令、数据访问有问题;
·SWI(软中断);
·快中断;
·中断;
中断也属于一种“异常”,导致中断发生的情况有很多,比如:
·按键;
·定时器;
·ADC转换完成;
·UART发送完数据、收到数据;
这些众多的“中断源”,汇集到“中断控制器”,由“中断控制器”选择优先级最高的中断并通知CPU。
arm对异常(中断)处理过程:
a. 设置中断源,让它可以产生中断;
b. 设置中断控制器(可以屏蔽某个中断,优先级);
c. 设置CPU总开关(使能中断);
执行其他程序:正常程序;
产生中断:比如按下按键->中断控制器->CPU;
CPU每执行完一条指令都会检查有无中断/异常产生;