新聞中心

ARM·中斷控制器

作者: 時間:2016-11-24 來源:網(wǎng)絡(luò) 收藏
【實例分析】
(1)輪流按下K1-K4,可以看見LED1-LED4被輪流點亮 ;
(2)同時按下K3-K4,只有LED4被點亮;
(3)同時按下K1-K2,LED1,LED2被點亮;
(4)同時按下所有按鍵,只有LED4被點亮;
CPU與外設(shè)之間的數(shù)據(jù)傳送控制方式,通常有以下三種:
*查詢方式
*中斷方式
*DMA方式(Direct Memory Access)
直接內(nèi)存存取是數(shù)字信號處理器DSP用于快速數(shù)據(jù)交換的重要技術(shù)
獨立于CPU后臺批量數(shù)據(jù)傳輸能力
【中斷】
*中斷請求
*中斷仲裁
*中斷響應
*中斷處理
*中斷返回
中斷處理流程:
(1)中斷控制器捕獲當前外設(shè)發(fā)出的中斷信號,通知soc
(2)soc保存當前程序的運行環(huán)境,然后調(diào)用中斷服務(wù)程序來處理中斷
(3)ISR中通過讀取中斷控制寄存器、外設(shè)的相關(guān)寄存器來是哪一個中斷觸發(fā),獲取硬件中斷號IRQ,跳轉(zhuǎn)到相應的地方完成中斷
(4)清楚中斷:通過讀寫相關(guān)中斷控制寄存器和外設(shè)相關(guān)的寄存器來實現(xiàn)
(5)最后恢復被中斷程序的環(huán)境,繼續(xù)執(zhí)行
【S3C2440A的中斷源】(太多)
這里關(guān)于一級中斷和二級中斷源的一個處理
(EINT8_23,ENT4_7)

【中斷相關(guān)的控制寄存器】
當一個中斷響應,我們可以通過相應地控制寄存器對中斷進行定性的控制,也就是操作這些寄存器 ;
*源掛起寄存器 SRCPND (與SUBSRCPND相似)
*中斷模式寄存器 INTMOD (選擇中斷模式,設(shè)置為0:IRQ中斷;設(shè)置為1:FIQ中斷)
*中斷屏蔽寄存器 INTMASK (用來配置SRCPND的中斷是否被屏蔽)(只能屏蔽IRQ)
*中斷優(yōu)先級寄存器 PRIOPITY
*中斷掛起寄存器 INTPND (選擇優(yōu)先級最高的一個中斷,置1)
*確認中斷源寄存器 INTOFFSET (對應INTPND)
*子中斷源源掛起寄存器 SUBSRCPND(清中斷時往SUBSRCPND寄存器中的對應位寫入1)
*子中斷屏蔽寄存器 INTSUBMASK(設(shè)置為1:對應子中斷被屏蔽 ;設(shè)置為0:表示子中斷允許)
(關(guān)于 掛起:有人說的很好,掛起是被翻譯過來的,英文是Pending,另一個意思更加準確:等待被執(zhí)行)
(多個中斷一起響應的時候,優(yōu)先級更高的中斷先執(zhí)行,其他被掛起)
【S3C2440A的外部中斷寄存器】
*外部中斷控制寄存器EXTINTx
*外部中斷屏蔽寄存器EINTMASK
*外部中斷掛起寄存器EINTPEND
(1)EXTINTx


設(shè)置可以控制低電平觸發(fā),高電平觸發(fā),下降沿觸發(fā),上升沿觸發(fā),邊沿觸發(fā)
(2)外部中斷屏蔽寄存器

(3)外部中斷掛起寄存器


上一頁 1 2 下一頁

關(guān)鍵詞: ARM中斷控制

評論


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

關(guān)閉