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