打印
[i.MX]

UBOOT运行问题???

[复制链接]
872|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 | 只看该作者

使用特权

评论回复
评论
caijun_2012 2016-1-6 22:13 回复TA
小节写的非常好!!! 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

42

主题

226

帖子

2

粉丝