×
单片机 > 单片机程序设计 > 详情

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

发布时间:2020-06-04 发布时间:
|
通过分析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)

待续。。。。。。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
Keil(MDK-ARM)系列教程(七)_菜单