免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 967 | 回复: 0
打印 上一主题 下一主题

6410 调试系列2 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-08 16:44 |只看该作者 |倒序浏览
    我写BLOG目的只是为了记录下一些知道的片断,所以也没有加以整理,如果大家有不明白的,可以告诉我,我一定尽量回答。这几天看DATASHEET时,有个问题让我有点搞不懂,就是Nand flash boot mode: 当我们选Nand flash booting 时,因为Nand 是不能被直接访问的,但像SROM, SRAM, NOR Flash,asyncronous NOR interface device 是可以直接访问,所以有了这么一个问题,它的代码如何被执行。 看这个BBLOCK DIAGRAM 发现有一个 Steppingstone 8-KB internal SRAM buffer。一切了然了。 我从网上找了关于2440的Steppingstone :    S3C2440A boot code can be executed on an external NAND flash memory. In order to support NAND flash bootloader, the S3C2440A is equipped with an internal SRAM buffer called "Steppingstone". When booting, the first 4KBytes of the NAND flash memory will be loaded into Steppingstone and the boot code loaded into Steppingstone will be executed.     Generally, the boot code will copy NAND flash content to SDRAM. Using hardware ECC generating, the NAND flash data validity will be checked. Upon the completion of the copy, the main program will be executed on the SDRAM.
     虽然大家都看得懂上面的eng,但是为了自己以后看得方便一些,在此稍微解释一下:
     2440的启动代码可以从外部的nandflash上执行。为了能支持nboot,2440需要带有一个叫做steppingstone的内部sram缓冲区。在启动加载的时候,nandflash的前4k的内容(nboot部分)要被先load到steppingstone中去(此时steppingstone被映射为物理地址的0x0,复位后执行的第一条指令就是从这里取的),并且接着就是在steppingstone中去执行该启动代码。这部分代码(nboot)的作用是会将nandflash中的bootloader step2部分拷贝到sdram中去,并跳到sdram中去执行以加载内核(nk)。
     nboot从nandflash被load到steppingstone中的过程为:在上点的时候,nandflash控制器通过几个引脚的状态(NCON-Adv flash;GPG13-Page size;GPG14-Address cycle;GPG15-Bus width)来得到nandflash的相关信息,之后nandflash控制器就会自动load nandflash中前4k的启动代码到steppingstone中去,并在其中执行了。
    6410 也是一样的方法。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/94443/showart_1922385.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP