文件:u-boot-1.1.6\cpu\arm920t\start.S
- reset部分代码详解
mrs指令语法
MRS{cond} Rd, psr
Rd 是目标寄存器。 Rd 不能为 r15。
psr 是下列项之一:
APSR 任何处理器,任何模式。
CPSR 不提倡使用的 APSR 同义词,用于调试状态,用于除
ARMv7-M 和 ARMv6-M 之外的任何处理器。
SPSR 用于除 ARMv7-M 和 ARMv6-M 之外的任何处理器,仅
可用于特权模式。
Mpsr 仅用于 ARMv7-M 和 ARMv6-M 处理器。
关于arm寄存器的介绍
-----------
寄存器名字
Reg# APCS 意义
R0 a1 工作寄存器
R1 a2 "
R2 a3 "
R3 a4 "
R4 v1 必须保护
R5 v2 "
R6 v3 "
R7 v4 "
R8 v5 "
R9 v6 "
R10 sl 栈限制
R11 fp 桢指针
R12 ip 内部过程调用寄存器
R13 sp 栈指针
R14 lr 连接寄存器
R15 pc 程序计数器
The following register names are predeclared:
r0-r15 andR0-R15
a1-a4 (argument, result, or scratch registers, synonyms for r0 to r3)
v1-v8 (variable registers, r4 to r11)
sb andSB (static base, r9)
ip andIP (intra-procedure-call scratch register, r12)
sp andSP (stack pointer, r13)
lr andLR (link register, r14)
pc andPC (program counter, r15).
## CPSR寄存器介绍 ##
_start: b reset
reset:
/*
* set the cpu to SVC32 mode
*/
mrs r0,cpsr
bic r0,r0,#0x1f
orr r0,r0,#0xd3
msr cpsr,r0