U-boot移植之三:开发板平台配置(u-boot-2009.03)

来源:互联网 发布:趣学python编程 中文 编辑:程序博客网 时间:2024/06/04 19:31

经过之前的主Makefile分析可以知道,Makefile中绝大部分内容是针对特定平台的配置语句,也就是那些 XXX_config目标。

我们首先要建立起一个适合于自己平台,在这里为mini2440,的外壳,然后能够编译通过生成可执行文件。那么这个适合于我们mini2440的UBOOT的外壳就已经生成了,只是,它的内容还不能支持2440,后面会讲到设计内容的修改。

 

这篇文章主要讲如何做这个外壳,也就是,针对mini2440做一个配置。

 

 

 

步骤如下:

 

 

1 打开u-boot-2009.03主目录下的makefile,找到smdk2410_config,在其下,仿照它的格式加入如下语句:

 

mini2440_config : unconfig

 @$(MKCONFIG) $(@:_config=) arm arm920t smdk2440 samsung s3c24x0

 

各项的意思如下:

arm: CPU的架构(ARCH)

arm920t: CPU的类型(CPU),其对应于cpu/arm920t子目录。

smdk2440: 开发板的型号(BOARD),对应于board/smdk2440目录。

samsung 开发者/或经销商(vender)。

s3c24x0: 片上系统(SOC)。

此步是为了加入自已的开发板,也可以在现有的开发板基础上修改。

 

2

修改__LIBS := $(subst $(obj),,$(LIBS)) $(subst $(obj),,$(LIBBOARD))

改为

__LIBS := $(subst $(obj),,$(LIBBOARD)) $(subst $(obj),,$(LIBS))

 

修改CROSS_COMPILE,添加这行:CROSS_COMPILE = arm-linux-  ,如下:

 

...

CROSS_COMPILE = arm-linux-   

ifndef CROSS_COMPILE

ifeq ($(HOSTARCH),$(ARCH))

...

 

3 在/board子目录中建立自己的开发板mini2440目录,结构为/board/mini2440。

如果开发者/经销商(vender)不为NULL,则目录结构为/board/verder_name(samsung)/smdk2440,否则编译会出错。

然后,将smdk2410目录下的文件考入此目录中,并将其中的smdk2410.c改名为mini2440.c。同时还得

修改board/mini2440/Makefile文件。

 

...

COBJS    := mini2440.o flash.o

...

 

4 在include/configs/中建立配置头文件

将smdk2410.h 复制一份在相同目录下。并改名为mini2440.h

 

5 回到u-boot主目录,make mini2440_config,再make,编译生成u-boot.bin成功。

原创粉丝点击