嵌入式開發筆記(三)ARM基礎知識 原

ARM 744瀏覽

1.ARM的編程模式

 

1.1當ARM 采用的是32位架構.

   ARM 約定:

   Byte : 8 bits

   Halfword(半字) :16 bits (2 byte)

   Word : 32 bits (4 byte)    聯想: 數據位寬4 byte,地址映射數據線32條

注意:Word在VC下是16bit,原因早期微軟16位時就定義為16bit,后來32位時候未改換成DWord.

1.2大部分ARM core 提供:

(2)ARM 指令集(32-bit)

(1)Thumb 指令集(16-bit ) 

(3)Thumb2指令集(16 & 32bit)

小計:早期時候Thumb指令集,每條指令16bit。缺點:有時需要兩個指令完成,效率,時間。之后ARM指令集每條指令32bit,缺點:浪費資源。隨后Thumb2(armV7)[16&32]。

1.3 Jazelle cores 支持 Java bytecode(支持JAVA加速)

 

2.ARM處理器工作模式

 2.1 ARM 有7個基本工作模式:

(1)User : 非特權模式,大部分任務執行在這種模式

(2)FIQ :   當一個高優先級(fast) 中斷產生時將會進入這種模式

(3)IRQ :   當一個低優先級(normal) 中斷產生時將會進入這種模式

(4)Supervisor :當復位或軟中斷指令執行時將會進入這種模式

(5)Abort : 當存取異常時將會進入這種模式

(6)Undef : 當執行未定義指令時會進入這種模式

(7)System : 使用和User模式相同寄存器集的特權模式

2.2注意:

(1)除User(用戶模式)是Normal(普通模式)外,其他6種都是Privilege(特   權模式)。

(2)Privilege中除Sys模式外,其余5種為異常模式。

(3)各種模式的切換,可以是程序員通過代碼主動切換(通過寫CPSR寄存器);  也可以是CPU在某些情況下自動切換。

(4)各種模式下權限和可以訪問的寄存器不同。

2.3 CPU為什么設計這些模式?

(1)1CPU是硬件,OS是軟件,軟件的設計要依賴硬件的特性,硬件的設計要考 慮軟件需要,便于實現軟件特性。

(2)操作系統有安全級別要求,因此CPU設計多種模式是為了方便操作系統的多 種角色安全等級需要。

3.ARM的37個寄存器詳解

 

3.1特點

1.ARM總共有37個寄存器,但是每種模式下最多只能看到18個寄存器,其他寄存器雖然名字相同但是在當前模式不可見。

例如:對r13這個名字來說,在ARM中共有6個名叫r13(又叫sp)的寄存器,但是在每種特定處理器模式下,只有一個r13是當前可見的,其他的r13必須切換到他的對應模式下才能看到。這種設計叫影子寄存器(banked register)

 

注意: System模式使用user模式寄存器集

Sp:棧指針寄存器。

lr:保存指針

Cpsr:程序狀態寄存器

Spsr:保存cpsr狀態寄存器

3.1.2總結

(1)ARM共有37個寄存器,都是32位長度

(2)37個寄存器中30個為“通用”型,1個固定用作PC,一個固定用作CPSR,   5個固定用作5種異常模式下的SPSR。

3.2 CPSR程序狀態寄存器

 

(1)Mode位:

     處理器模式位(7種)

(2)T Bit

僅ARM  xT架構支持

T = 0: 處理器處于 ARM 狀態

T = 1: 處理器處于 Thumb 狀態

(3)中斷禁止位:

I  = 1: 禁止  IRQ.

F = 1: 禁止  FIQ.

(4)J 位

僅ARM 5TE/J架構支持

J = 1:  處理器處于Jazelle狀態

(5)Q 位:

僅ARM 5TE/J架構支持

指示飽和狀態

 (6)條件位:

N = Negative result from ALU

(當運算為負的自動為1)

Z = Zero result from ALU

(當運算為0的自動為1)

C = ALU operation Carried out

(當運算進位自動為1)

V = ALU operation oVerflowed

(當運算溢出自動為1)

3.2.2注意

(1)CPSR中各個bit位表明了CPU的某些狀態信息,這些信息非常重要, 和后面學到的匯編指令息息相關(譬如BLE指令中的E就和CPSR中 的Z標志位有關)

(2)CPSR中的I、F位和開中斷、關中斷有關

(3)CPSR中的mode位(bit4~bit0共5位)決定了CPU的工作模式, 在uboot 代碼中會使用匯編進行設置。

 

 

七星彩走势图2元网官网