yinjiangrong 发表于 2011-07-13 15:58

三星6410的bootloader

/* when we already run in ram, we don't need to relocate U-Boot.
       * and actually, memory controller must be configured before U-Boot
       * is running in ram.
       */
        ldr        r0, =0xff000fff
        bic        r1, pc, r0                /* r0 <- current base addr of code */
        ldr        r2, _TEXT_BASE                /* r1 <- original base addr in ram */
        bic        r2, r2, r0                /* r0 <- current base addr of code */
        cmp   r1, r2                  /* compare r0, r1                  */
        beq   after_copy                /* r0 == r1 then skip flash copy   */
在这个中,怎么得到pc值需要做这一步ldr        r0, =0xff000fff。

yinjiangrong 发表于 2011-07-16 09:51

怎么没有高人呢

oolyl 发表于 2013-01-21 20:14

我也想知道,怎么看都没头序

ptostrike 发表于 2013-02-19 14:00

屏蔽掉低12位可以理解,因为当前PC和基地址肯定是不等的,比较中间的12位就能说明是否运行在RAM里面了
至于屏蔽掉最高的八位,是否是考虑到MMU的地址映射影响?
页: [1]
查看完整版本: 三星6410的bootloader