微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 移植u-boot 1.1.6到TQ2440开发板-第一阶段

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

时间:11-26 来源:互联网 点击:
最近买了一个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.cboard/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.hinclude/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编译

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top