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處理器最大的區別(以往都需要依賴於軟件保存上下文)。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章