U-boot 2011.03 smdk6410的移植

闲来无事,给自己的开发板移植一下新的U-boot 最新的为2011.03

 

步骤1

在移植中首先用

tar -jxvf u-boot-latest.tar.bz2

解压到自己的目录下

 

步骤2

然后进入u-boot-2011.03文件夹

 

cd u-boot-2011.03/board/samsung/

 

建立smdk6410文件夹

mkdir smdk6410     

 

复制6400文件夹下的所有代码到6410下

cp -rf smdk6400/* smdk6410

 

进入smdk6410

cd smdk6410

 

将smdk6400_and_spl.c和smdk6400.c改为

smdk6410_and_spl.c和smdk6410.c

 

打开smdk6410中的Makefile

将COBJS-y    := smdk6400.o

改为COBJS-y    := smdk6410.o

 

打开board/samsung/smdk6410/u-boot-nand.lds

在.bss __rel_dyn_start (OVERLAY) : {

前加上 _end = .;

这个是Uboot中的一个bug,会导致undefined reference to `_end'

还要修改后面步骤4中nand_spl/board/samsung/smdk6410文件夹的u-boot.lds

 

回U-boot根目录 进入include/configs/

复制smdk6400.h 并改名为smdk6410.h

 

步骤3

打开U-boot根目录下的Makefile

首先指定交叉编译工具

 

找到CROSS_COMPILE?=在等号后面添加arm-linux-

 

找到smdk6400_noUSB_config / 

将有关6400的所有行复制并将其中的6400替换为6410

 

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
    @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
    @if [ -z "$(findstring smdk6410_noUSB_config,$@)" ]; then            /
        echo "RAM_TEXT = 0x57e00000" >> $(obj)board/samsung/smdk6410/config.tmp;/
    else                                        /
        echo "RAM_TEXT = 0xc7e00000" >> $(obj)board/samsung/smdk6410/config.tmp;/
    fi
    @$(MKCONFIG) smdk6410 arm arm1176 smdk6410 samsung s3c64xx
    @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk

 

 

步骤4

从U-boot根目录,进入nand_spl/board/samsung/

cd nand_spl/board/samsung/

新建目录smdk6410并将smdk6400下的所有文件复制到smdj6410中

mkdir smdk6410

cp -ar smdk6400/* smdk6410/

 

进入nand_spl/board/samsung/smdk6410文件夹

打开u-boot.lds

在.bss __rel_dyn_start (OVERLAY) : {

前加上 _end = .;

 

步骤5

然后make smdk6410_config

 

make编译通过,呵呵

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值