日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

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

自己學驅動18――中斷

來源:程序員人生   發布時間:2015-04-01 08:29:51 閱讀次數:3532次
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。
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 成人国产精品免费观看 | 麻豆传媒一区二区 | 免费精品视频 | 亚洲成人黄色 | 精品国产乱码久久久久久图片 | 黄色毛片视频免费 | 国产一区二区三区久久 | 色综合久久久久 | 久久精品人人爽 | 国产精品久久久免费看 | 久久久久综合 | 日本三级视频在线播放 | 精品福利在线观看 | 一区免费看 | 国产精品电影一区二区三区 | 亚洲欧美激情精品一区二区 | 日韩一区二区三区精品 | 久久不射网 | 欧美变态网站 | 国偷自产视频一区二区久 | 高清国产一区二区 | 青青草国产成人av片免费 | 久久精品亚洲精品 | 99久33精品字幕 | 成人av免费在线看 | 国产福利一区二区三区 | 激情在线视频 | 国产日韩精品一区 | 国产日韩欧美在线影视 | 久久久久久久久久久久久女国产乱 | 17婷婷久久www | 国产成人精品一区二区三区视频 | 午夜在线免费观看视频 | 激情视频网站 | 欧美日韩在线视频免费观看 | heyzo久久 | 久久综合九九 | 国产成人精品免费视频大全最热 | 在线成人 | 亚洲v天堂 | 十八女人毛片免费视频 |