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

當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀] 中斷和異常ARMv7‐\M 開創(chuàng)了一個全新的異常模型,CM3 采用了它。請你一定要劃清界線:這種異常模型跟傳統(tǒng)ARM 處理器使用的完全是兩碼事。新的異常模型“使能”了非常高效的異常處理。它支持16‐\4‐\1=11

中斷和異常

ARMv7‐M 開創(chuàng)了一個全新的異常模型,CM3 采用了它。請你一定要劃清界線:這種異常模型跟傳統(tǒng)ARM 處理器使用的完全是兩碼事。新的異常模型“使能”了非常高效的異常處理。它支持16‐4‐1=11 種系統(tǒng)異常(保留了4+1 個檔位),外加240 個外部中斷輸入。在CM3 中取消了FIQ 的概念(v7 前的ARM 都有這個FIQ,快中斷請求),這是因為有了更新更好的機制——中斷優(yōu)先級管理以及嵌套中斷支持,它們被納入CM3 的中斷管理邏輯中。因此,支持嵌套中斷的系統(tǒng)就更容易實現(xiàn)FIQ。

CM3的所有中斷機制都由NVIC實現(xiàn)。除了支持240 條中斷之外,NVIC 還支持16‐4‐1=11 個內(nèi)部異常源,可以實現(xiàn)fault 管理機制。結(jié)果,CM3 就有了256 個預(yù)定義的異常類型,如表2.2 所示。

雖然CM3 是支持240 個外中斷的,但具體使用了多少個是由芯片生產(chǎn)商決定。CM3 還有一個NMI(不可屏蔽中斷)輸入腳。當(dāng)它被置為有效(assert)時,NMI 服務(wù)例程會無條件地執(zhí)行。

Cortex‐M3 支持大量異常,包括16‐4‐1=11 個系統(tǒng)異常,和最多240 個外部中斷——簡

稱IRQ。具體使用了這240 個中斷源中的多少個,則由芯片制造商決定。由外設(shè)產(chǎn)生的中斷

信號,除了SysTick 的之外,全都連接到NVIC 的中斷輸入信號線。典型情況下,處理器一般

支持16 到32 個中斷,當(dāng)然也有在此之外的。

作為中斷功能的強化,NVIC 還有一條NMI 輸入信號線。NMI 究竟被拿去做什么,還要

視處理器的設(shè)計而定。在多數(shù)情況下,NMI 會被連接到一個看門狗定時器,有時也會是電壓監(jiān)視功能塊,以便在電壓掉至危險級別后警告處理器。NMI 可以在任何時間被激活,甚至是在處理器剛剛復(fù)位之后。

表3.4 (同表2.2)列出了Cortex‐M3 可以支持的所有異常。有一定數(shù)量的系統(tǒng)異常是用于fault 處理的,它們可以由多種錯誤條件引發(fā)。NVIC 還提供了一些fault 狀態(tài)寄存器,以便于fault 服務(wù)例程找出導(dǎo)致異常的具體原因。

向量表s

當(dāng)一個發(fā)生的異常被CM3 內(nèi)核接受,對應(yīng)的異常handler 就會執(zhí)行。為了決定handler 的入

口地址,CM3 使用了“向量表查表機制”。這里使用一張向量表。向量表其實是一個WORD

(32 位整數(shù))數(shù)組,每個下標對應(yīng)一種異常,該下標元素的值則是該異常handler 的入口地

址。向量表的存儲位置是可以設(shè)置的,通過NVIC 中的一個重定位寄存器來指出向量表的地

址。在復(fù)位后,該寄存器的值為0。因此,在地址0 處必須包含一張向量表,用于初始時的

異常分配。

舉個例子,如果發(fā)生了異常11(SVC),則NVIC 會計算出偏移移量是11x4=0x2C,然后

從那里取出服務(wù)例程的入口地址并跳入。0 號異常的功能則是個另類,它并不是什么入口地

址,而是給出了復(fù)位后MSP 的初值。


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