1 为什么需要对U-Boot做移植
BootLoader依赖于具体的嵌入式板级设备的配置。每种不同的CPU体系结构都有不同的BootLoader。除了依赖于CPU的体系结构外,BootLoader 还依赖于具体的嵌入式板级设备的配置,比如板卡的硬件地址分配,外设芯片的类型等。这也就是说,对于两块不同的开发板而言,即使它们是基于同一种CPU而构建的,但如果他们的硬件资源或配置不一致的话,要想在一块开发板上运行的BootLoader程序也能在另一块板子上运行,还是需要作修改。
2 移植关键技术
2.1 U-Boot 移植参考板
这是进行U-Boot 移植首先要明确的。可以根据目标板上CPU、FLASH、SDRAM 的情况,以尽可能相一致为原则,先找出一个与所移植目标板为同一个或同一系列处理器的U-Boot支持板为移植参考板。对U-Boot 移植新手,建议依照循序渐进的原则,目标板文件名暂时先用移植参考板的名称,在逐步熟悉U-Boot 移植基础上,再考虑给目标板重新命名。在实际移植过程中,可用Linux 命令查找移植参考板的特定代码,如 grep –r 2410 ./ 可确定出在U-Boot 中与smdk2410 板有关的代码,依此对照目标板实际进行屏蔽或修改。同时应不局限于移植参考板中的代码,要广泛借鉴U-Boot 中已有的代码更好地实现一些具体的