本帖最后由 secondid 于 2017-1-22 11:37 编辑
上电后RK3288把2k的代码复制到内部sram中运行,请问sram的地址映射在0吗,uboot中start.s的代码如下,
.globl reset
reset:
/*
* check loader tag
*/
#ifdef CONFIG_ROCKCHIP
ldr r0, =__loader_tag
ldr r1, [r0] /*疑问:这里访问链接地址,链接地址是从0开始,而sarm地址是在FF70_0000附近,启动后代码应当在sram中,访问链接地应该出错啊,如果是在ddr中运行或者sarm地址映射到0附近才可以解释*/
ldr r0, =LoaderTagCheck /*在__image_copy_start到end之间*/
ldr r0, [r0]
cmp r1, r0
movne pc, r14/*两个链接地址存的都是0x4B415351*/
#endif
在lowlevel_init.s中把临时栈地址设在了128M的位置,ldr sp, =CONFIG_SYS_INIT_SP_ADDR/设置sp指向128M/ 也是ddr的地址,难道这时候DDR已经初始化完了?或者是BOOTROM已经把DDR初始化了?