天嵌 ARM开发社区

 找回密码
 注册
查看: 1528|回复: 2

关于linux判断当前是否在ram中的疑问

[复制链接]
bigseafish 发表于 2015-3-22 23:00:48 | 显示全部楼层 |阅读模式
大家好,问大家个问题。我先使用的是TQ210,目前在看UBOOT。有个疑问:

        /* 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.
         *///用来区分是否已经运行在RAM中
        ldr        r0, =0xff000fff
        bic        r1, pc, r0                /* r0 <- current base addr of code */
        ldr        r2, _TEXT_BASE                /* r1 <- original base addr in ram *///0xC3E00000
        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   *///code is copyed

但是这个TEXT_BASE设置成0xC3E00000,而拷贝到ram中的地址是0x23E00000,那这个r2不就变成0x00e00000,而r1就是0x00e00000,这样两个数值不管有没有拷贝过代码,地址不都是一样的吗?还是我看错了?
 楼主| bigseafish 发表于 2015-3-23 22:54:08 | 显示全部楼层
..还有没有人啊。。很疑惑。。。
 楼主| bigseafish 发表于 2015-3-25 22:33:19 | 显示全部楼层
版主还在吗。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-2 15:04 , Processed in 1.046875 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表