新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM裸機(jī)開發(fā)222440中斷原理

ARM裸機(jī)開發(fā)222440中斷原理

作者: 時(shí)間:2016-11-19 來(lái)源:網(wǎng)絡(luò) 收藏
1CPU與外設(shè)之間的數(shù)據(jù)傳送控制方式(I/O控制方式)

通常有以下三種方式

本文引用地址:http://butianyuan.cn/article/201611/318241.htm

1.查詢方式

2.中斷方式

3.DMA方式(在獨(dú)立開辟的一個(gè)空間不由CPU控制,有DMA自己進(jìn)行管理。實(shí)現(xiàn)存儲(chǔ)器與外設(shè)的高速的數(shù)據(jù)傳輸方式)

主要講中斷:

中斷請(qǐng)求---->中斷仲裁---->中斷響應(yīng)---->中斷處理---->中斷返回(要保存現(xiàn)場(chǎng))

中斷處理流程:

1.中斷控制器捕獲當(dāng)前外設(shè)發(fā)出的中斷信號(hào),通知SOC(中央處理芯片:片上系統(tǒng))

2.SOC保存當(dāng)前程序的運(yùn)行環(huán)境,調(diào)用中斷服務(wù)程序(ISR:一小段代碼)進(jìn)行處理中斷

3.在ISR中通過(guò)讀取中斷控制寄存器、外設(shè)的相關(guān)寄存器來(lái)識(shí)別那一個(gè)中斷觸發(fā),獲取硬件中斷號(hào)IRQ,跳轉(zhuǎn)到相應(yīng)的處理程序(詳細(xì)完整的處理程序)來(lái)完成中斷處理

4.清除中斷:通過(guò)讀寫相關(guān)寄存器

5.恢復(fù)被中斷的環(huán)境,繼續(xù)執(zhí)行(現(xiàn)場(chǎng))

2440有60個(gè)中斷源

一級(jí)中斷源,二級(jí)中斷源等的概念


圖片中的所指示的單元為相應(yīng)的寄存器

懸掛寄存器source pending(SUBSRCPND、SRCPND)清零方式為向相應(yīng)的位寫1.與 常規(guī)的清零方式不同。INTPND也是通過(guò)寫1進(jìn)行清0操作

INTOFFSET:這個(gè)寄存器用來(lái)表示INTPND寄存器中哪位被置1了,即INTPND寄存器中位為1時(shí),INTOFFSET寄存器的值為x(x為0~31)

在清除SRCPND、INTPND寄存器時(shí),INTOFFSET寄存器被自動(dòng)清除。

具體內(nèi)容詳見芯片手冊(cè)S3C2440

外部中斷:

外部中斷也有相關(guān)的寄存器EXTINTx,EINTMASK,EINTPEND三個(gè)寄存器

EXTINTx設(shè)置中斷的觸發(fā)方式低電平,高電平,上升沿,下降沿,邊沿觸發(fā)


EINTMASK


EINTPEND中斷懸掛寄存器(相應(yīng)中斷觸發(fā),相應(yīng)的位置1)讀取此寄存器可以知道是那一個(gè)寄存器被觸發(fā)了




評(píng)論


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

關(guān)閉