在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM處理器中斷處理的編程實(shí)現(xiàn)

            基于ARM處理器中斷處理的編程實(shí)現(xiàn)

            作者: 時間:2012-11-30 來源:網(wǎng)絡(luò) 收藏
              ARM編程特別是代碼的編寫中通常需要實(shí)現(xiàn)中斷的響應(yīng)、解析跳轉(zhuǎn)和返回等操作,以便支持上層應(yīng)用程序的開發(fā),而這往往是困擾初學(xué)者的一個難題。的編程實(shí)現(xiàn)需要深入了解ARM內(nèi)核和處理器本身的中斷特征,從而設(shè)計(jì)一種快速簡便的機(jī)制。需要說明的是,具體的上層高級語言編寫的中斷服務(wù)函數(shù)不在本文的討論范圍之內(nèi)。

              異常概述

              當(dāng)異常中斷發(fā)生時,系統(tǒng)執(zhí)行完當(dāng)前指令后,將跳轉(zhuǎn)到相應(yīng)的異常中斷處理程序處執(zhí)行。當(dāng)異常中斷處理程序執(zhí)行完成后,程序返回到發(fā)生中斷的指令的下一條指令處執(zhí)行。在進(jìn)入異常中斷處理程序時,要保存被中斷的程序的執(zhí)行現(xiàn)場。從異常中斷處理程序退出時,要恢復(fù)被中斷的程序的執(zhí)行現(xiàn)場。ARM體系中通常在存儲地址的低端固化了一個32字節(jié)的硬件中斷向量表,用來指定各異常中斷及其處理程序的對應(yīng)關(guān)系。當(dāng)一個異常出現(xiàn)以后,ARM微處理器會執(zhí)行以下幾步操作:

              1)保存處理器當(dāng)前狀態(tài)、中斷屏蔽位以及各條件標(biāo)志位;

              2)設(shè)置當(dāng)前程序狀態(tài)寄存器CPSR中相應(yīng)的位;

              3)將寄存器lr_mode設(shè)置成返回地址;

              4)將程序計(jì)數(shù)器(PC)值設(shè)置成該異常中斷的中斷向量地址,從而跳轉(zhuǎn)到相應(yīng)的異常中斷處理程序處執(zhí)行。

              在接收到中斷請求以后, 內(nèi)核會自動執(zhí)行以上四步,程序計(jì)數(shù)器PC總是跳轉(zhuǎn)到相應(yīng)的固定地址。從異常中斷處理程序中返回包括下面兩個基本操作:

              1)恢復(fù)被屏蔽的程序的處理器狀態(tài);

              2)返回到發(fā)生異常中斷的指令的下一條指令處繼續(xù)執(zhí)行。

              當(dāng)異常中斷發(fā)生時,程序計(jì)數(shù)器PC所指的位置對于各種不同的異常中斷是不同的,同樣,返回地址對于各種不同的異常中斷也是不同的。例外的是,復(fù)位異常中斷處理程序不需要返回,因?yàn)檎麄€應(yīng)用系統(tǒng)是從復(fù)位異常中斷處理程序開始執(zhí)行的。

              支持中斷跳轉(zhuǎn)的解析程序

              解析程序的概念和作用

              如前所述,響應(yīng)中斷的時候,總是從固定的地址開始的,而在高級語言環(huán)境下開發(fā)中斷服務(wù)程序時,無法控制固定地址開始的跳轉(zhuǎn)流程。為了使得上層應(yīng)用程序與硬件中斷跳轉(zhuǎn)聯(lián)系起來,需要編寫一段中間的服務(wù)程序來進(jìn)行連接。這樣的服務(wù)程序常被稱作中斷解析程序。

              每個異常中斷對應(yīng)一個4字節(jié)的空間,正好放置一條跳轉(zhuǎn)指令或者向PC寄存器賦值的數(shù)據(jù)訪問指令。理論上可以通過這兩種指令直接使得程序跳轉(zhuǎn)到對應(yīng)的中斷處理程序中去。但實(shí)際上由于函數(shù)地址值為未知和其它一些問題,并不這么做。這里給出一種常用的中斷跳轉(zhuǎn)流程:


            上一頁 1 2 3 下一頁

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉