为什么adrl r2,mem_cfg_val这里不用ldr r2,=mem_cfg_val,
2012-08-25 16:12
190 查看
请教书中sdram裸机代码
memsetup:mov r1, #MEM_CTL_BASE
adrl r2,mem_cfg_val
add r3, r1,#52
1:
ldr r4, [r2],#4
str r4, [r1],#4
cmp r1,r3
bne 1b
mov pc,lr
mem_cfg_val:
.long 0x22011110
.long 0x00000700
.long 0x00000700
······
书中的SDRAM裸机例子,为什么adrl r2,mem_cfg_val这里不用ldr r2,=mem_cfg_val,虽然说adrl是相对寻址,ldr是绝对寻址,但是我感觉效果一样,请教大家,谢谢
回复:请教书中sdram裸机代码
如果是用ldr r2,=mem_cfg_val,那么r2的值应该是0x3xxxxxxx,它位于SDRAM中;但是刚启动系统时,SDRAM尚未被初始化,里面的数据是随机的;
你贴的这段代码,是用来初始化SDRAM的
相关文章推荐
- 为什么adrl r2,mem_cfg_val这里不用ldr r2,=mem_cfg_val,
- 为什么adrl r2,mem_cfg_val这里不用ldr r2,=mem_cfg_val
- 为什么adrl r2,mem_cfg_val这里不用ldr r2,=mem_cfg_val
- 为什么adrl r2,mem_cfg_val这里不用ldr r2,=mem_cfg_val
- 为什么adrl r2,mem_cfg_val这里不用ldr r2,=mem_cfg_val
- 【补充】为什么初始化SDRAM中 adrl r2, mem_cfg_val而不是 ldr r2,=mem_cfg_val
- //这里为什么定义个display()全局函数,作为舞台,让对象唱戏,不能直接把他们放在主函数里面吗,这样写好处在哪,两者区别在哪?????
- 为什么这里的if判断总视为正确的?
- 为什么现在的接口设计都不用普通的POST传输数据了?
- 为什么不用==来代替Js正则中的test()
- 浅谈用力不用脑:你为什么蹉跎这么多年
- “天上人间”为什么不用猎头?
- 响应式布局中为什么要使用em设置字体大小而不用px
- 为什么不用enum
- 为什么用*? 为什么不用*?
- SDI为什么不用8B/10B编码
- 我为什么不用Google提供的软件
- 不用光盘直接将Windows Server 2008 R2从低版本升级到高版本
- 为什么安装jdk时,会安装两个jre?不用配置jre的环境变量
- [ARM]ldr和 adr/adrl 伪指令的区别