iTop4412 uboot-2019.2移植之拷贝u-boot.bin(八)

一、计算参数

镜像布局.png

需要修改配置文件include/configs/itop4412.h,拷贝u-boot.bin至内存需要这些参数。

二、拷贝镜像

根据实践,无法直接将镜像拷贝至DDR3中,因此需要将镜像先拷贝至IROM,然后再拷贝到DDR3中,具体代码为:

    if (copy_bl2){
#if CONFIG_EXYNOS4412
        unsigned char *buff = (unsigned char *)CONFIG_SYS_INIT_SP_ADDR;
        unsigned char *dest = (unsigned char *)CONFIG_SYS_TEXT_BASE;
        unsigned int   step = (0x10000/512);
        
        for(unsigned count = 0; count < size; count+=step)
        {
            copy_bl2((u32)(offset + count), (u32)step, (u32)buff);

            for(int i = 0; i < 0x10000; i++)
            {
                *dest++ = buff[i];
            }   
        }
#else
        copy_bl2(offset, size, CONFIG_SYS_TEXT_BASE);
#endif
        
    }

浏览spl_boot.c文件中的函数copy_uboot_to_ram,翻至函数最后,就知道这段代码的含义。

你可能感兴趣的:(iTop4412 uboot-2019.2移植之拷贝u-boot.bin(八))