多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > 綜合技術 > 自己學驅動18――中斷

自己學驅動18――中斷

來源:程序員人生   發布時間:2015-04-01 08:29:51 閱讀次數:3526次
1.中斷原理
    當某個事件產生時,硬件會設置某個寄存器;CPU在履行完1個指令時,通過硬件查看這個寄存器,如果發現所關注的事件產生了,則中斷當前程序流程,跳轉到1個固定的地址去處理這個事件,最后返回繼續履行被中斷的程序。

2.中斷處理進程
    (1)中斷控制器聚集各類外設發出的中斷信號,然后告知CPU。
    (2)CPU保存當前程序的運行環境(各個寄存器等),調用中斷服務程序(ISR,Interrupt Service Routine)來處理這些中斷。
    (3)在ISR中通過讀取中斷控制器、外設的相干寄存器來辨認這是哪一個中斷,并進行相應的處理。
    (4)清除中斷:通過讀寫中斷控制器和外設的相干寄存器實現。
    (5)最后恢復被中斷程序的運行環境,繼續履行。


3.使用中斷的步驟
    (1)設置好中斷模式和快速中斷模式下的棧:當產生中斷IRQ時,CPU進入中斷模式,這時候使用中斷模式(IRQ)下的棧;當產生快速中斷FIQ時,CPU進入快速中斷模式,這時候使用快速中斷模式下的棧。
    (2)準備好中斷處理函數:
    在異常向量表中設置好當進入中斷模式或快速中斷模式時的跳轉函數;
    對IRQ,讀取INTPND寄存器或INTOFFSET寄存器的值來肯定中斷源,然后分別處理,而對FIQ,由于只有1個中斷可以設置為FIQ,則無需判斷中斷源;
    清除中斷,清除中斷應當從源頭開始,首先,需要的話,操作具體的外設清除中斷信號,其次清除SUBSRCPND、SRCPND寄存器中相應的位(往相應位寫1便可),最后,清除INTPND寄存器中相應位(往相應位寫1便可),最簡單的辦法"INTPND = INTPND"。
    (3)進入、退出IRQ或FIQ時需要保存、恢復被中斷程序的運行環境。
    (4)根據具體中斷,設置相干外設。
    (5)對"Request sources(without sub-register)"中的中斷,將INTSUBMSK寄存器中相應位設為0。
    (6)肯定使用此中斷的方式:FIQ或IRQ。
    如果是FIQ,則在INTMOD寄存器中設置相應位為1;
    如果是IRQ,則在RIORITY寄存器中設置優先級。
    (7)如果是IRQ,則將INTMSK寄存器中相應位設為0(FIQ不受INTMSK寄存器控制)。
    (8)設置CPSR寄存器中的I-bit,使能IRQ或FIQ。
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 欧美性一区二区三区 | 日韩中文字幕精品免费一区 | 男女羞羞网站 | 亚洲欧美另类日本久久影院 | 最近免费的中文字幕一 | 亚洲成a人片777777久久 | 叼嘿视频在线免费观看 | yellow影院在线观看免费 | 国产一级淫片a | 加勒比精品久久一区二区三区 | 日本精品中文字幕 | 日本a v 黄 | free 高跟鞋 xxxxhdsex | 精品国产国产综合精品 | 久久99国产精品久久99 | 午夜三级成人三级 | 亚洲综合精品一区二区三区中文 | 婷婷丁香综合 | 4438x成人网最大色成网站 | 久久精品a一国产成人免费网站 | 波多野结衣与公中出中文字幕 | 婷婷色一二三区波多野衣 | 中文字幕在线视频播放 | 国产精品久久久久久麻豆一区 | 日韩高清专区 | 欧美午夜色大片在线观看免费 | 日本啊啊啊 | 国产成人免费不卡在线观看 | 亚洲精品视频观看 | free欧美xxxxhd720 free欧美xxxxvideo | 精品成人资源在线观看 | 最近2019中文字幕免费大全5 | 国产精品嫩草影院视频 | 亚洲欧美日韩国产精品一区 | 用劲好爽再深点视频 | 手机看片日韩高清国产欧美 | 亚洲伊人成综合网 | ak福利午夜在线观看 | 久久精品一区二区三区中文字幕 | 中文字幕123| 亚洲精品视频一区二区 |