<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è) > 嵌入式系統 > 設計應用 > ARM中斷處理的安全性與高效性研究

ARM中斷處理的安全性與高效性研究

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

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

本文引用地址:http://dyxdggzs.com/article/152438.htm


所有已使能的查詢(xún)與服務(wù)>
;將同時(shí)發(fā)生的全部服務(wù),以提
LDMFD SP!,{R0-R3,R12,R14} ;恢復上下文
在上述保存上下文中沒(méi)有必要保存SPSR。因在非嵌套的程序中,它不會(huì )被任何順序的中斷所破壞。
如果用C語(yǔ)言來(lái)書(shū)寫(xiě)該程序,可以使用關(guān)鍵字一IRQ來(lái)說(shuō)明,以告訴編譯器實(shí)現如下的操作:
①保存.ATPCS規定的被破壞的寄存器;
②保存其他中斷程序中用到的寄存器;
③同時(shí)將(LR-4)賦予程序計數器PC,實(shí)現中斷程序的返回并且恢復CPSR寄存器的內容。
普通中斷處理的C語(yǔ)言程序可以按如下格式編寫(xiě):


可見(jiàn),無(wú)論是用C語(yǔ)言還是匯編語(yǔ)言來(lái)編寫(xiě),它們的工作原理都是一樣的。圖2給出了普通中斷處理過(guò)程中,寄存器的保存示意圖(虛線(xiàn)是壓棧保存,實(shí)線(xiàn)是彈?;謴?。圖中與程序處理的步驟相對應,可以幫助理解處理器上下文的保存過(guò)程。

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



關(guān)鍵詞: 高效 研究 安全性 處理 中斷 ARM

評論


相關(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>