NVIC(嵌套向量中断控制)

ARM Cortex-M系列处理器与以往的ARM7TDMI、ARM920T相差很多,以往中断控制器都由IP授权的各家芯片厂商自行定义,而ARM Cortex-M则把中断控制器统一起来,命名为NVIC(嵌套向量中断控制)。正如其名,ARM Cortex-M NVIC支持中断嵌套功能:当一个中断触发并且系统进行响应时,处理器硬件会将当前运行的部分上下文寄存器自动压入中断栈中,这部分的寄存器包括PSR,R0,R1,R2,R3以及R12寄存器。当系统正在服务一个中断时,如果有一个更高优先级的中断触发,那么处理器同样的会打断当前运行的中断服务例程,然后把老的中断服务例程上下文的PSR,R0,R1,R2,R3和R12寄存器自动保存到中断栈中。这些部分上下文寄存器保存到中断栈的行为完全是硬件行为,这一点是与其他ARM处理器最大的区别(以往都需要依赖于软件保存上下文)。
posted @ 2022-11-30 14:38  hbg-rohens  阅读(312)  评论(0编辑  收藏  举报