簡介:ARM基礎(chǔ)知識-ARM中異常中斷的種類
**復(fù)位(RESET)**
當處理器復(fù)位引腳有效時,系統(tǒng)產(chǎn)生復(fù)位異常中斷,程序跳轉(zhuǎn)到復(fù)位異常中斷處理程序處執(zhí)行。復(fù)位異常中斷通常用在下面幾種情況下:系統(tǒng)加電時;系統(tǒng)復(fù)位時;跳轉(zhuǎn)到復(fù)位中斷向量處執(zhí)行成為軟復(fù)位。
**未定義的指令**
當ARM處理器或者是系統(tǒng)中的協(xié)處理器認為當前指令未定義時,產(chǎn)生未定義的指令異常中斷,可以通過改異常中斷機制仿真浮點向量運算。
**軟件中斷**
這是一個由用戶定義的中斷指令。可用于用戶模式下的程序調(diào)用特權(quán)操作指令。在實時操作系統(tǒng)中可以通過該機制西線系統(tǒng)功能調(diào)用。
**指令與取終止(PrefechAbort)**
如果處理器預(yù)取的指令的地址不存在,或者該地址不允許當前指令訪問,當被預(yù)取的指令執(zhí)行時,處理器產(chǎn)生指令預(yù)取終止異常中斷。
**數(shù)據(jù)訪問終止(DATAABORT)
如果數(shù)據(jù)訪問指令的目標地址不存在,,或者該地址不允許當前指令訪問,處理器產(chǎn)生數(shù)據(jù)訪問終止異常中斷
**外部中斷請求(IRQ)**
當處理器的外部中斷請求引腳有效,而且CPSR的寄存器的I控制位被清除時,處理器產(chǎn)生外部中斷請求異常中斷。系統(tǒng)中個外設(shè)通過該異常中斷請求處理服務(wù)。
**快速中斷請求(FIQ)**
當處理器的外部快速中斷請求引腳有效,而且CPSR的F控制位被清除時,處理器產(chǎn)生外部中斷請求異常中斷
異常中斷向量表及異常中斷優(yōu)先級
中斷向量表指定了個異常中斷及其處理程序的對應(yīng)關(guān)系。他通常存放在存儲地址的低端。在ARM體系中,異常中斷向量表的大小為32字節(jié),其中每個異常中斷占據(jù)4個字節(jié)大小,保留了4個字節(jié)空間。
每個異常中斷對應(yīng)的中斷向量表中的4個字節(jié)的空間中存放了一個跳轉(zhuǎn)指令或者一個向PC寄存器中賦值的數(shù)據(jù)訪問指令。通過這兩種指令,程序?qū)⑻D(zhuǎn)到相應(yīng)的異常中斷處理程序處執(zhí)行。當幾個異常中斷同時發(fā)生時,就必須按照一定的次序來處理這些異常中斷。
各個異常中斷的中斷向量地址以及中斷的處理優(yōu)先級
中斷向量地址異常中斷類型異常中斷模式優(yōu)先級(6最低)
0x00復(fù)位特權(quán)模式1
0x04未定義的指令未定義指令終止模式6
0x08軟件中斷特權(quán)模式6
0x0C指令預(yù)取終止終止模式5
0x10數(shù)據(jù)訪問終止終止模式2
0x14保留未使用未使用
0x18外部中斷請求IRQ模式4
0x1C快速中斷請求FIQ模式3
在應(yīng)用程序中安裝異常中斷處理程序
1.使用跳轉(zhuǎn)指令:可以在異常中斷對應(yīng)異常向量表中特定位置放置一條跳轉(zhuǎn)指令,直接跳轉(zhuǎn)到該異常中斷的處理程序。這種方法有一個缺點,即只能在32M空間范圍內(nèi)跳轉(zhuǎn)。
2.使用數(shù)據(jù)讀取指令LDR:使用數(shù)據(jù)讀取指令LDR向程序計數(shù)器PC中直接賦值。這種方法分為兩步:先將異常中斷處理程序的絕對地址存放在存放在距離向量表4KB范圍內(nèi)的一個存儲單元中;再使用數(shù)據(jù)讀取指令LDR將該單元的內(nèi)容讀取到程序計數(shù)器PC中。 **在系統(tǒng)復(fù)位時安裝異常中斷處理程序**
1.地址0x00處為ROM的情況
使用數(shù)據(jù)讀取指令LDR示例如下所示:
Vector_Init_Block
LDR PC, Reset_Addr
LDR PC, Undefined_Addr
LDR PC, SW_Addr
LDR PC, Prefeth_Addr
LDR PC, Abort_Addr
NOP
LDR PC, IRQ_Addr
LDR PC, FIQ_Addr
Reset_AddrDCD Start_Boot
Undefined_AddrDCD Undefined_Handle
SW_AddrDCD SWI_Handle
Prefeth_AddrDCD Prefeth_Handle
Abort_AddrDCD Abort_Handle
DCD 0
IRQ_AddrDCD IRQ_Handle
FIQ_AddrDCD FIQ_Handle
使用跳轉(zhuǎn)指令的示例如下所示:
Vector_Init_Block
BL Reset_Handle
BL DCD Undefined_Handle
BL SWI_Handle
BL Prefeth_Handle
BL Abort_Handle
NOP
BL IRQ_Handle
BL FIQ_Handle
2.地址0x00處為RAM的情況
地址0x00處為RAM時,中斷向量表必須使用數(shù)據(jù)讀取指令直接指向PC中賦值的形式。而且,必須使用下面的代碼巴中斷向量表從ROM中復(fù)制到RAM中地址0x00開始處的存儲空間中:
MOV r8,#0
ADR r9,Vector_Init_Block
;復(fù)制中斷向量表(8字)
LDMIA r9!,(r0-r7)
STMIA r8!,(r0-r7)
;復(fù)制保存各中斷處理函數(shù)地址的表(8字words)
LDMIA r9!,(r0-r7)
STMIA r8!,(r0-r7)
上一篇:ARM基礎(chǔ)知識教程一
下一篇:ARM基礎(chǔ)知識教程五
推薦閱讀
史海拾趣
隨著電子行業(yè)的快速發(fā)展,Compex Corporation意識到只有不斷創(chuàng)新才能在市場中保持競爭力。因此,公司加大了在研發(fā)方面的投入,積極引進先進的技術(shù)和設(shè)備。XXXX年,公司成功研發(fā)出了一款具有革命性的新型電容器,其性能遠超市場上的同類產(chǎn)品。這一技術(shù)突破不僅提升了公司的技術(shù)水平,也進一步鞏固了其在市場中的地位。
B&B公司成立于二戰(zhàn)后的經(jīng)濟恢復(fù)期,最初是一家小型的電子制造公司。在創(chuàng)始人對電子技術(shù)的深厚興趣和不懈追求下,公司逐漸在數(shù)據(jù)通信和商業(yè)應(yīng)用領(lǐng)域找到了自己的定位。初步的產(chǎn)品線主要集中在轉(zhuǎn)換器、控制器等基礎(chǔ)電子設(shè)備上,為當時的工業(yè)自動化和過程控制提供了穩(wěn)定可靠的解決方案。
背景:隨著電子行業(yè)的快速發(fā)展,振華新云不斷加大技術(shù)創(chuàng)新和產(chǎn)品研發(fā)力度。
內(nèi)容:公司積極引進先進技術(shù)和設(shè)備,加強與國際先進企業(yè)的合作與交流。同時,注重培養(yǎng)高素質(zhì)的技術(shù)人才隊伍,為技術(shù)創(chuàng)新和產(chǎn)品研發(fā)提供有力支持。
成果:通過持續(xù)不斷的技術(shù)創(chuàng)新和產(chǎn)品研發(fā),振華新云在電子元器件領(lǐng)域取得了多項重要成果,如開發(fā)出具有國際先進水平的鉭電解電容器等產(chǎn)品,進一步鞏固了公司在行業(yè)中的領(lǐng)先地位。
自上世紀60年代起,TDK就開始在中國布局。首先,在臺灣建立合資公司,隨后在香港設(shè)立銷售網(wǎng)絡(luò)及生產(chǎn)線。進入80年代后,TDK正式踏足中國大陸,在華東及華南多個地區(qū)建立生產(chǎn)基地,并逐漸將業(yè)務(wù)擴展至全國。TDK在中國的發(fā)展不僅推動了當?shù)仉娮庸I(yè)的進步,也為公司自身贏得了廣闊的市場空間。目前,TDK在中國的員工人數(shù)近6萬人,占TDK全球員工總數(shù)的近55%。
隨著技術(shù)的不斷進步,Aearo Technologies在能量控制領(lǐng)域取得了重大突破。公司研發(fā)的新型材料不僅能夠有效控制噪聲和振動,還能提高產(chǎn)品的耐用性和可靠性。這些技術(shù)優(yōu)勢使得公司的產(chǎn)品在航空航天、軍用防護以及消費電子等多個領(lǐng)域得到了廣泛應(yīng)用。通過不斷拓展市場,Aearo Technologies逐漸成為了能量控制技術(shù)的領(lǐng)導(dǎo)者。
面對全球電子市場的巨大潛力,D3公司積極實施全球化戰(zhàn)略。公司不僅在國內(nèi)市場深耕細作,還積極拓展海外市場。通過與國外知名企業(yè)的合作,D3公司的產(chǎn)品逐漸進入國際市場,并在多個國家和地區(qū)取得了良好的銷售業(yè)績。同時,公司還加強了對海外市場的調(diào)研和分析,以更好地滿足當?shù)叵M者的需求。這種全球化戰(zhàn)略的實施,為D3公司的長遠發(fā)展奠定了堅實的基礎(chǔ)。
最近我在win7的操作系統(tǒng)中一直無法安裝usb-blaster驅(qū)動程序,導(dǎo)致我無法在quartus II軟件中下載程序,如圖F:\\picture\\no hardware.jpg 但是我在安裝usb-blaster驅(qū)動程序的時候,系統(tǒng)彈出對話框F:\\picture\\drivers.jpg,我懷疑是因 ...… 查看全部問答∨ |
想從上層開發(fā)(asp.net..c#) 轉(zhuǎn)到 底層的嵌入開發(fā)(C)....請前輩指點....回答必得分 現(xiàn)在以有一年的上層開發(fā)經(jīng)驗....對asp.net..c# 什么的開發(fā)都 比較行了... 但現(xiàn)在有一個很好的機會 ...不過是做底層的嵌入開發(fā)(C).... 請高手給點好的意見...... 如果轉(zhuǎn)入嵌入開發(fā)(C),有沒有好的東東可以介紹... 先謝謝各位!… 查看全部問答∨ |
TI贈送的28035和28027的開發(fā)板原理圖(controlsuite中找不到的) TI贈送的28035和28027的開發(fā)板原理圖(controlsuite中找不到的) … 查看全部問答∨ |
|
富士通DIY家庭物聯(lián)網(wǎng)整合帖(未完) 這幾天開始最后的整合,我首先從廚房的部分開始的,因為廚房的做的比較完善,這里感謝下。根據(jù)他的修改說明,對電路進行相應(yīng)的修改。但是復(fù)位電路沒有按照他的要求進行修改。插上LAUCHPAD的調(diào)試線,通電下載。果然錯誤來了(如下圖,估計很多同學(xué)都 ...… 查看全部問答∨ |
“易電源納米模塊在一個微小解決方案尺寸中整合了易用性和高性能。納米模塊是目前市場上最小的1A封裝。該器件是首款將IC安裝在電感上的集成電感解決方案,可以降低電路板空間要求并提高性能,使之成為空間受限及負載點應(yīng)用的理想選擇。納米模塊還 ...… 查看全部問答∨ |
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦
- 基于GPS自動授時的無線智能控制器的設(shè)計
- 基于PTR2000的無線氣象信息采集系統(tǒng)設(shè)計
- Microchip推出MEC175xB系列器件,為嵌入式控制器引入硬件 抗量子攻擊能力
- 無人飛行器機載穩(wěn)定云臺控制系統(tǒng)的設(shè)計
- 匠芯創(chuàng)推出面向具身智能高性能實時處理器M7000
- 基于HW2181B的航模無線遙控通信系統(tǒng)設(shè)計與實現(xiàn)
- 應(yīng)對機器人“四高”,極海推出全球首款雙核Cortex-M52 MCU G32R501
- 非道路移動機械透射式煙度計研究與實現(xiàn)
- 基于STM32F103的角磨機開關(guān)磁阻電機控制器的設(shè)計
- 大眾汽車宣布明年起其所有電動車型全面轉(zhuǎn)向磷酸鐵鋰電池,升級至MEB Plus平臺
- 總產(chǎn)值破2000億,深圳要做“機器人第一城”?
- 鴻道Intewell操作系統(tǒng) 人形機器人底層操作系統(tǒng)
- 如何定位國產(chǎn)智駕芯片的終局價值?
- 新一代車規(guī)級數(shù)字功放電感VSAD-T系列 為汽車音響注入高保真基因
- 蜂巢能源快充電池突破:15分鐘充至滿電,提升30%效率
- 整車操作系統(tǒng)何以躋身智能汽車三大件?
- 人形機器人如何做到“手眼”協(xié)同+“大小腦”協(xié)同?
- 中國電池公司獲英國政府10億英鎊支持!
- 從游戲到智能駕駛,英偉達有哪些技術(shù)升級?