移植U-Boot的基本步骤如下:
1、在顶层Makefile中为开发板添加新的配置选项,使用已有的配置项目为例。
2、创建一个新目录存放开发板的相关代码,并且添加文件
board/fs2410/config.mk
board/fs2410/flash.c
board/fs2410/fs2410.c
board/fs2410/Makefile
board/fs2410/memsetup.S
board/fs2410/u-boot.lds
3、为开发板添加新的配置文件
可以先复制参考开发板的配置文件,再修改,例如:
$cp include/configs/smdk2410.h include/configs/fs2410.h
如果是为一颗新的CPU移植,还要创建一个新的一个新的目录存放CPU相关的代码。
4、配置开发板
$make fs2410_config
5、编译U-Boot
执行make命令,编译成功可以得到U-boot映像。有些错误是跟配置选项有关系的,通常打开某些功能选项会带来一些错误,一开始可以尽量跟参考版配置相同。
6、添加驱动或功能选项
在能够编译通过的基础上,还要实现U-Boot的以太网接口、Flash擦写等共恩呢个。
对于Flash的选择就麻烦多了,Flash芯片价格或采购方面的因素都有影响。多数开发板大小、型号不都相同。所以还要移植Flash的驱动。
每种开发板目录下一般都有flash.c这个文件,需要根据具体的Flash类型修改,例如:
board/fsf2410/flash.c
7、调试U-Boot源代码,直到U-Boot在开发板上能够正常启动。