为博创s3c2410-s编译u-boot-1.2.0

参考:

tekkman的博客 tekkman.cublog.cn

一、目的

  制作可移植到博创s3c2410-s板子上的u-boot.

二、工具版本

  ubuntu11.1,用crosstool-0.43制作的基于2.6.22.2内核和gcc-4.1.0-glibc-2.3.2的arm9tdmi交叉编译工具链。

三、命名规则

  开发者署名lushuai,板子命名为tjut_2410

四、初步修改uboot源文件

1.修改uboot根目录中的Makefile

mv u-boot-1.2.0.tar.bz2 ~ && cd ~
tar -xf u-boot-1.2.0.tar.bz2 && cd u-boot-1.2.0
gedit Makefile

  在文件1931行(smdk2410_config描述的下面)添加tjut2410_config的描述:

tjut2410_config    :    unconfig
        @$(MKCONFIG) $(@:_config=) arm arm920t lushuai NULL s3c24x0

已修改:这里可能有点小错误: lushuai那一列代表板子型号,应该改为tjut2410

          Null哪一列代表开发者ID,应该为lushuai      应该就是这里的问题导致了后面提到的找不到目录中的makefile  随后应该改过来为:

tjut2410_config    :    unconfig
        @$(MKCONFIG) $(@:_config=) arm arm920t tjut2410 lushuai s3c24x0

 

在120行添加

CROSS_COMPILE = /opt/crosstool/gcc-4.1.0-glibc-2.3.2/arm-9tdmi-linux-gnu/arm-9tdmi-linux-gnu/bin/

注:不知到为什么,我编译出来的工具链中,并不是所有的文件都在这个目录下,开始编译的时候报错提示找不到objcopy这个命令,我只好先通过locate定位工具连中的objcopy,然后通过ln在这个目录下建立它的软链接。

ln -s /home/lushuai/crosstool-0.43/build/arm-9tdmi-linux-gnu/gcc-4.1.0-glibc-2.3.2/build-binutils/binutils/objcopy /opt/crosstool/gcc-4.1.0-glibc-2.3.2/arm-9tdmi-linux-gnu/arm-9tdmi-linux-gnu/bin/objcopy

 

2.在uboot根目录下建立tjut2410的目录并拷贝smdk2410的文件过来以备修改

cd board
mkdir lushuai lushuai/tjut2410
cp -arf smdk2410/*lushuai/tjut2410
cd lushuai/tjut2410
mv smdk2410.c tjut2410.c

3.修改tjut2410下的Makefile

28行:

COBJS  :  = tjut2410.o    flsh.o

4.将tjut2410的头文件包含至include/configs/ 下

cd http://www.cnblogs.com/..
cp include/configs/smdk2410.h include/configs/tjut2410.h

5.测试编译

sudo make tjut2410_config

sudo make

误报错信息,编译成功

posted on 2012-04-10 14:30  陆大侠  阅读(240)  评论(0编辑  收藏  举报

导航