从Nandflash启动代码

        在我的印象中,Nandflash具有很高的容量,访问方式类似于硬盘这样的块设备,需要有专用的驱动程序,适合于存放数据;而Norflash具有很高的速度,可以象SDRAM一样随机访问,并且可以直接在Norflash中运行程序,但是容量却不能做的很大,适合存放代码。因此我一直理所当然的认为,目标板上必须有Norflash来存放代码(至少用来存放启动代码)。
        但是最近见到一块S3C2410的开发板,板上只有64M的Nandflash,却没有看到Norflash的影子,bootloader是直接下载到Nandflash的第0块的。在网上找了很久也没有找到答案,百思不得其解,猜测S3C2410有了什么“特异功能”,最后在S3C2410的用户手册中找到了答案。
        原来,S3C2410集成了一个Nandflash控制器和一个容量为4KB的SDRAM缓存(称作Steppingstone),能够在系统启动时将Nandflash的前4KB内容拷贝到Steppingstone中,然后将Steppingstone映射到0x0的地址后,从0x0开始启动运行。因此启动代码应该放在Nandflash的前4KB中,并且在启动代码中将主程序从Nandflash拷贝到SDRAM中,拷贝后在SDRAM中运行主程序。
        这样一来,即使没有Norflash,目标板一样的启动。由于Norflash比Nandflash和SDRAM都贵,因此,虽然系统需要的SDRAM的容量增加了,但是整个系统的开发成本还是可以降低不少。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值