分类:
2010-03-22 12:14:34
(1)在顶层Makefile中为开发板添加新的配置选项,使用已有的配置项目为例。
smdk2410_config : unconfig
@./mkconfig $(@:_config=) arm arm920t smdk2410 NULL s3c24x0
参考上面2行,添加下面2行。
fs2410_config : unconfig
@./mkconfig $(@:_config=) arm arm920t fs2410 NULL s3c24x0
(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擦写等功能。
对于FS2410开发板的以太网驱动和smdk2410完全相同,所以可以直接使用。CS8900驱动程序文件如下。
drivers/cs8900.C drivers/cs8900.h
对于Flash的选择就麻烦多了,Flash芯片价格或者采购方面的因素都有影响。多数开发板大小、型号不都相同。所以还需要移植Flash的驱动。每种开发板目录下一般都有flash.c这个文件,需要根据具体的Flash类型修改。例如:
board/fs2410/flash.c
(7)调试U-Boot源代码,直到U-Boot在开发板上能够正常启动。