处理器中的中断:
在处理器中,中断是一个过程,即CPU在正常执行程序的过程中,遇到外部/内部的紧急事件需要处理,暂时中止当前程序的执行,转而去处理紧急的事物,待处理完毕后再返回被打断的程序处继续往下执行。中断在计算机多任务处理,尤其是即时系统尤为重要。比如uCOS,FreeRTOS等。
意义:
中断能提高CPU的效率,同事能够对突发事件做出实时处理。实现程序的并行化,实现嵌入式系统进程之间的切换。
中断处理过程
进入中断:
- 处理器自动保存现场到堆栈里
- {PC,xPSR,R0-R3,R12,LR}
- 一旦入栈结束,ISR便可开始执行
- 晚到的中断会重新取ISR地址,但无需再次保存现场
退出中断
- 中断前的现场被自动从堆栈中恢复
- 一旦出栈完成,继续执行被中断打断的指令
- 出栈的过程一看被打断,使得随时可以响应新的中断,而不再进行
- 现场保存
NVIC 的主要功能
- 中断管理
- 支持异常及中断向量化处理
- 支持嵌套中断(中断发生又来一个中断,并且这个中断更加紧急,可以打断当前中断的处理)