搜尋此網誌

顯示具有 ARM相關 標籤的文章。 顯示所有文章
顯示具有 ARM相關 標籤的文章。 顯示所有文章

2014年6月18日 星期三

RealView compiler setting

Optimize for [Space]: Base on Code size, [Time]: Base on Performance.

Optimization Level:
  • [0(minimum optimization, best debug view)]
  • [1(restricted optimization, good debug view)]
  • [2(high optimization, restricted debug view)]
  • [3(maximum optimization, restricted debug view)]


Equivalent Command Line: You can add your own parameter over here, for example: -Dtest_flag.

2011年11月13日 星期日

程式狀態暫存器(CPSR: Current Program Status Register)


  1. N: N=1, 為負數。N=0, 為正數。
  2. Z: 結果為0時,Z=1(通常表示結果相等)。否則為0。
  3. C: 若加法產生進位(C=1),否則C=0。減法產生借位(C=0),否則C=1。對於移位的指令,C位元是最後一個移出值。非加減法C位元通常不變。
  4. V: 當加法或減法運算時,發生溢位時(V=1)。若運算元和結果是補數形式的帶符號整數,對於非加減法指令,V位元通常不變。
  5. 控制位元 
          (1) 中斷禁止位元
                I位元 = 1, 除能IRQ中斷。
                F位元 = 1, 除能FIQ中斷。
                T位元,在ARM v3腋下之版本T位元為0。
 
                              在ARM v4以上的T位元:
                               T = 1,表示ARM模式
                               T = 0,表示Thumb模式

                              在ARM v5以上的T位元:
                               T = 1,表示ARM模式
                               T = 0,表示執行下一到指令,引起位定義指令異常。

           (2) 模式位元
                 M0、M1、M2、M3與M4(M[4:0])是模式位元,決定處理器的工作模式。
M[4:0]
模式
可存取的暫存器
0x10(0b10000)
User
PC, R14~R0, CPSR
0x11(0b10001)
FIQ
PC, R14_fiq~R8_fiq, R7~R0, CPSR, SPSR_fiq
0x12(0b10010)
IRQ
PC, R14_irq, R13_irq, R12~R0, CPSR, SPSR_irq
0x13(0b10011)
管理
PC, R14_svc, R13_svc, R12~R0, CPSR, SPSR_svc
0x17(0b10111)
中止
PC, R14_abt, R13_abt, R12~R0, CPSR, SPSR_abt
0x1B(0b11011)
未定義
PC, R14_und, R13_und, R12~R0, CPSR, SPSR_und
0x1F(0b11111)
系統
PC, R14~R0, CPSR(ARM v4以上的版本)

2011年11月3日 星期四

ARM條件分支指令尾碼

ARM條件分支指令尾碼
輔助記號尾碼
Flag(旗標)
意義
EQ
Z設置(Z=1)
相等(=)
NE
Z歸零(Z=0)
不相等(!=)
CS/HS
C設置(C=1)
大於或等於(>=)
CC/LO
C歸零(C=0)
小於(<)
MI
N設置(N=1)
(-)
PL
N歸零(N=0)
正或零
VS
V設置(V=1)
溢位
VC
V歸零(V=0)
未溢位
HI
C設置且Z歸零(C=1 && Z=0)
大於(>)
LS
C歸零或Z設置(C=0 || Z=1)
小於或等於(<=)
GE
NV相同(N=V)
有符號大於等於(>=)
LT
NV不同(N!=V)
有符號小於(<)
GT
Z歸零且NV相同(Z=0 && N=V)
有符號大於(>)
LE
Z設置或NV不同
(Z=1 || N!=V)
有符號小於等於(<=)

2011年11月2日 星期三

ARM exception vector(例外事件向量)

Normal Vectors Address High Vectors Address Exception Mode on Entry
0x00000000 0xFFFF0000

Reset Supervisior
0x00000004 0xFFFF0004

Undefined Instruction Undefined
0x00000008 0xFFFF0008

Software Interrupt Supervisor
0x0000000C 0xFFFF000C

About(Prefectch) About
0x00000010 0xFFFF0010

About(Data) About
0x00000014 0xFFFF0014

Reserved Reserved
0x00000018 0xFFFF0018

IRQ IRQ
0x0000001C 0xFFFF001C

FIQ FIQ