s3c2440启动代码学习笔记
2024-07-23 来源:cnblogs
启动代码:
设置中断向量,顺序为
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]
相关文章