ARM体系架构学习 -uboot分析之start.S
start.S是u-boot的关键部分,CPU上电后最先开始执行的代码,和ARM体系结构息息相关。
本文引用地址:https://www.eepw.com.cn/article/201611/317815.htm通过查阅代码中遇到的各种指令,来进一步了解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的值通常出于几个目的:
- 改变condition code标志
- 使能/禁止中断
- 改变处理器模式
- 改变load或store操作的字节序
- 改变处理器状态(J and T)
待续。。。。。。
评论