分享

OK6410 u-boo t移植1

 寝乡园 2012-07-20
uboot移植,自己试了好几次都没成功,昨天有幸看到一位同学的博文,按其方法终于初步成功了,这里只是自己整理了下,便于自己查看。
不说废话,列出本人移植平台:
硬件:OK6410开发板,256MB DDR    2GB NAND FLASH
软件:系统——ubuntu10.04 
           交叉编译环境——arm-linux-gcc-4.3.2
           移植源码——u-boot-2010.03 
 
现在一步步开始:
第一步:安装交叉编译环境
         (1)直接下载交叉编译环境到根目录:arm-linux-gcc-4.3.2.tgz
          root**#tar -jxvf  arm-linux-gcc-4.3.2.tgz (默认解压到/usr/local/arm目录下)
          现在交叉编译程序集都在/usr/local/arm/4.3.2/bin目录下
          (2)修改环境变量,把交叉编译器的路径加入到PATH
          修改~/.profile         gedit  ~/.profile   在最后加入 export PATH=$PATH:/usr/local/arm/4.3.2/bin          
          (3)立即使新的环境变量生效: root**#source  ~/.profile  (以后每次开机后都都要输一次才能有用)
          (4)检查是否加入到PATH路径    root**#echo  PATH
          (5)测试是否安装成功  arm-linux-gcc -v  (如果正确安装会显示交叉编译环境的编译信息)
 
第二步:uboot移植
          在网站上ftp://ftp.denx.de/pub/u-boot/下载u-boot-2010.03 .tar.bz2
           解压文件,然后
1.进入u-boot-2010.03/board,把除samsung以外的文件夹删除
2.进入u-boot-2010.03/cpu,把除arm1176以外的文件夹删除
3.进入u-boot-2010.03\include,把asm-*(注意,仅仅是asm-开头的文件夹)中的,除了asm-arm和asm-generic以外的文件夹删除。
4.进入u-boot-2010.03\include\configs,只要留下smdk6400.h,其他的东西删除
5.在u-boot-2010.03,把lib_*开头的文件夹,除了lib_arm和lib_generic以外的文件夹删除
7.进入board/samsun目录下,会发现有smdk6400文件夹,建立新文件夹smdk6410,并将smdk6400里的所有文件复制到smdk6410中,进入smdk6410文件夹将smdk6400.c更名为smdk6410.c,并且打开此文件,将里面的6400全部改为6410。打开Makfile,将里面的6400改为6410。结束到 u-boot-2010.03根目录
8.进入到nand_spl/board/sansung/,复制smdk6400,并黏贴,将副本smdk6400更名为smdk6410,更改Makefile文件,将里面的6400全部改成6410。进入到include/asm/arch复制s3c6400.h  并改名为s3c6410.h
9.进入到 include/configs/ 复制smdk6400.h,并将副本改为smdk6410.h。
10.进入到 u-boot-2010.03根目录,打开Makefile,将CROSS_COMPILE ?=改成为CROSS_COMPILE ?=arm-linux-,然后搜索6400,会跳转到如下图所示
OK6410 uboot移植(1) - O(∩_∩)O - 寒江独垂
复制以上代码,并把6400改为6410
 
OK6410 uboot移植(1) - O(∩_∩)O - 寒江独垂

这个时候如果直接运行make smdk6410_config   然后在运行make可能会出错。
解决办法:
1:在修改后的smdk6410.c中,头文件包含 #include <asm/arch/s3c6410.h>的话,因为在文件夹asm/arch中没有s3c6410.h,先暂时使用asm/arch/s3c6400.h或者把asm/arch中的s3c6400.h复制后修改为s3c6410.h
2:在/u-boot-2010.03/include/asm/arch-s3c64xx中s3c6400.h,复制一份,并将副本名改为s3c6410.h,用gedit 打开文件,将里面的6400全都改为6410,保存退出。
 
上述两者选其一之后,运行make smdk6410_config   然后在运行make 暂时运行正确,输出最后一行为 cat nand_spl/u-boot-spl-16k.bin u-boot.bin > u-boot-nand.bin
 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多