在我的印象中,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的容量增加了,但是整个系统的开发成本还是可以降低不少。

从Nandflash启动代码相关推荐

  1. NandFlash启动理解(S3C2410)

    1.在板子上电的一开始,首先自动判断是否是autoboot模式(这是由硬件设计阶段,由硬件工程师对mcu的引脚连线决定的),我所使用的s3c2410是带有nandflash的,并切被设置成autobo ...

  2. norflash/nandflash 启动分析 转

    S3C2440和S5PV210是很多 嵌入式爱好者入门的arm处理器,网上的资料也很多.今天我们就来聊聊S3C2440和S5PV210的启动流程,上一篇博客我介绍了uboot在norflah上的启动流 ...

  3. norflash/nandflash 启动分析

     S3C2440和S5PV210是很多 嵌入式爱好者入门的arm处理器,网上的资料也很多.今天我们就来聊聊S3C2440和S5PV210的启动流程,上一篇博客我介绍了uboot在norflah上的 ...

  4. 全志 android 编译,全志A20启动代码流程分析 ——Android

    现在的CPU都固化了内部 ROM,内部 ROM中有一般都有一段程序,一般有如下几个功能: 1,初始化,部分外设,如USB,SDCARD 2,初始化DDR(内存)和NandFlash 3,加载boot( ...

  5. 全志android 编译,全志A20启动代码流程分析 ——Android

    现在的CPU都固化了内部 ROM,内部 ROM中有一般都有一段程序,一般有如下几个功能: 1,初始化,部分外设,如USB,SDCARD 2,初始化DDR(内存)和NandFlash 3,加载boot( ...

  6. TQQ2440第一节:启动代码

    由于网上和我自己用的开发板有气度代码,所以我打算先把ARM9的外围熟悉了在回来看看启动代码,我也大约的看了一下和ARM7的差不多.只是从NANDFLASH启动多了拷贝代码,和MMU初始化的代码,在这里 ...

  7. u-boot 启动代码start.S详解(for mini2440)

    u-boot存储器映射图: start.S 代码分析 #include <common.h> #include <config.h>/*#include <config. ...

  8. nandflash 启动

    S3C2440和S5PV210是很多 嵌入式爱好者入门的arm处理器,网上的资料也很多.今天我们就来聊聊S3C2440和S5PV210的启动流程,上一篇博客我介绍了uboot在norflah上的启动流 ...

  9. ARM裸机篇---启动代码分析

    ARM裸机篇---启动代码分析 先搞清楚启动代码和Bootloader的区别,启动代码是指CPU复位后到进入C语言的main函数之前需要执行的那段汇编代码. 下面的代码先暂且这样吧,没啥注释的,时间关 ...

最新文章

  1. 人脸识别技术及应用,了解一下
  2. 2016年全球芯片市场或衰退2.13%
  3. 学习VUE时,利用webpack打包的错误处理方法
  4. 【转载】CMenu自绘---钩子---去除边框
  5. [JS 分析] 天_眼_查 字体文件
  6. Delphi纯代码连SQLite数据库,同时支持数据库的加密解密
  7. [转帖]公司内网机器病毒
  8. Linux操作Oracle(5)——Oracle11g 卸载OPatch安装补丁的方法【rollback已安装的补丁】及报错问题解决
  9. openresty连接mysql_在CentOS 6上使用openresty访问mysql
  10. java jvm理解_【java】之深入理解JVM
  11. 搜索不到网络计算机和设备,电脑搜不到无线网络原因分析和对应解决办法
  12. 新冠病毒对计算机的影响,人工智能给新冠病毒分类
  13. python实现添加商品至购物车
  14. vue3 setup语法糖事件引用和写法
  15. 华为云计算IE面试笔记-eBackup有哪几种备份组网方式,各备份组网方式主要的应用场景及备份流程?
  16. synchronized锁升级那点事
  17. 二维数组解引用解释——指针
  18. 小蜜智能对话开发平台
  19. 千访 | “霸总”人设揽粉近十万!小红书企业号还能这么玩?
  20. 【小沐学Python】Python实现在线电子书(MkDocs + readthedocs + github + Markdown)

热门文章

  1. 随机梯度下降,mini-batch梯度下降,在线学习机制,mapreduce
  2. 《虐杀原形2》的特效系统
  3. MOS管的特征频率ft
  4. 站长在线Python精讲:在Python函数中理解形式参数和实际参数
  5. Unity3d 2020 无法连接Visual Studio(2017/2022)进行断点调试(附加到Unity3d)问题
  6. 手机模拟蓝牙手柄控制kobuki底座
  7. 短信-股票代码002291 000524 002467 002582
  8. 按键精灵1.3.7使用心得
  9. rgb ALPHA_8、ARGB_4444、ARGB_8888和RGB_565的区别
  10. [RK3568 Android11] 教程之升级固件方法二(电脑升级Update包)