新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 《Cortex-M0權(quán)威指南》之體系結(jié)構(gòu)---嵌套中斷控制器(NVIC)

《Cortex-M0權(quán)威指南》之體系結(jié)構(gòu)---嵌套中斷控制器(NVIC)

作者: 時(shí)間:2016-12-27 來(lái)源:網(wǎng)絡(luò) 收藏

  為了管理中斷請(qǐng)求的優(yōu)先級(jí)并處理其他異常,處理器內(nèi)置了嵌套中斷控制器()。的一些可編程控制器控制著中斷管理功能,這些寄存器被映射到系統(tǒng)地址空間里,它們所處的區(qū)域被稱為系統(tǒng)控制空間(SCS)。

本文引用地址:http://butianyuan.cn/article/201612/342122.htm

  有以下特性:

  靈活的中斷管理;

  支持嵌套中斷;

  向量化的異常入口

  中斷屏蔽

  靈活的中斷管理

  處理器中,每一個(gè)外部中斷都可以被使能或者禁止,并且可以被設(shè)置為掛起狀態(tài)或者清除狀態(tài)。處理器的中斷可以是信號(hào)級(jí)的(在中斷服務(wù)程序清除中斷請(qǐng)求以前,外設(shè)的請(qǐng)求會(huì)一直保持),也可以是脈沖形式的(最小一個(gè)始終周期),這樣中斷控制器就可以處理任何中斷源。

  支持嵌套中斷

  處理器的任何中斷都有一個(gè)固定或者可編程的中斷優(yōu)先級(jí)。當(dāng)外部中斷之類(lèi)的異常發(fā)生時(shí),NVIC將該異常的優(yōu)先級(jí)與當(dāng)前的優(yōu)先級(jí)進(jìn)行比較,如果新的優(yōu)先級(jí)更高,當(dāng)前的任務(wù)會(huì)被暫定,一些寄存器的值被壓棧處理,然后處理器開(kāi)始處理新的異常程序,這個(gè)過(guò)程也被稱為“搶占”。高優(yōu)先級(jí)的中斷完成后,異常返回就會(huì)執(zhí)行,處理器自動(dòng)進(jìn)行出棧操作恢復(fù)剛才寄存器的值,并繼續(xù)運(yùn)行剛才的任務(wù)。這種機(jī)制并沒(méi)有帶來(lái)軟件開(kāi)銷(xiāo)。

  向量化的異常入口

  異常發(fā)生時(shí),處理器需要定位異常對(duì)用的程序入口。傳統(tǒng)的處理方式需要軟件去完成。而M0處理器會(huì)從存儲(chǔ)器的向量表中,自動(dòng)定位異常的程序入口。從異常到異常的處理事件會(huì)被縮減。

  中斷屏蔽

  NVIC通過(guò)PRIMASK特殊寄存器提供了一種中斷屏蔽機(jī)制,NVIC除了硬件錯(cuò)誤和NMI之外,可以屏蔽所有的異常。有些操作,比如對(duì)時(shí)間敏感的控制任務(wù)或?qū)崟r(shí)多媒體解碼任務(wù),不應(yīng)該被打斷,此時(shí)中斷屏蔽的作用就表現(xiàn)了出來(lái)。

  系統(tǒng)控制塊(SCB)

  除了NVIC,系統(tǒng)控制空間也包含了許多系統(tǒng)管理的寄存器,這些寄存器被稱為系統(tǒng)控制塊。其中有些寄存器控制休眠模式和系統(tǒng)異常配置,另外還有兩個(gè)寄存器包含了處理器的識(shí)別代碼(調(diào)試器可使用該代碼識(shí)別處理器的類(lèi)型)。



關(guān)鍵詞: Cortex-M0 NVIC

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉