ARM对异常(中断)的处理过程:
1、初始化:
1)设置中断源,使其可以产生中断
2)设置中断控制器(使能屏蔽、youx优先级)
3)设置CPU的中断总开关(使能zhon中断)
2、执行程序,CPU每执行一条指令都会检查是否有异常(中断)产生---------------------硬件实现
3、中断产生-------->CPU检查到有异常(中断)产生,开始处理:
1)CPU针对不同的异常,会跳到不同的异常向量地址执行---------------------------------硬件实现
异常向量:是一个跳转指令,再跳去执行某个函数A
2)该函数A处理内容:a)保存现场
b)处理异常(中断)---------------------->调用不同的函数B-------------软件实现
c)恢复现场
3)函数B实现功能:a)判断中断源 -------------------------------------软件实现
b)调用执行相应的中断服务函数
***********************************************************************************************************************************
中断源:chan产生中断信号-------------->中断控制器---------------->CPU(CPU每执行一条指令都会去检查是否有异常产生-------硬件实现)----------------->检查到中断------->CPU跳到相应的中断向量地址执行(硬件实现)(存放跳转指令)----------->再跳到某个函数A(保存现场;调用函数B;恢复现场)------------->再跳到moug某个函数B(判断中断源;执行相应 的中断服务函数)