新聞中心

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

《Cortex-M0權(quán)威指南》之體系結(jié)構(gòu)---異常和中斷

作者: 時間:2016-12-29 來源:網(wǎng)絡(luò) 收藏

  異常會引起程序控制的變化。在異常發(fā)生時,處理器停止當(dāng)前的任務(wù),轉(zhuǎn)而執(zhí)行異常處理程序,異常處理完成后,會繼續(xù)執(zhí)行剛才的任務(wù)。異常分為很多種,是其中之一。處理器最多支持32個外部(IRQ)和一個不可屏蔽(NMI),中斷事件的處理叫做中斷服務(wù)程序(ISR),中斷一般由片上的IO口的外部輸入產(chǎn)生(邊沿觸發(fā)和電平觸發(fā))。

本文引用地址:http://2s4d.com/article/201612/342268.htm

  處理器上可用的中斷數(shù)量不確定,由廠商決定,最多32個外部中斷。如果系統(tǒng)的外設(shè)很多,由于中斷數(shù)目有限,多個中斷源可能使用同一個中斷連接。

  除了IRQ和NMI,M0處理系還支持很多系統(tǒng)異常,它們主要用于操作系統(tǒng)和錯誤處理。

  異常類型      異常編號       描述

  Reset         1         上電復(fù)位或系統(tǒng)復(fù)位

  NMI            2         不可屏蔽中斷

  Hard fault        3         用于錯誤處理,系統(tǒng)檢測到錯誤后被激活

  SVCall         11         請求管理調(diào)用,在執(zhí)行SVC指令被激活,主要用作操作系統(tǒng)

  PendSV         14         可掛起服務(wù)(系統(tǒng))調(diào)用

  SysTick         15         系統(tǒng)節(jié)拍定時器異常,一般在OS種用作周期系統(tǒng)節(jié)拍異常

  IRQ0-IRQ31       16-47       中斷,可來自于外部,也可來自片上外設(shè)

  每一個異常都對應(yīng)一個異常編號,這在包括IPSR在內(nèi)的許多寄存器種都有提現(xiàn),而且這個異常編號還指明了異常向量的地址。在設(shè)備驅(qū)動庫種,異常編號和中斷編號是相互獨(dú)立的。系統(tǒng)異常使用負(fù)數(shù)定義,中斷使用0-31正數(shù)定義。

  復(fù)位是一種特殊的異常,數(shù)值為1,在IPSR中不可見。

  除了NMI,硬件錯誤和復(fù)位,其他所有異常的優(yōu)先級都是可編程的,NMI和硬件錯誤的優(yōu)先級是固定的,并且比其他異常的優(yōu)先級高。



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

評論


相關(guān)推薦

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

關(guān)閉