您的位置:首页 > 其它

移植u-boot 1.1.6到TQ2440开发板-第一阶段

2016-02-02 10:17 357 查看
移植u-boot 1.1.6到TQ2440开发板-第一阶段

2015-09-30 14:50:25 来源:eefocus

(本文转自电子工程世界:http://www.eeworld.com.cn/mcu/2015/0930/article_22676.html)

关键字: 移植 u-boot 1 6 TQ2440

最近买了一个TQ2440开发板,奈何天嵌只给出了编译好的文件,没有给源码,小弟从头开始移植Uboot

移植u-boot 1.1.6到TQ2440开发板-第一阶段

主要修改、配置源代码、编译源代码

TQ2440开发板信息:

CPU:S3C2440

ARM核:arm920t

SDRAM:64M

Nor Flash:2M

Nand Flash:64M

网卡:DM9000

第一步:下载 uboot 1 . 1 . 6源码

之前都是从CSDN上下载,发现下载的都不是真正的官方发布的源码,给大家提供一个官网ftp://ftp.denx.de/pub/u-boot 格式为u-boot-1.1.6.tar.bz2

第二步:解压uboot源码到虚拟机上的linux系统中,一定要在linux上解压,因为对于linux是区分文件名大小写的,而windows是不区分大小写,在windows中解压会少很多文件,导致不能编译。

解压命令 tar xvjf u-boot-1.1.6.tar.bz2,解压后产生一个u-boot-1.1.6的文件夹

第三步:删除多余的文件夹,由于下载的U-boot源码支持众多的开发板,针对TQ2440,我们只需要编译TQ2440相关的文件即可,这里我们的移植是参考smdk2410来移植的,因此删除一些多余的文件。

1、u-boot-1.1.6oard目录下只保留smdk2410文件夹,该文件夹存放和开发板相关的代码,因此其他的开发板的文件,可以删掉

2、u-boot-1.1.6cpu存放和开发板CPU相关的代码,该文件夹只保留arm920t文件,因为S3C2440是arm920t的arm核

3、u-boot-1.1.6include存放开发板体系相关的头文件,asm-XXX的文件目录中,只留下asm-arm,因为S3C2440是arm体系的

4、u-boot-1.1.6includeconfigs文件只保留smdk2410.h,其他的文件全部删掉,该文件中是开发板的头文件

5、u-boot-1.1.6目录下有lib-XXX的文件夹,保留lib-arm和lib-generic这两个文件夹,其他的lib-XXX文件 夹删除

6、u-boot-1.1.6目录下有以 .mk结尾的文件,保留arm_config.mk、config.mk、rules.mk,其余的.mk文件删除

第四步:添加支持TQ2440的uboot,删除后这些文件编译后智能支持2410的开发板,因此我们要想支持S3C2440,必须增加TQ2440编译选项

1、将u-boot-1.1.6/board/目录下的smdk2410,复制为TQ2440。

cp - rf board/smdk2410/ board/TQ2440

2、修改u-boot-1.1.6/board/TQ2440/下的smdk2410.c为TQ2440.c

mv board/TQ2440/smdk2410.c board/TQ2440/TQ2440.c

3、修改u-boot-1.1.6/board/TQ2440下的Makefile文件,修改 Makefile 文件中 28 行的 COBJS,

COBJS := TQ2440.o flash.o因为上面已经改成TQ2440.c文件了

4、修改开发板配置文件,进入 u-boot-1.1.6/include/configs 目录下, 将 smdk2410.h 复制为TQ2440.h

cp include/configs/smdk2410.h include/configs/TQ2440.h

5、修改u-boot-1.1.6/顶层Makefile,Makefile 文件 1881 行,增加:

TQ2440_config : unconfig

@$(MKCONFIG) $(@:_config=) arm arm920t TQ2440 NULL s3c24x0

各项的意思如下:

arm: CPU 的架构(ARCH)

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

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

NULL: 开发者/或经销商(vender)。(此处没加vender,为NULL。)

s3c24x0: 片上系统(SOC) 。

6、配置交叉编译器:修改顶层(u-boot-1.1.6 目录)Makefile 文件 128 行,修改:

ifeq ($(ARCH),arm)

CROSS_COMPILE=usr/local/arm/4.3.2/bin/arm-linux

endif

第五步:编译uboot

1、首先make distclean,清除

2、make TQ2440_config,配置

3、make编译

(本文转自电子工程世界:http://www.eeworld.com.cn/mcu/2015/0930/article_22676.html)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: