提供中斷控制器,用於總體管理異常,稱之為“內嵌向量中斷控制器:Nested Vectored Interrupt Controller (NVIC)”。NVIC和處理器核心緊密相連.
它提供以下特徵。
支持嵌套和向量中斷
自動保存和恢復處理器狀態
動態改變優先權
簡化的和確定的中斷時間
NVIC 依照優先權處理所有支持的異常,所有異常在“處理器模式”處理。NVIC 結構支持32(IRQ[31:0]) 個離散中斷,每箇中斷可以支持 4 級離散中斷優先權。所有的中斷和大多數系統異常可以配置為不同優先權。當中斷髮生時,NVIC 將比較新中斷與當前中斷的優先權,如果新中斷優先權高,則立即處理新中斷。當接受任何中斷時,ISR的開始地址可從記憶體的向量表中取得。不需要確定哪箇中斷被回響,也不要軟體分配相關中斷服務程式(ISR)的開始地址。當獲取中斷入口地址時,NVIC 將自動保存處理狀態到棧中,包括以下暫存器“PC, PSR, LR, R0~R3, R12” 的值。在ISR結束時,NVIC 將從棧中恢復相關暫存器的值,進行正常操作,因此花費少量且確定的時間處理中斷請求。NVIC 支持末尾連鎖 ”TailChaining”,有效處理背對背中斷 ”back-to-back interrupts”,即無需保存和恢復當前狀態從而減少在切換當前ISR時的延遲時間。NVIC 還支持遲到 “Late Arrival”,改善同時發生的ISR的效率。當較高優先權中斷請求發生在當前ISR開始執行之前(保持處理器狀態和獲取起始地址階段),NVIC 將立即處理更高優先權的中斷,從而提高了實時性。
基本介紹
- 中文名:內嵌向量中斷控制器
- 外文名:NVIC
- 優點:提高了實時性
- 作用:提供中斷控制器