新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ARM中斷的基本過程

        ARM中斷的基本過程

        作者: 時間:2016-11-11 來源:網絡 收藏
        ARM中斷基本過程

        在IRQ0腳給個上升沿后,過程是這樣的(比較通用的過程)。
        1)如果你沒有打開該中斷的使能寄存器,沒有任何反應。
        2)如果你打開了使能寄存器,但在對應的屏蔽寄存器中屏蔽了該中斷,也沒有任何反應。
        3)上述兩個寄存器都設置正確了,中斷產生了,CPU保存當前程序運行環境,跳到中斷入口,ARM芯片一般是0x?地址處。
        4)如果你沒有設置中斷向量,即0x?處不是你的代碼,程序就會飛掉,當然也可能正常運行,這種情況一般發生在正好飛到正常代碼處。
        5)設置好中斷向量了,中斷向量一般是個跳轉語句,跳到你的正式的中斷處理過程,在這里你可以關閉所有中斷,清中斷,處理等等,然后退出。記住某些處理器一定要清中斷,否則下次再給個上升沿就沒有反應了。

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

        中斷路徑

        如果是irq中斷

        產生irq異常中斷 轉到 0x18 1 跳 中斷跳

        如果啟用向量中斷模式

        自動轉向對應向量地址 每地址對應一條跳轉指令 2 跳

        跳轉到中斷處理程序

        如果使用匯編編寫中斷處理程序

        在該處即可編寫處理程序

        如果使用c語言編寫中斷處理程序

        需要添加與c語言接口程序 3 跳

        方法:1 匯編編寫

        在內存空間定義一向量表,用來存放各中斷c語言中斷處理程序入口地址[即函數入口地址],

        在上述程序跳轉到處編寫 將c語言處理程序入口地址放入pc (即跳轉到c函數處)。

        2 c編寫

        在內存空間定義指針表[與匯編向量表對應],用來存放各中斷匯編轉向c函數入口地址,

        編寫中斷處理函數,將對應中斷指針內容放入函數入口地址。

        如果不啟用中斷向量模式

        從0x18直接轉向中斷處理程序即可

        小結: 上述1 跳為向量中斷模式自動完成,可加快尋找中斷源。

        2 跳為與c語言相結合,匯編和c利用共同定義的中斷向量地址表完成掛鉤。



        關鍵詞: ARM中斷基本過

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 定西市| 特克斯县| 称多县| 西平县| 呼玛县| 都安| 九江县| 綦江县| 新竹县| 阳原县| 信丰县| 惠安县| 乐业县| 桓台县| 厦门市| 阿拉善盟| 喜德县| 孟州市| 石台县| 城步| 沙田区| 蕲春县| 盐山县| 怀集县| 海林市| 秦安县| 平和县| 台东市| 汝州市| 克什克腾旗| 搜索| 大埔县| 禄劝| 肇东市| 宜宾县| 湾仔区| 中西区| 昌图县| 怀仁县| 乌拉特后旗| 庄河市|