www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]ARM中斷處理的研究

在嵌入式系統(tǒng)中常用的RISC處理器是ARM核,它具有體積小、功耗低、成本低、性價比高的特點。然而,不管是哪種型號的ARM處理器,也無論該嵌入式系統(tǒng)中是否有操作系統(tǒng),中斷處理,特別是IRQ中斷,始終是必須的,而中斷處理的核心問題是上下文的保存。能否安全而又高效地保存上下文,將影響一個嵌入式系統(tǒng)的性能與穩(wěn)定。筆者對ARM處理器的普通中斷處理、任務切換中斷處理、可重人中斷處理和基于優(yōu)先級的可重人性中斷處理的上下文保存技術進行分析與總結。為保證理論的正確性,核心的程序代碼都經過了實驗的檢測。

  1 系統(tǒng)中斷處理簡介

  ARM處理器的中斷主要有兩種:IRQ普通中斷和FIQ快速中斷??焖僦袛啾举|上與普通中斷沒有太大的差別,它們在處理機制上有許多相同的地方。IRQ中斷是最頻繁的也是最為影響系統(tǒng)性能的,所以對它的研究與處理也就最有價值。
 

  下面簡要地介紹一下IRQ異常發(fā)生時ARM處理器的工作過程。在IRQ中斷發(fā)生時,ARM處理器的硬件會自動執(zhí)行以下工作:

 ?、賹⒈恢袛嗳蝿漳J降腃PSR值保存到IRQ模式中的SPSR寄存器中;

 ?、趯⒈恢袛嗳蝿漳J降腜C值保存到IRQ模式中的LR寄存器中;

  ③將模式自動切換到IRQ模式,并將CPSR中的bit7位置1禁止后繼IRQ中斷的發(fā)生;

 ?、躊C被賦予0xl8的地址值,程序將從0xl8片開始執(zhí)行。結合圖1,可以更好地理解ARM中斷處理機制的工作過程。

  

 

  2 普通中斷處理

  有些ARM嵌入式系統(tǒng)可能對中斷的要求比較低,即發(fā)生中斷后首先查詢相應的中斷源,然后進行中斷服務,最后從中斷服務程序中返回到被中斷處繼續(xù)運行程序。如何在這種簡單應用中保證安全又高效地處理中斷呢?“安全”就意味著中斷發(fā)生時上下文被完好保存不被破壞,“高效”就是說保存盡可能少的寄存器(當然是建立在安全的基礎上的)。由圖1可知,在普通中斷處理中,中斷服務就可以在IRQ模式中運行。根據ATPCS的調用規(guī)則,在子程序調用中ARM編譯器保存了R4~R11寄存器,因此就沒有必要再次保存。那么剩下的寄存器就必須予以保存,防止從中斷服務程序返回后被破壞??梢杂脜R編語言和C語言書寫處理代碼。

  首先假設初始化代碼中已正確建立了IRQ堆棧。

  

 

  <所有已使能中斷的查詢與服務>

  ;將同時發(fā)生的中斷全部服務,以提高效率

  LDMFD SP!,{R0-R3,R12,R14} ;恢復上下文

  在上述保存上下文中沒有必要保存SPSR。因在非嵌套的中斷處理程序中,它不會被任何順序的中斷所破壞。

  如果用C語言來書寫該處理程序,可以使用關鍵字一IRQ來說明,以告訴編譯器實現(xiàn)如下的操作:

 ?、俦4?ATPCS規(guī)定的被破壞的寄存器;

  ②保存其他中斷處理程序中用到的寄存器;

 ?、弁瑫r將(LR-4)賦予程序計數(shù)器PC,實現(xiàn)中斷程序的返回并且恢復CPSR寄存器的內容。

  普通中斷處理的C語言程序可以按如下格式編寫:

  

 

  可見,無論是用C語言還是匯編語言來編寫,它們的工作原理都是一樣的。圖2給出了普通中斷處理過程中,ARM寄存器的保存示意圖(虛線是壓棧保存,實線是彈?;謴?。圖中與程序處理的步驟相對應,可以幫助理解處理器上下文的保存過程。

  

[!--empirenews.page--]3 任務切換

 

  有操作系統(tǒng)的嵌入式系統(tǒng)中,中斷的發(fā)生要求保存全部寄存器的內容到任務的棧中,它不是基于安全的考慮是因為可能中斷會導致任務的切換。任務切換發(fā)生時所有任務的寄存器的值都要保存到該任務的棧中。下個任務的上下文將從該任務棧中得以恢復到處理器的寄存器中。下面就本問題作出分析并給出實現(xiàn)的程序代碼。從圖1中斷處理寄存器的保存可知,中斷發(fā)生后任務的CPSR和PC兩寄存器的值在IRQ模式的SPSR和LR中,所以不能簡單地切換到任務運行的模式中,否則被中斷任務返回時的CPSR和PC將不可見(因為它們保存在IRQ模式的專用寄存器中,在其他模式中無法操作)。此時,可以考慮設置一些變量區(qū)作為媒介,將其予以轉存到任務運行模式的棧中去。

  下面假設任務切換是在SVC模式中運行的。結合上面的分析,可以有圖3所示的保存任務切換的示意圖(虛線是壓棧保存,實線是彈?;謴?LR_Frame和SPSR_Frame是變量區(qū))。

  

 

  結合圖3任務切換中斷處理中的步驟,可以用匯編語言寫出相對應的中斷處理程序:

  

 

  

 

  4 可重入性中斷

  如果希望在處理中斷時仍能響應其他中斷請求以此來縮短中斷延時,就必須設計可重人性中斷。可重入性中斷是處理多個中斷的一種方法,但它也同時帶來新的問題。在IRQ中斷模式中,如果直接重新允許了IRQ中斷,此時因為執(zhí)行一條BL指令而將子程序返回的地址保存在LR_irq中,而在此間中斷發(fā)生了。新來的中斷會將其返回地址裝入LR_irq中,此時舊中斷子程序的返回地址必將被覆蓋從而導致系統(tǒng)紊亂。此種情形是無法通過將LR_irq壓棧來解決的,如程序語句:

  

 

  但是仍不能排除在保存LR之前中斷發(fā)生的可能性。要解決上述LR_irq被破壞的問題,就必須切換處理器的模式,常見的是切換到SVC處理模式。在SVC模式中,通過BL調用子程序時會將返回地址保存在LR_SVC之中。此時新中斷發(fā)生(因為它會將返回地址保存到LR_irq而不是LR_SVC),不會破壞舊中斷中子程序返回地址了。有了基于上述的原理分析再來編寫可重入性中斷的代碼就思路清晰了。但是為了保證處理的高效性,盡可能地及早允許中斷以縮短延時,在保存完LR_irq和SPSR_irq后,就馬上切換到SVC模式中并重新允許中斷,如圖4所示(虛線是壓棧保存,實線是彈?;謴?。

  

 

  結合圖4中的處理步驟,可以比較清晰地寫出可重入中斷處理的匯編語言程序:

  

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉