天嵌 ARM开发社区

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

u-boot-2013.01移植 拷贝到内存失败

[复制链接]
linuxer 发表于 2013-10-14 19:51:36 | 显示全部楼层 |阅读模式
本帖最后由 linuxer 于 2013-10-14 19:52 编辑

void copy_uboot_to_ram(void)
{

        unsigned long ch;
        unsigned char ret;
        copy_sd_to_ram copy_bl2=(copy_sd_to_ram)(*(u32 *)(0xD0037F98));
        ch=*(volatile u32 *)(0xD0037488);
        if(ch==0xEB200000){
                ret=copy_bl2(2, BL2_START_OFFSET, BL2_SIZE_BLOC_COUNT, CONFIG_SYS_TEXT_BASE,0);
        }
        else if(ch==0xEB000000){
                ret=copy_bl2(0, BL2_START_OFFSET, BL2_SIZE_BLOC_COUNT, CONFIG_SYS_TEXT_BASE,0);
        }
        else return;

        if(ret==0)while(1);
        else return;
}
void board_init_f(unsigned long bootflag)
{
        __attribute__((noreturn)) void (*uboot)(void);
        copy_uboot_to_ram();
        /* Jump to U-Boot image */
              uboot = (void *)CONFIG_SYS_TEXT_BASE;
        (*uboot)();
        /* Never returns Here */
}

内存初始化测试过,是没有问题的
这是u-boot源码中的,在S5PV210中能够执行到board_init_f这个函数处,但是执行copy_uboot_to_ram时无法返回,也就此函数执行没有成功,试了很多中方式就过不去这个函数,想请教下这个现象估计是有什么原因导致的?

亚瑟王 发表于 2013-10-15 09:40:55 | 显示全部楼层
在拷贝到内存之前,需要初始化内存的。如果内存没有初始化,是没法正确读写的。
 楼主| linuxer 发表于 2013-10-15 13:54:53 | 显示全部楼层
[b]内存初始化过了,并且将初始化的代码拷贝到天嵌自带的u-boot内存初始化代码处替换后,编译测试是通过的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-5-14 12:53 , Processed in 1.046882 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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