[i.MX] UBOOT运行问题???

[复制链接]
1176|4
 楼主| caijun_2012 发表于 2016-1-4 21:50 | 显示全部楼层 |阅读模式
mx6q_sabresd  demo板uboot代码
start.s
#ifndef CONFIG_SKIP_RELOCATE_UBOOT
relocate:                                @ relocate U-Boot to RAM
        adr        r0, _start                @ r0 <- current position of code
        ldr        r1, _TEXT_BASE                @ test if we run from flash or RAM
        cmp        r0, r1                        @ don't reloc during debug
        beq        stack_setup

        ldr        r2, _armboot_start
        ldr        r3, _bss_start
        sub        r2, r3, r2                @ r2 <- size of armboot
        add        r2, r0, r2                @ r2 <- source end address

copy_loop:                                @ copy 32 bytes at a time
        ldmia        r0!, {r3 - r10}                @ copy from source address [r0]
        stmia        r1!, {r3 - r10}                @ copy to   target address [r1]
        cmp        r0, r2                        @ until source end addreee [r2]
        ble        copy_loop
#endif        /* CONFIG_SKIP_RELOCATE_UBOOT */

mx6q_sabresd.h
#define CONFIG_SKIP_RELOCATE_UBOOT

启动代码没有把uboot加载外部RAM,难道uboot在EMMC运行,不解???
mini1986 发表于 2016-1-5 10:41 | 显示全部楼层
是在片子内部的ram里面运行的吧......emmc只是存储数据......
kris_fei 发表于 2016-1-5 15:17 | 显示全部楼层
EMMC是肯定不能运行的了,它没有这个能力。
我的猜测是:
IVT中保存了boot_data也就是TEXT_BASE的地址,这样无论你的加载地址是多少,
内部ROM都能把code搬到RAM上去了。
kris_fei 发表于 2016-1-6 09:28 | 显示全部楼层

评论

小节写的非常好!!!  发表于 2016-1-6 22:13
您需要登录后才可以回帖 登录 | 注册

本版积分规则

42

主题

226

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部