02.07.2013 Views

Uboot中start.S源码的指令级的详尽解析

Uboot中start.S源码的指令级的详尽解析

Uboot中start.S源码的指令级的详尽解析

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

不过此处,是只有当定义了宏CONFIG_USE_IRQ的时候,才用到这两个变量,其含义也很明显,<br />

只有用到了中断IRQ,才会用到中断的堆栈,才有中端堆栈的起始地址。快速中断FIQ,同理。<br />

/*<br />

* the actual reset code<br />

*/<br />

reset:<br />

/*<br />

* set the cpu to SVC32 mode<br />

*/<br />

CPSR:<br />

mrs r0,cpsr<br />

CPSR 是当前的程序状态寄存器(Current Program Status Register),<br />

而 SPSR 是保存的程序状态寄存器(Saved Program Status Register)。<br />

具体细节为:<br />

ARM7体系结构<br />

http://www.docin.com/p-73665362.html<br />

或<br />

http://www.csie.nctu.edu.tw/~wjtsai/EmbeddedSystemDesign/Ch2-bootloader.pdf<br />

或:<br />

图表 5 CPSR/SPSR 的位域结构<br />

31 30 29 28 --- 7 6 - 4 3 2 1 0

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!