接上一篇博客,配置项我们已经配置完成,编译还是会报故障,有几个函数需要自己实现。
u32 spl_boot_device(void)
该函数建议在 /arch/arm/cpu/arm920t/s3c2440 目录下新建一个 spl.c 的文件。添加如下代码。
#include <common.h>
#include <config.h>
#include <spl.h>
#include <nand.h>
u32 spl_boot_device(void)
{
return BOOT_DEVICE_NAND;
}
可以根据实际做相应修改,如从 MMC 启动可以 return BOOT_DEVICE_MMC1;
void nand_init(void)
void nand_deselect(void)
void nand_spl_load_image(uint32 offs, unsigned int size, void *dst)
这三个函数建议在 /drivers/mtd/nand/ 目录下,新建 s3c2440_nand_spl.c 文件中实现。
通过上面的工作,U-BOOT 的 SPL 应该可以正常编译了。