亚洲电影av-亚洲第一综合网站-亚洲第一在线-亚洲第一影院-成年人视频在线免费-成年人视频在线观看免费

電子方案開發(fā)供應(yīng)鏈平臺(tái)
一鍵發(fā)布任務(wù)
獲取驗(yàn)證碼
返回

發(fā)布成功


贊賞作者

贊賞金額:

  • ¥2
  • ¥5
  • ¥10
  • ¥50
  • ¥100
  • ¥200

支付金額:5

支付方式:

微信支付

贊賞成功!
你的贊賞是對(duì)作者最大的肯定~?

當(dāng)前位置 : 首頁(yè) > 方案訊 > 方案訊詳情
ARM Cortex-M的技術(shù)剖析
發(fā)布時(shí)間:2011-09-19 閱讀量:1536 來(lái)源:我愛方案網(wǎng) 作者:
每個(gè) Cortex-M 系列處理器都有特定的優(yōu)點(diǎn),但全部都受一些基本技術(shù)的支持,這些技術(shù)使 Cortex-M 處理器能夠勝任多種嵌入式應(yīng)用。

CMSIS
ARM Cortex 微控制器軟件接口標(biāo)準(zhǔn) (CMSIS) 是 Cortex-M 處理器系列的與供應(yīng)商無(wú)關(guān)的硬件抽象層。 使用 CMSIS,可以為接口外設(shè)、實(shí)時(shí)操作系統(tǒng)和中間件實(shí)現(xiàn)一致且簡(jiǎn)單的軟件接口,從而簡(jiǎn)化軟件的重用、縮短新微控制器開發(fā)人員的學(xué)習(xí)過程,并縮短新產(chǎn)品的上市時(shí)間。

深入:嵌套矢量中斷控制器 (NVIC)

NVIC 是 Cortex-M 處理器不可或缺的部分,它為處理器提供了卓越的中斷處理能力。

Cortex-M 處理器使用一個(gè)矢量表,其中包含要為特定中斷處理程序執(zhí)行的函數(shù)的地址。接受中斷時(shí),處理器會(huì)從該矢量表中提取地址。

為了減少門數(shù)并增強(qiáng)系統(tǒng)靈活性,Cortex-M 處理器使用一個(gè)基于堆棧的異常模型。出現(xiàn)異常時(shí),系統(tǒng)會(huì)將關(guān)鍵通用寄存器推送到堆棧上。完成入棧和指令提取后,將執(zhí)行中斷服務(wù)例程或故障處理程序,然后自動(dòng)還原寄存器以使中斷的程序恢復(fù)正常執(zhí)行。使用此方法,便無(wú)需編寫匯編器包裝器了(而這是對(duì)基于 C 語(yǔ)言的傳統(tǒng)中斷服務(wù)例程執(zhí)行堆棧操作所必需的),從而使得應(yīng)用程序的開發(fā)變得非常容易。NVIC 支持中斷嵌套(入棧),從而允許通過運(yùn)用較高的優(yōu)先級(jí)來(lái)較早地為某個(gè)中斷提供服務(wù)。

在硬件中完成對(duì)中斷的響應(yīng)
Cortex-M 系列處理器的中斷響應(yīng)是從發(fā)出中斷信號(hào)到執(zhí)行中斷服務(wù)例程的周期數(shù)。它包括:

檢測(cè)中斷
背對(duì)背或遲到中斷的最佳處理(參見下文)
提取矢量地址
將易損壞的寄存器入棧
跳轉(zhuǎn)到中斷處理程序
這些任務(wù)在硬件中執(zhí)行,并且包含在為 Cortex-M 處理器報(bào)出的中斷響應(yīng)周期時(shí)間中。在其他許多體系結(jié)構(gòu)中,這些任務(wù)必須在軟件的中斷處理程序中執(zhí)行,從而引起延遲并使得過程十分復(fù)雜。

 

NVIC 中的尾鏈
NVIC 中的尾鏈
在背對(duì)背中斷的情況下,傳統(tǒng)系統(tǒng)會(huì)重復(fù)完整的狀態(tài)保存和還原周期兩次,從而導(dǎo)致更高的延遲。Cortex-M 處理器通過在 NVIC 硬件中實(shí)現(xiàn)尾鏈技術(shù)簡(jiǎn)化了活動(dòng)中斷和掛起的中斷之間的轉(zhuǎn)換。處理器狀態(tài)會(huì)在比軟件實(shí)現(xiàn)時(shí)間更少的周期內(nèi)自動(dòng)保存在中斷條目上并在中斷退出時(shí)還原,從而顯著提升低 MHz 系統(tǒng)的性能。

 

NVIC 對(duì)遲到的較高優(yōu)先級(jí)中斷的響應(yīng)

NVIC 對(duì)遲到的較高優(yōu)先級(jí)中斷的響應(yīng)
如果在為上一個(gè)中斷執(zhí)行堆棧推送期間較高優(yōu)先級(jí)的中斷遲到,NVIC 會(huì)立即提取新的矢量地址來(lái)為掛起的中斷提供服務(wù),如上所示。Cortex-M NVIC 對(duì)這些可能性提供具有確定性的響應(yīng)并支持遲到和搶占。

NVIC 進(jìn)行的堆棧彈出搶占
NVIC 進(jìn)行的堆棧彈出搶占
同樣,如果異常到達(dá),NVIC 將放棄堆棧彈出并立即為新的中斷提供服務(wù),如上所示。通過搶占并切換到第二個(gè)中斷而不完成狀態(tài)還原和保存,NVIC 以具有確定性的方式實(shí)現(xiàn)了縮短延遲。

 



文章評(píng)論

您需要登錄才可以對(duì)文章進(jìn)行評(píng)論。

沒有賬號(hào)?立即注冊(cè)

最新活動(dòng)
意見反饋
取消