mini6410之UBOOT移植

本文参考网友muge0913的http://blog.csdn.net/muge0913/article/details/7167599#一文。

1. 网上下载u-boot-2010.09版本并解压 

tar -jxvf u-boot-2010.09.tar.bz2 

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

#cd u-boot-2010.09/board/samsung/    //进入目录  
#mkdir mini6410                       //创建mini6410文件夹

3. 参照6400的代码作为模板,建立自己的mini6410模板,然后再做修改

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

4.修改u-boot根目录下的Makefile文件。还要指定交叉编译器为arm-linux-,查找到smdk6400_config的地方,在其下面按照smdk6400_config的格式建立mini6410_config的编译选项。

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


注:arm   :CPU的架构(ARCH)

        arm1176:CPU的类型

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

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

         s3c64xx:CPU型号

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

5.从U-boot根目录,进入nand_spl/board/samsung/,新建目录mini6410并将smdk6400下的所有文件复制到mini6410中
cd nand_spl/board/samsung/ 
mkdir mini6410  
cp -ar smdk6400/* mini6410/ 
6.测试编译新建的mini6410开发板项目
#make mini6410_config ARCH=arm//如果出现Configuring for mini6410 board...则表示设置正确  
#make ARCH=arm //编译后在根目录下会出现u-boot.bin文件,则u-boot移植的第一步就算完成了  

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

你可能感兴趣的:(框架,测试,include,makefile,编译器,2010)