码迷,mamicode.com
首页 > 其他好文 > 详细

u-boot-2010.3移植到Tiny6410问题总结

时间:2015-04-25 19:44:34      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:

问题1:

  u-boot-2010.3中nand_spl文件夹的作用:实现从Nandflash启动在编译是会建立几个链接文件,用这几个链接文件生成u-boot-spl-16k.bin

  nand_spl/board/samsung/smdk6400文件下有config.mk,Makefile和u-boot.lds三个文件,看看这三个文件再加上uboot根目录下的makefile文件就可以大概明白nand_spl这种方式是如何实现的了:

        在uboot根目录下的makefile中有:

$(obj)u-boot-nand.bin:nand_spl $(obj)u-boot.bin
cat $(obj)nand_spl/u-boot-spl-16k.bin $(obj)u-boot.bin > $(obj)u-boot-nand.bin

        是将两个bin档用这种方式合并成一个bin档!!!

更具体点说,就是在nand_spl目录下的u-boot-spl.bin做了以下事情:

        1.设置cpu为svc模式

        2.关闭开门狗和中断

        3.初始化系统时钟

        4.禁用MMU和Cache

        5.初始化sdram控制器

        6.设置sp,跳到刚才提到的nand_boot.c里面的nand_boot函数,这个函数初始化nand的控制器,并将4K之后的u- boot.bin image从nand中load到sdram中,然后跳转到u-boot.bin image的开始处继续后续的工作。

  具体说明见:http://blog.csdn.net/dndxhej/article/details/8227565

 

问题2:

  bootm函数只能引导uImage内核,不能引导zImage内核,可以用uboot的mkimage工具将zImage转换为uImage,其实uImage只不过是在zImage的基础上添加了64字节的头部,里面包含一些内核的信息,bootm函数需要读取这些信息!

  附带:uboot的工具mkimage使用方法

 

 

u-boot-2010.3移植到Tiny6410问题总结

标签:

原文地址:http://www.cnblogs.com/cxd2014/p/uboot.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!