s3c2440启动代码学习笔记

启动代码:

设置中断向量,顺序为

RESET

UDEF

SWI

PREFETCHUDEF

DATAABT

NOP      //保留地址

IRQ

FIQ

共七个中断向量

 

机器上电后从0x00000000地址执行指令,到RESET处初始化系统

1.关闭Watchdog,否则cpu会不断重启

 

2. 如果需要使用C函数需要设置sp

  注意每个工作模式都有自己的sp,需要设置,另外上电时内存空间只有SteppingStone的4k内部ram,sp不能超过4k

  ATPCS规定栈为FD,sp指针必须指向栈顶元素,启动代码在跳转到绝对地址运行之前必须使用相对跳转指令

 

3.初始化SDRAM

4.设置cpu运行速度

5.复制运行代码到SDRAM

6.用绝对跳转指令跳转到SDRAM处运行

 

 

msr指令:将一个值赋到CPSR中,或者将一个值赋到一个寄存器中,对cpsr的读写只能用msr指令

cpsr_(位域)

位域:

c 控制域屏蔽字节(psr[7…0])
x 扩展域屏蔽字节(psr[15…8])
s 状态域屏蔽字节(psr[23.…16])

f 条件状态标志域[31:24]

 

posted on 2013-08-20 18:46  lwp513  阅读(2109)  评论(0编辑  收藏  举报

导航