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

移植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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值