ARM的工作模式和中斷流程

2021-06-23 03:43:22 字數 1716 閱讀 6916

arm體系結構中有七個工作模式:

0b10000  usr

使用者模式,一般的,唯一沒有特權的模式,也是正常工作模式,不能切換到其他模式

0b10001  fiq

快中斷模式,用於高速資料傳輸,快中斷響應的工作模式

0b10010  irq

中斷模式,通用中斷處理,一般中斷響應的工作模式

0b10011  supervisor

管理模式,作業系統保護模式,復位和軟體中斷響應的工作模式

0b10111  abort

中止模式,虛擬記憶體和儲存器保護模式,指令預取中止和資料訪問中止響應的工作模式

0b11011  undefined

未定義模式,用於軟體**,未定義指令中斷響應的工作模式

0b11111   system

系統模式,非異常的特權模式。

總結:1.只有usr使用者模式是唯一非特權工作模式。2.只有usr使用者模式和sys系統模式是非異常工作模式。

中斷定義:在程式的正常執行中,出現了緊急事件,cpu收到乙個中斷訊號,然後中止正常程式的執行,轉去處理相應的中斷服務程式,並在中斷處理完後,返回到正常程式的執行。

arm體系結構中七個中斷:

中斷向量位址,中斷名稱,中斷優先順序,中斷模式

0x00

復位(reset

):1svc

復位引腳有效產生復位異常中斷,程式跳轉到子程式執行;

復位情況

加電,復位按鍵;

直接跳轉到復位中斷服務子程式

0x04

未定義指令(undefined instruction):

6und

0x08

軟體中斷:使用者自定義的中斷指令

,目的是為了獲取到特權

6svc

0x0c指令預

取中止5

abt

0x10

資料訪問中止

2abt

0x14

0x18

外部中斷請求(irq)

4fiq

0x1c

快中斷請求(fiq)

3irq

psr狀態暫存器

位數:31  30  29   28 -------------------------------7  6  5  4  3  2  1  0

n   z   c   v                                          i  f  t  m5------------m1

n:負數

z:零c:進製或借位

v:溢位

i:irq禁止

f:fiq禁止

t:thumb狀態

m5--m1:工作模式位

中斷流程

用自己的理解來說就是:1.cpu發現中斷,捕獲中斷訊號。2.cpu保護好現場狀態。3.cpu跳轉到相應的中斷服務子程式,解決中斷問題。4.程式設計師清空中斷,恢復保護好的現場狀態。

1.       中斷控制器捕獲當前外設發出的中斷訊號,通知soc

2.       soc儲存當前程式的執行環境,然後呼叫中斷服務程式(isr)來處理中斷

3.       在isr中通過讀取中斷控制暫存器,外設的相關暫存器來識別是哪乙個中斷觸發,獲取硬體中斷號irq,跳轉到相應的處理例程完成中斷處理

4.       清除中斷:通過讀取相關中斷控制暫存器和外設相關的暫存器來實現

最後恢復被中斷程式的環境,繼續執行

arm中斷保護和恢復 ARM處理器工作模式詳解

一 儲存器格式 arm體系結構將儲存器看做是從零位址開始的位元組的線性組合。從零位元組到三位元組放置第乙個儲存的字 32位 資料,從第四個位元組到第七個位元組放置第二個儲存的字資料,一次排列。作為32位的微處理器,arm體系結構所支援的最大定址空間為4gb。儲存器格式 指令長度 arm微處理器的指令...

ARM工作模式和彙編

各種模式的切換,可以是程式設計師通過 主動切換 通過寫cpsr暫存器 也可以是cpu在某些情況下自動切換。各種模式下許可權和可以訪問的暫存器不同 作業系統有安全級別要求,因此cpu設計多種模式是為了方便作業系統的多種角色安全等級需要。arm是io與記憶體統一編址的,正常工作之外的流程都叫異常,異常會...

ARM體系工作模式和工作狀態

一 arm體系cpu有以下7種工作模式 1 使用者模式 usr 正常的程式執行模式。不能直接切換到其他模式 2 系統模式 sys 執行作業系統的特權任務。與使用者模式類似,但具有直接切換到其他模式等特權 3 快速中斷模式 fiq 支援高速資料傳輸以及通道處理。fiq異常響應時進入此模式 4 中斷模式...