日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]NVIC: Nested vectored interrupt controller, 嵌套中斷向量控制器.中斷與異常:所有能打斷正常執(zhí)行流的事件都稱為異常. 異常與中斷的區(qū)別在于, 中斷請求是來自于Cortex內(nèi)核外部, 比如各種片上外設(shè), 外部中斷請求等,

NVIC: Nested vectored interrupt controller, 嵌套中斷向量控制器.

中斷與異常:
所有能打斷正常執(zhí)行流的事件都稱為異常. 異常與中斷的區(qū)別在于, 中斷請求是來自于Cortex內(nèi)核外部, 比如各種片上外設(shè), 外部中斷請求等, 它們對于內(nèi)核是”異步”的; 而異常則是由于Cortex內(nèi)核在執(zhí)行指令或者訪問存儲等操作時所產(chǎn)生的, 對于Cortex內(nèi)核來說是屬于”同步”的(可以參見Cortex M3權(quán)威指南), 異常和中斷一般可以不加區(qū)分的使用.

Cortex內(nèi)核可以支持多達(dá)240個外部中斷, 編號16 – 255. 編號1 – 15的為系統(tǒng)異常, 編號0未被使用.
Cortex支行中斷嵌套, 允許高優(yōu)先級的中斷搶占低優(yōu)先級的中斷. Cortex M3/M4可支行多達(dá)256級的可編程優(yōu)先級和128級的搶占, 但有3個系統(tǒng)異常優(yōu)先級固定, 并且優(yōu)先級為負(fù)數(shù), 高于其它任何異常, 這三個異常分依次為 復(fù)位, NMI, Hard Fault.
NMI是Non-Maskable Interrupt(不可屏蔽中斷)縮寫, 在STM32F4中, NMI被連接到時鐘安全系統(tǒng)CCS(Clock security system)異常上.
Hard Fault是總線fault, 存儲管理fault, 用法fault所產(chǎn)生的結(jié)果, 詳細(xì)信息可以參考Cortex M3權(quán)威指南).

優(yōu)先級寄存器
如上所述, Cortex M3/M4支行多達(dá)256級的可編程優(yōu)先級和128級搶占, 每個中斷使用一個8位的寄存來配置優(yōu)先級. 但實(shí)際一款芯片會根據(jù)情況做適當(dāng)?shù)木? 裁剪掉表達(dá)優(yōu)先級的幾個低端有效位, 以減少優(yōu)先級的級數(shù).但是不管使用多少位來表達(dá)優(yōu)先級, 都是以MSB對齊的, 這主要是為了避免程序在不同器件之間移植時不會出現(xiàn)優(yōu)先級順序的更改.

搶占優(yōu)先級和響應(yīng)優(yōu)先級
響應(yīng)優(yōu)先級也叫做 亞優(yōu)先級 或者 子優(yōu)先級, 每一個中斷都有這兩種優(yōu)先級屬性. 當(dāng)一個低優(yōu)先級的中斷正在執(zhí)行時, 如果有更高優(yōu)先級的中斷請求, 系統(tǒng)將會響應(yīng)這個中斷, 即發(fā)生中斷嵌套.
如果兩個中斷的優(yōu)先級相同, 則后來的中斷要等到先來的中斷執(zhí)行完畢后才會被響應(yīng). 但是如果兩個中斷同時到達(dá)(或者都在掛起狀態(tài)), NVIC會根據(jù)它們響應(yīng)優(yōu)先級的高低來決定響應(yīng)那一個.
如果它的的響應(yīng)優(yōu)先級也相同, 那么NVIC會根據(jù)它們在中斷向量表中的排序先后來決定先響應(yīng)那一個.

在STM32中使用了4bit來表達(dá)搶占優(yōu)先級和響應(yīng)優(yōu)先級, 有以下5種分組方式:

可見STM32一共提供了16級中斷優(yōu)先級.


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉