|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
我最进在学习ARM的启动代码,感觉有一些地方不太明白,望各位指教,谢谢了:
问题:底下的代码实现的功能是初始化RW,ZI段,但为什么没有把代码段也一起复制到SDRAM中,我查了很多资料都是这样的,如果不是在这里把代码段复制到SDRAM中,那又是在哪里实现呢???
LDR r0,=|Image$$RO$$Limit| ;得到RW数据源的起始地址
LDR r1,=|Image$$RW$$Base| ;RW区在RAM里的执行区起始地址
LDR r3,=|Image$$ZI$$Base| ;ZI区在RAM里面的起始地址
CMP r0,r1 ; 比较它们是否相等
BEQ %F1 ;相等,则不拷贝该区间,直接初始化零数据区0
0 CMP r1,r3
LDRCC r2,[r0],#4
STRCC r2,[r1],#4
BCC %B0
1 LDR r1,=|Image$$ZI$$Limit|
MOV r2,#0
2 CMP r3,r1
STRCC r2,[r3],#4
BCC %B2 |
|