目录
一·设置处理器模式
二.设置SP指针
三.链接脚本
一·设置处理器模式
设置处理器处于SVC模式下。
设置CPSR寄存器的bit4-0,也就是M[4:0]为10011=0x13。读写状态寄存器具体操作为
MRS //将CPSR寄存器读出到通用寄存器 MSR //将通用寄存器里的值写入到CPSR寄存器
(如不了解何为svc模式的同学可以阅读arm体系架构)
二.设置SP指针
sp可以指向内部RAM,也可以指向DDR,我们将其指向DDR。
以6ull为例,512MB的DDR地址为0x80000000-0x9fffffff...栈大小为0x20000=2MB
一般arm架构代码为向下增长。
所以设置sp指向0x800000000+栈大小0x20000=0x80020000
.global _start _start: mrs r0, cpsr bic r0, r0, #0x1f orr r0, r0, #0x13 msr cpsr, r0 ldr sp, =0x80200000 b main
此处参照左忠凯老师代码
若使用ddr时芯片需要先初始化ddr时需要在启动文件里面先初始化ddr



