一、计算参数
需要修改配置文件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,翻至函数最后,就知道这段代码的含义。