mini6410移植全攻略(2)--uboot移植之搭建项目框架

      目前u-boot-2010.09对很多CPU直接支持,可以查看board目录的一些子目录,如:board/samsung/目录下就是对三星一些ARM处理器的支持,有smdk2400、smdk2410和smdk6400,但没有6410,所以我们就在这里建立自己的开发板项目。

     本文章仅供技术交流请勿商用,转载请注明地址:http://blog.csdn.net/muge0913/article/details/7167599


1)因6410和6400的资源差不多,主频和外设有点差别,所以我们就在board/samsung/下建立自己开发板的项目,取名叫th6410


#tar -jxvf u-boot-2010.09.tar.bz2    //解压源码
#cd u-boot-2010.09/board/samsung/    //进入目录
#mkdir th6410                       //创建th6410文件夹


2)因6410和6400的资源差不多,所以就以6400项目的代码作为模板,以后再修改


#cp -rf smdk6400/* th6410/   //将6400下所有的代码复制到6410下
#cd th6410                   //进入th6410目录
#mv smdk6400.c th6410.c      //将th6410下的smdk6400.c改名为th6410.c
#vim /Makefile   //修改th6410下Makefile的编译项,如下:
COBJS    := th6410.o  //因在th6410下我们将smdk6400.c改名为th6410.c

#cd ../../../                //回到u-boot根目录
#cp include/configs/smdk6400.h include/configs/th6410.h //建立th6410头文件



3)修改u-boot跟目录下的Makefile文件。查找到smdk6400_config的地方,在他下面按照smdk6400_config的格式建立th6410_config的编译选项,另外还要指定交叉编译器

vim Makefile


指定交叉编译工具,找到CROSS_COMPILE?=在等号后面添加arm-linux-


:/CROSS 
CROSS_COMPILE ?=arm-linux-
export CROSS_COMPILE

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


注:*说明:arm   :CPU的架构(ARCH)

arm1176:CPU的类型

smdk6410 :对应在board目录下建立新的开发板项目的目录

samsung:新开发板项目目录的上级目录,如直接在board下建立新的开发板项目的目录,则这里就为NULL

s3c64xx:CPU型号

*注意:编译选项格式的第二行要用Tab键开始,否则编译会出错

4)

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

cd nand_spl/board/samsung/


2、新建目录th6410并将smdk6400下的所有文件复制到th6410中

mkdir th6410
cp -ar smdk6400/* th6410/



4)测试编译新建的th6410开发板项目

 
#make th6410_config ARCH=arm//如果出现Configuring for th6410 board...则表示设置正确

#make ARCH=arm //编译后在根目录下会出现u-boot.bin文件,则u-boot移植的第一步就算完成了

到此为止,u-boot对自己的th6410开发板还没有任何用处,以上的移植只是搭建了一个th6410开发板u-boot的框架,要使其功能实现,还要根据th6410开发板的具体资源情况来对u-boot源码进行修改。


本文章仅供技术交流请勿商用,转载请注明地址:http://blog.csdn.net/muge0913/article/details/7167599


你可能感兴趣的:(mini6410移植全攻略(2)--uboot移植之搭建项目框架)