u-boot-2010.03编译过程(初版)

一、编译环境

1.Ubuntu12.04

2.交叉编译器EABI-4.3.3_EmbedSky_20091210,下载地址 http://dl.dbank.com/c0cpqu06ak

3.uboot版本:u-boot-2010.03,下载地址ftp://ftp.denx.de/pub/u-boot/

4.开发板:天嵌6410

二、交叉编译器的安装

1.将EABI-4.3.3_EmbedSky_20091210.tar解压。

交叉编译器目录有4.3.3和crosstools_3.4.5_softfloat两个版本

EABI-4.3.3_EmbedSky_20091210.rar.out_FILES/opt/EmbedSky/4.3.3

EABI-4.3.3_EmbedSky_20091210.rar.out_FILES/opt/EmbedSky/crosstools_3.4.5_softfloat

文件系统镜像工具目录如下:

EABI-4.3.3_EmbedSky_20091210.rar.out_FILES/usr/local/sbin/mkcramfs

/mkimage

/mkyaffs2image

/mkyaffs2image_2.6.13

/mkyaffsimage

/mkyaffsimage_2

/readme.txt

将EABI-4.3.3_EmbedSky_20091210.rar.out_FILES/opt下的EmbedSky文件拷贝到Ubuntu12.04的/opt目录下,同时将EABI-4.3.3_EmbedSky_20091210.rar.out_FILES/usr/local/sbin/下的子文件全部拷贝到Ubuntu12.04的/usr/local/sbin目录下。

2、为交叉编译器设置环境变量

(1)设置当前用户环境变量(对root用户无效)

vi   ~/.bashrc或gedit  ~/.bashrc

加入一行 PATH=/opt/EmbedSky/4.3.3.bin:$PATH

保存后,运行source ~/.bashrc生效。

(2)设置环境变量(对所有用户有效)

vi   /etc/enviroment或gedit  /etc/enviroment

修改

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/EmbedSky/4.3.3/bin"

保存后,运行source /etc/enviroment生效。

三、编译uboot步骤:

1、解压uboot源码  tar -jxvf u-boot-2010.03.tar.bz2 -C /opt/EmbedSky/

      cd  /opt/EmbedSky/u-boot-2010.03/board/samsung/

2、创建smdk6410文件夹

      mkdir  smdk6410

      cp smdk6400/*     smdk6410/     //将6400下所有文件复制到6410下

      cd /opt/EmbedSky/u-boot-2010.03/board/samsung/ smdk6410     //进入smdk6410目录

      mv smdk6400.c   smdk6410.c   //将smdk6400.c 改名为smdk6410.c

     将/opt/EmbedSky/u-boot-2010.03/board/samsung/ smdk6410/Makefile文件中COBJS-y:= smdk6400.o改为COBJS-y:= smdk6410.o

      cp include/configs/smdk6400.h     include/configs/smdk6410/.h    

      cd  ../../../        //回到u-boot-2010.03目录

3、修改u-boot-2010.03目录下的Makefile文件

     输入命令gedit  Makefile打开文件

    在文件中添加:

     ifeq ($(ARCH),arm)
CROSS_COMPILE = arm-linux-
endif

smdk6410_noUSB_config \
smdk6410_config      :      unconfig
@mkdir -p $(obj)include $(obj)board/samsung/smdk6410
@mkdir -p $(obj)nand_spl/board/samsung/smdk6410
@echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h
@if [ -z "$(findstring smdk6410_noUSB_config,$@)" ]; then                   \
echo "RAM_TEXT = 0x57e00000" >> $(obj)board/samsung/smdk6410/config.tmp;\
$(MKCONFIG) $(@:_config=) arm arm1176 smdk6410 samsung s3c64xx;            \
else                                                                \
echo "RAM_TEXT = 0xc7e00000" >> $(obj)board/samsung/smdk6410/config.tmp;\
$(MKCONFIG) $(@:_noUSB_config=) arm arm1176 smdk6410 samsung s3c64xx;       \
fi
@echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk


4.进入/u-boot-2010.03/nand_spl/samsung

     cd /opt/EmbedSky/u-boot-2010.03/ nand_spl/samsung

     cp  smdk6400   smdk6410 -r

5.修改/opt/EmbedSky/u-boot-2010.03/cpu/arm1176/config.mk文件

PLATFORM_RELFLAGS += -fno-common -ffixed-r8  -msoft-float

修改为

PLATFORM_RELFLAGS += -fno-common -ffixed-r8 #-msoft-float

6.make smdk6410_config   //如果出现Configuring for smdk6410 board...则表示设置正确

   make

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
u-boot-2016.11.tar.bz2是一个开源软件项目的压缩文件。该压缩文件是u-boot引导加载程序的源代码和相关文件的打包形式。u-boot(Universal Bootloader)是一款用于嵌入式系统的开源引导加载程序,用于初始化硬件并启动操作系统。 u-boot-2016.11.tar.bz2文件的扩展名.tar.bz2表示它是使用tar和bzip2两种工具进行压缩的。.tar是一个常用的文件打包工具,它可以将多个文件和目录打包成一个文件。.bz2是一个压缩工具,可以将文件进行高效压缩。 要使用u-boot-2016.11.tar.bz2文件,首先需要将其解压缩。可以使用tar命令进行解压缩,命令为tar -xjf u-boot-2016.11.tar.bz2。这将解压缩文件,并将源代码和其他相关文件提取到当前目录下。 解压缩后,可以在提取出的文件中找到u-boot引导加载程序的源代码和相关文件。可以根据需要进行定制和编译,生成适合特定硬件平台的引导加载程序。u-boot支持多种处理器架构和开发板,可以根据需要进行配置。 根据u-boot-2016.11.tar.bz2文件的版本号来看,它是2016年11月发布的版本。这意味着该版本已经存在一段时间,并可能具有稳定性和经过验证的特性。对于需要使用u-boot的开发者和嵌入式系统制造商,这个版本可以作为一个可靠的基础进行开发和定制。 总之,u-boot-2016.11.tar.bz2是u-boot引导加载程序的源代码和相关文件的压缩包。解压缩后,可以通过定制和编译源代码,生成适合特定硬件平台的引导加载程序。这个版本已经存在一段时间,并可能具有可靠的特性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值