<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于A(yíng)RM處理器中斷處理的編程實(shí)現

基于A(yíng)RM處理器中斷處理的編程實(shí)現

作者: 時(shí)間:2012-11-30 來(lái)源:網(wǎng)絡(luò ) 收藏


  圖1中斷跳轉流程圖

  這個(gè)流程中的關(guān)鍵部分是中斷向量表,為了讓解析程序能找到向量表,應該將向量表的地址固定化(編程者自定義)。這樣,整個(gè)跳轉流程的所有程序地址都是固定的,當中斷觸發(fā)后,就可以自動(dòng)運行。其中,只有向量表的內容是可變的,編程者只要在向量表中填入正確的目標地址值就可以了。這使得上層程序和底層硬件跳轉有機地聯(lián)系起來(lái)。

  解析過(guò)程示例

  以一次IRQ跳轉為例,假定中斷向量表定義在0x00400000開(kāi)始的外部RAM空間:


  圖2 中斷解析示例流程

  圖2中實(shí)線(xiàn)表示的流程都用ARM匯編語(yǔ)言編寫(xiě),一般作為boot代碼的一部分放在系統的底層模塊中。填寫(xiě)向量表的操作可以在上層應用程序中方便地實(shí)現,比如在C語(yǔ)言中: *( int *(0x00400018)) = (int) ISR_IRQ;這樣就將IRQ中斷的服務(wù)程序入口地址(0x00300260)填寫(xiě)到中斷向量表中的固定地址0x00400018開(kāi)始的4字節空間了。

  如此一來(lái),就可避免在應用程序中計算中斷的跳轉地址,并且可以很方便的選擇不同的函數作為指定中斷的服務(wù)程序。當然,在程序開(kāi)發(fā)時(shí)要合理開(kāi)辟好向量表,避免對向量表地址空間不必要的寫(xiě)操作。

  解析程序的擴展

  眾所周知,在中會(huì )包含很多中斷源,通常會(huì )在A(yíng)RM內核外面擴展一個(gè)中斷控制器來(lái)管理各種原因產(chǎn)生的中斷。比如,三星公司的S3C4510B處理器中的IRQ/FIQ類(lèi)型的中斷源可以有21個(gè),S3C44B0X有26個(gè)。這時(shí)候的原理還是一樣的,無(wú)非是向量表更長(cháng),并且當一個(gè)中斷觸發(fā)以后,需要在解析程序里查詢(xún)中斷控制器的狀態(tài)來(lái)確定具體的中斷源,再根據中斷源來(lái)讀取向量表中的對應地址內容。其處理流程可用圖3表示。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>