一般来说,ARM7并不支持硬件中断嵌套,如果真要嵌套,就必须采用软件嵌套,这就要涉及的底层汇编程序的编写的。总的中断嵌套的过程如下:
当发生IRQ中断。就会进入IRQ模式,而此时IRQ中断是被禁能的,PC就会跳转到中断向量表来查找该IRQ中断的入口地址来执行总的中断服务函数。而此时,我们可以对当前的任务环境、SPSR、链接寄存器进行压栈保存,然后系统切换为处理器模式,执行与中断相关的服务函数,此时IRQ中断自然被使能,同样在执行该相关程序也会被其他中断给打断,而当中断服务函数执行结束时,又进入IRQ模式,弹出进入时各个任务环境及SPSR的值,总的一个中断服务函数执行结束。
|