Firefly开源社区

标题: 关于启动地址的疑问 [打印本页]

作者: secondid    时间: 2017-1-22 10:44
标题: 关于启动地址的疑问
本帖最后由 secondid 于 2017-1-22 11:37 编辑

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

作者: secondid    时间: 2017-1-22 18:32
自己回复下,发现uboot未初始化串口时,串口收到如下内容,bootrom已经完成DDR的初始化。
DDR Version 1.00 20160530
In
Channel a: DDR3 200MHz
Bus Width=32 Col=10 Bank=8 Row=15 CS=1 Die Bus-Width=16 Size=1024MB
Channel b: DDR3 200MHz
Bus Width=32 Col=10 Bank=8 Row=15 CS=1 Die Bus-Width=16 Size=1024MB
Memory OK
Memory OK
OUT




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1