u-boo学习记录之最后的链接命令分析,以及链接地址存放在何处

文件:u-boot-1.1.6\cpu\arm920t\start.S

  1. 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
发布了17 篇原创文章 · 获赞 3 · 访问量 3559

猜你喜欢

转载自blog.csdn.net/sgy1993/article/details/76056674