新聞中心

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

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

        作者: 時間:2017-01-06 來源:網(wǎng)絡(luò) 收藏

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

        本文引用地址:http://www.104case.com/article/201701/342555.htm

            

         

          NVIC有以下特性:

          靈活的中斷管理;

          支持嵌套中斷;

          向量化的異常入口

          中斷屏蔽

          靈活的中斷管理

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

          支持嵌套中斷

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

          向量化的異常入口

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

          中斷屏蔽

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

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

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



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

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 宜昌市| 惠东县| 从江县| 赤壁市| 湖南省| 阳信县| 玉树县| 宁城县| 盱眙县| 乐陵市| 仙游县| 涡阳县| 蕲春县| 武城县| 五大连池市| 济源市| 崇明县| 清河县| 玉龙| 昌都县| 曲阜市| 资溪县| 五常市| 富源县| 诸暨市| 神木县| 海安县| 安康市| 锡林浩特市| 文山县| 阿城市| 博爱县| 吴旗县| 印江| 珲春市| 樟树市| 肇庆市| 汉源县| 荥经县| 江油市| 彭山县|