ARM体系架构学习 -uboot分析之start.S

  通过分析start.S代码,学习ARM体系结构是一种很好的方法。

    start.S是u-boot的关键部分,CPU上电后最先开始执行的代码,和ARM体系结构息息相关。

    通过查阅代码中遇到的各种指令,来进一步了解ARM体系结构中各个知识点。

/*
 * the actual start code
 */
start_code:
    /*
     * set the cpu to SVC32 mode
     */
    mrs    r0,cpsr
    bic    r0,r0,#0x1f
    orr    r0,r0,#0xd3
    msr    cpsr,r0

    红色字体是要查阅的

    MRS:MRS是要将CPSR寄存器中的内容保存到通用寄存器中,在这里是r0,就是说CPSR(当前程序状态寄存器)必须使用MRS这条指令才能读取
    CPSR:当前程序状态寄存器,保存了CPU当前的各种状态,另外还有一个SPSR(保存的程序状态寄存器),是在异常处理前对CPSR的保存。

    CPSR的用途-改变CPSR的值通常出于几个目的: 

  1. 改变condition code标志
  2. 使能/禁止中断
  3. 改变处理器模式
  4. 改变load或store操作的字节序
  5. 改变处理器状态(J and T)  

待续。。。。。。

本文出自 “千里之行,始于足下” 博客,转载请与作者联系!

你可能感兴趣的:(学习,职场,ARM,休闲,uboot分析)