新聞中心

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

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

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

        通常有以下三種方式

        本文引用地址:http://www.104case.com/article/201611/318241.htm

        1.查詢方式

        2.中斷方式

        3.DMA方式(在獨(dú)立開(kāi)辟的一個(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)容詳見(jiàn)芯片手冊(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)閉
        主站蜘蛛池模板: 乐业县| 烟台市| 新巴尔虎右旗| 桓仁| 荣昌县| 平湖市| 西城区| 蓬安县| 康保县| 鹤壁市| 吴忠市| 奈曼旗| 宣汉县| 阳原县| 孙吴县| 湖州市| 淮北市| 阿拉善左旗| 宜章县| 松阳县| 遂昌县| 宣化县| 额尔古纳市| 大竹县| 五河县| 肇源县| 黔南| 京山县| 额尔古纳市| 辛集市| 黄平县| 浦江县| 荥经县| 法库县| 嘉鱼县| 水富县| 翁牛特旗| 宁远县| 三台县| 康保县| 潞城市|