資料介紹
ARM處理器狀態(tài)
??? ARM微處理器的工作狀態(tài)一般有兩種,并可在兩種狀態(tài)之間切換:
第一種為ARM狀態(tài),此時(shí)處理器執(zhí)行32位的字對(duì)齊的ARM指令;
第二種為T(mén)humb狀態(tài),此時(shí)處理器執(zhí)行16位的、半字對(duì)齊的Thumb指令。
在程序的執(zhí)行過(guò)程中,微處理器可以隨時(shí)在兩種工作狀態(tài)之間切換,并且,處理器工作狀態(tài)的轉(zhuǎn)變并不影響處理器的工作模式和相應(yīng)寄存器中的內(nèi)容。但ARM微處理器在開(kāi)始執(zhí)行代碼時(shí),應(yīng)該處于ARM狀態(tài)。?
ARM處理器狀態(tài)
??? 進(jìn)入Thumb狀態(tài):當(dāng)操作數(shù)寄存器的狀態(tài)位(位0)為1時(shí),可以采用執(zhí)行BX指令的方法,使微處理器從ARM狀態(tài)切換到Thumb狀態(tài)。此外,當(dāng)處理器處于Thumb狀態(tài)時(shí)發(fā)生異常(如IRQ、FIQ、Undef、Abort、SWI等),則異常處理返回時(shí),自動(dòng)切換到Thumb狀態(tài)。
??? 進(jìn)入ARM狀態(tài):當(dāng)操作數(shù)寄存器的狀態(tài)位為0時(shí),執(zhí)行BX指令時(shí)可以使微處理器從Thumb狀態(tài)切換到ARM狀態(tài)。此外,在處理器進(jìn)行異常處理時(shí),把PC指針?lè)湃氘惓DJ芥溄蛹拇嫫髦?,并從異常向量地址開(kāi)始執(zhí)行程序,也可以使處理器切換到ARM狀態(tài)。
ARM處理器模式
??? ARM微處理器支持7種運(yùn)行模式,分別為:
用戶模式(usr):ARM處理器正常的程序執(zhí)行狀態(tài)。
快速中斷模式(fiq):用于高速數(shù)據(jù)傳輸或通道處理。
外部中斷模式(irq):用于通用的中斷處理。
管理模式(svc):操作系統(tǒng)使用的保護(hù)模式。
數(shù)據(jù)訪問(wèn)終止模式(abt):當(dāng)數(shù)據(jù)或指令預(yù)取終止時(shí)進(jìn)入該模式,可用于虛擬存儲(chǔ)及存儲(chǔ)保護(hù)。
系統(tǒng)模式(sys):運(yùn)行具有特權(quán)的操作系統(tǒng)任務(wù)。
定義指令中止模式(und):當(dāng)未定義的指令執(zhí)行時(shí)進(jìn)入該模式,可用于支持硬件協(xié)處理器的軟件仿真。
ARM處理器模式
??? ARM微處理器的運(yùn)行模式可以通過(guò)軟件改變,也可以通過(guò)外部中斷或異常處理改變。大多數(shù)的應(yīng)用程序運(yùn)行在用戶模式下,當(dāng)處理器運(yùn)行在用戶模式下時(shí),某些被保護(hù)的系統(tǒng)資源是不能被訪問(wèn)的。
??? 除用戶模式以外,其余的所有6種模式稱之為非用戶模式,或特權(quán)模式;其中除去用戶模式和系統(tǒng)模式以外的5種又稱為異常模式,常用于處理中斷或異常,以及需要訪問(wèn)受保護(hù)的系統(tǒng)資源等情況。
ARM寄存器
??? ARM處理器共有37個(gè)寄存器。其中包括:31個(gè)通用寄存器,包括程序計(jì)數(shù)器(PC)在內(nèi)。這些寄存器都是32位寄存器。以及6個(gè)32位狀態(tài)寄存器。
關(guān)于寄存器這里就不詳細(xì)介紹了,有興趣的人可以上網(wǎng)找找,很多這方面的資料。
異常處理
??? 當(dāng)正常的程序執(zhí)行流程發(fā)生暫時(shí)的停止時(shí),稱之為異常,例如處理一個(gè)外部的中斷請(qǐng)求。在處理異常之前,當(dāng)前處理器的狀態(tài)必須保留,這樣當(dāng)異常處理完成之后,當(dāng)前程序可以繼續(xù)執(zhí)行。處理器允許多個(gè)異常同時(shí)發(fā)生,它們將會(huì)按固定的優(yōu)先級(jí)進(jìn)行處理。當(dāng)一個(gè)異常出現(xiàn)以后,ARM微處理器會(huì)執(zhí)行以下幾步操作:
進(jìn)入異常處理的基本步驟:
將下一條指令的地址存入相應(yīng)連接寄存器LR,以便程序在處理異常返回時(shí)能從正確的位置重新開(kāi)始執(zhí)行。將CPSR復(fù)制到相應(yīng)的SPSR中。根據(jù)異常類型,強(qiáng)制設(shè)置CPSR的運(yùn)行模式位。
強(qiáng)制PC從相關(guān)的異常向量地址取下一條指令執(zhí)行,從而跳轉(zhuǎn)到相應(yīng)的異常處理程序處。如果異常發(fā)生時(shí),處理器處于Thumb狀態(tài),則當(dāng)異常向量地址加載入PC時(shí),處理器自動(dòng)切換到ARM狀態(tài)。
ARM微處理器對(duì)異常的響應(yīng)過(guò)程用偽碼可以描述為:
R14_ = Return Link
SPSR_= CPSR
CPSR[4:0] = Exception Mode Number
CPSR[5] = 0 ;當(dāng)運(yùn)行于 ARM 工作狀態(tài)時(shí)
If == Reset or FIQ then;當(dāng)響應(yīng) FIQ 異常時(shí),禁止新的 FIQ 異常
CPSR[6] = 1
PSR[7] = 1
PC = Exception Vector Address
異常處理完畢之后,ARM微處理器會(huì)執(zhí)行以下幾步操作從異常返回:
將連接寄存器LR的值減去相應(yīng)的偏移量后送到PC中。
將SPSR復(fù)制回CPSR中。
若在進(jìn)入異常處理時(shí)設(shè)置了中斷禁止位,要在此清除。
- 基于ARM處理器的TFT-LCD顯示系統(tǒng) 34次下載
- 基于ARM處理器的禽舍環(huán)境監(jiān)控系統(tǒng) 31次下載
- 概述ARM處理器的工作狀態(tài)和工作模式 9次下載
- ARM處理器的工作模式詳細(xì)資料說(shuō)明 10次下載
- ARM處理器內(nèi)核的詳細(xì)資料概述 15次下載
- OMAPL138B C6-Integra? DSP+ARM? 處理器 6次下載
- 51單片機(jī)和ARM處理器的比較及ARM處理器相關(guān)知識(shí)的詳解 66次下載
- ARM微處理器編程模型之處理器工作模式解析 2次下載
- 初識(shí)ARM系列處理器 3次下載
- ARM處理器七種工作模式及特點(diǎn)的介紹 14次下載
- ARM920T處理器工作模式
- ARM微處理器的編程模型
- ARM處理器的節(jié)能優(yōu)勢(shì)
- ARM微處理器體系結(jié)構(gòu)
- ARM微處理器的編程模型
- ARM處理器如何編寫(xiě)B(tài)ootloader 849次閱讀
- ARM協(xié)處理器接口 1508次閱讀
- 無(wú)線串口集線器的設(shè)計(jì)中是如何運(yùn)用arm處理器的 1462次閱讀
- 米爾科技ARM處理器體系架構(gòu)介紹 5012次閱讀
- 各類ARM處理器的區(qū)別及應(yīng)用 6358次閱讀
- 嵌入式系統(tǒng)架構(gòu)之ARM處理器 2332次閱讀
- 解答arm處理器的七種工作模式 1.6w次閱讀
- 淺談arm處理器的優(yōu)勢(shì) 1.2w次閱讀
- 解答arm是什么/arm處理器采用什么技術(shù) 8248次閱讀
- ARM處理器在節(jié)能方面具有哪些優(yōu)勢(shì) 1354次閱讀
- arm的協(xié)處理器有幾個(gè)?ARM協(xié)處理器詳解 8996次閱讀
- ARM處理器的2種工作狀態(tài)和7種工作模式及37個(gè)寄存器介紹 1.4w次閱讀
- 淺談ARM處理器的特點(diǎn)和體系結(jié)構(gòu) 1.7w次閱讀
- ARM處理器簡(jiǎn)介及RISC特點(diǎn) 1.3w次閱讀
- 基于ARM處理器的高效異常處理解決方案 1424次閱讀
下載排行
本周
- 1TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開(kāi)關(guān)電源基礎(chǔ)知識(shí)
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 651單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)大棚環(huán)境控制器仿真程序
- 1.10 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論