Chinaunix首页 | 论坛 | 博客
  • 博客访问: 680019
  • 博文数量: 183
  • 博客积分: 9166
  • 博客等级: 中将
  • 技术积分: 1920
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-31 16:17
文章分类

全部博文(183)

文章存档

2010年(159)

2009年(24)

分类:

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在开发板上能够正常启动。

阅读(1435) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~