- 论坛徽章:
- 0
|
最近看在看uboot,可始终搞不清这个地址的问题,例如下面这段初始化内存的代码,希望前辈们指导一下
lowlevel_init:
/* memory control configuration */
/* make r0 relative the current location so that it */
/* reads SMRDATA out of FLASH rather than memory ! */
ldr r0, =SMRDATA
ldr r1, _TEXT_BASE
sub r0, r0, r1
ldr r1, =BWSCON /* Bus Width Status Controller */
add r2, r0, #13*4
0:
ldr r3, [r0], #4
str r3, [r1], #4
cmp r2, r0
bne 0b
第一句ldr r0, =SMRDATA,是伪指令给r0传送地址,也就是要传送的寄存器值的地址,第二句ldr r1, _TEXT_BASE传送的是text_base的内容应该是0x33F80000,我的疑惑是为什么要进行sub r0, r0, r1,其实我觉得我不明白的还是这个text_base到底是个什么东东 |
|