移植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)
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)