IC解密ARM中断原理
| IC解密ARM体系设计有八种异常,并把所有现象用异常来表达,我们的代码任何时刻都在这八种异常中运行。 我们给开发板上电,这就是一种"异常",这种异常用"Reset"来表示。 这八种异常对应八个地址: Reset(复位)=========0x00000000(当上电,或按下开发板的复位键时,程序跳到该地址运行) Undef(未定义指令)=========0x00000004(当程序指针访问地址出现未定义指令,程序跳到该地址运行) SWI(软件中断)=========0x00000008(当发生软件中断,程序跳到该地址运行) Prefetch Abort(预取指中止)=========0x0000000C(当预取值失败,程序跳到该地址运行) Data Abort(数据中止)=========0x00000010(当访问数据区失败,程序跳到该地址运行) Reserved(保留)===========0x00000014 IRQ===========0x00000018(当发生IRQ中断时,程序跳到该地址运行) FIQ(快速中断)========0x0000001C(当发生快速中断时,程序跳到该地址运行) IC解密FIQ中断,向量IRQ,非向量IRQ区别 FIQ是指快速中断请求(FastInterruptreQuest),具有最高优先级,一般只声明一个中断源为FIQ,这样可以得到最快的相应速度,如果非要申请多个中断源为FIQ,那么当中断发生时,FIQ中断线程通过读取FIQ状态寄存器来判断当前发生的是那个中断。 IC解密 向量IRQ(Vector IRQ)是指向量中断请求(Vector InterruptReQuest)。具有次高优先级。 非向量IRQ(NO_Vector IRQ)是指非向量中断请求。具有最低优先级。 5.2.1 向量中断与非向量中断的区别 向量,即指有方向的量。这里所说的方向就是向量地址。 向量中断--由硬件提供中断服务程序入口地址; 非向量中断--由软件件提供中断服务程序入口地址。 上面提到的中断向量表: IC解密Reset中断向量地址是0x00000000,那么当复位中断发生时,程序自动跳到0x00000000开始的地址执行。这一过程由硬件实现。 |

芯片解密