我对IRQ、FIQ和SWI的理解[gliethttp]
文章来源:http://gliethttp.cublog.cn[转载请声明出处]
1.同时在AXD中arm7tdmi内核模拟中断也出现同样的现象,当模拟发生IRQ的当即, pc指针指向0x18的同时"I"被自动置1,禁止IRQ 当在IRQ执行的过程中,如果"I"被清0,那么IRQ会立即嵌套发生[gliethttp] 2.同时在AXD中arm7tdmi内核模拟中断也出现同样的现象,当模拟发生FIQ的当即, pc指针指向0x1C的同时"F"和"I"都被自动置1,禁止FIQ和IRQ[gliethttp] 3.当发生IRQ的时候,"I"被自动置1,禁止IRQ中断嵌套,IRQ处理程序执行了一会之后,突然FIQ到达, 那么arm内核会立即跳转到FIQ执行,"F"和"I"都被自动置1,禁止FIQ和IRQ,FIQ的spsr其值为IRQ中执行处理程序时 的CPSR,当FIQ代码执行完毕之后,恢复到IRQ中继续执行IRQ处理程序. 4.swi可以嵌套,不论什么时候,什么地点,只要执行swi,arm内核就会跳转到0x08地址处开始执行swi程序 5.swi等同于IRQ,也就是说,当触发swi软中断的同时"I"也会被自动置1,禁止IRQ[gliethttp].
|