构建了好久的系统,由于工作原因,没有及时写记录,目前我已经进展到构建yaffs2文件系统,启动Linux内核了。Uboot移植基本功能已经完成。

    由于Uboot移植方法大致是一样的,我主要参考这位博友的博客来移植的,很是有代表性,确实能完成一些基本功能。

    参考网址如下:http://blog.chinaunix.net/uid-28382924-id-3489648.html

    由于步骤基本一样,我就不再重复他的内容,只说点需要重点关心的。

    1. 对于nandflash代码复制问题

    这个问题也是我和我同学之前有疑问的问题,我们ok6410上的nandflash页大小为4K, 而在进行重定位复制代码时候,先复制的是以2K页大小,复制4次,即8K,这个卡了我们很久,后来去阅读arm datasheet才发现,这是S3C6410的nandflash控制器所决定的。

    2. 环境变量获取问题

    这个问题,同样也是很棘手,因为从网上大多数找到的答案大多是,什么nandflash有坏块导致。可我去nand scrub,问题同样存在,幸亏我看到上面的博客,终于知道原因,原来我们在启动的时候,在复制u-boot代码到ram时,需要同时将环境变量也一并复制过去,至于复制的地址这就需要你自己在6410头文件中定义了。

   3. 引导内核启动地址,需要和Linux内核入口地址匹配。

    在移植uboot就注意这些吧,这样,基本的功能都有了,下面是我的Uboot启动界面。


posted on 2014-06-04 09:01  程序马  阅读(382)  评论(0编辑  收藏  举报