在淘宝上买修改openwrt的路由器,基本上都是改的16MB flash,那么为什么不改到1GB呢?

现在U盘的价格也很便宜啊。

于是我调查了一下,发现flash分为两种,NorFlash与NandFlash。

一般路由器需要一个bootloader来启动,一开始上电启动的时候,从0x00开启运行代码,

这个bootloader代码一般是可写的,不是固化在ROM里的,是烧写在flash里面的。

那么需要从flash里面运行代码这一点,就决定了路由器需要采用NorFlash,而不是NandFlash。

下面用一张表总结了NorFlash与NandFlash的特性区别:

根据参考资料(http://www.cnblogs.com/wi100sh/p/4255072.html和http://zhidao.baidu.com/question/72486639.html):

Nor Flash 的特点是芯片内执行和不能直接写操作,程序可以直接在其中运行,而不必将程序读取到RAM 中运行。

理论上来说,有了Nor Flash,不用RAM就可以运行所有的代码。目前的spi flash一般指的是Nor flash。

Nand Flash 的特点是采用非线性存储模式,程序无法在其中运行,它只能作为程序或数据的存储载体,

存储在其中的程序只能先拷贝到RAM 中才能运行。cpu会自动从NAND flash中读取前4KB的数据放置在片内SRAM里,通过这个载体把nandflash中大代码复制到RAM(一般是SDRAM)中去执行)。程序员要完成的工作是把最核心的代码放在nandflash的前4K中

从应用上来说,U盘都用的是Nand Flash,Nor Flash的大小目前基本上都只有几十兆。

现在的Openwrt路由器基本上都是用的Nor Flash,但也有采用Nand flash 和 Nor Flash做组合的,用Nand flash做启动
,用Nor Flash存储资料文件。

这里也有对它的总结:

另外在查找资料的过程中发现有很便宜的编程器可以来烧写flash( CH341A编程器)

参考资料:

http://www.embedu.org/column/column05.htm

http://baike.baidu.com/view/2741245.htm

http://blog.micro-studios.com/?p=3888

http://blogs.ejb.cc/archives/7715/openwrt-tutorial-b-jffs2-filesystem

http://www.cnblogs.com/wi100sh/p/4255072.html

http://bbs.dzsc.com/space/viewspacepost.aspx?postid=69978

http://zhidao.baidu.com/question/72486639.html

http://forum.eepw.com.cn/thread/264953/1

http://bbs.xiaomi.cn/forum.php?mod=viewthread&action=printable&tid=8976496

路由器 NorFlash与NandFlash区别的更多相关文章

  1. NorFlash和NandFlash区别

      Flash编程原理都是只能将1写为0,而不能将0写成1.所以在Flash编程之前,必须将对应的块擦除,而擦除的过程就是将所有位都写为1的过程,块内的所有字节变为0xFF.因此可以说,编程是将相应位 ...

  2. 使用jlink直接烧norflash或者nandflash不借助uboot的猜想

    由于喜欢折腾,我是在linux下使用jlink的,既然JLinkExe可以进行内存读写操作,loadbin等操作,并且通过指定命令文件支持批量指令输入,那么首先jlink是可以直接访问内部存储器的,包 ...

  3. 嵌入式开发之NorFlash 和NandFlash

    http://blog.csdn.net/tigerjibo/article/details/9322035 [摘要]:作为一个嵌入式工程师,要对NorFlash 和NandFlash要有最起码的认知 ...

  4. 关于NOR-FLASH和NAND-fLASH的区别。——Arvin

    NANDFLASH: Nand-flash内存是flash内存的一种,1989年,东芝公司发表了NAND flash结构.其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案.N ...

  5. NorFlash、NandFlash在技术和应用上有些什么区别?

    首先你要搞懂什么是Flash Memory? Flash Memory(快闪存储器),是一种电子式可清除程序化只读存储器的形式,允许在操作中被多次擦或写的存储器.这种科技主要用于一般性数据存储,以及在 ...

  6. 闪存中的NorFlash、NandFlash及eMMC三者的区别【转】

    本文转载自:https://blog.csdn.net/Blazar/article/details/77843655 快闪存储器(英语:Flash Memory),是一种电子式可清除程序化只读存储器 ...

  7. NorFlash、NandFlash、eMMC比较区别

    快闪存储器(英语:Flash Memory),是一种电子式可清除程序化只读存储器的形式,允许在操作中被多次擦或写的存储器.这种科技主要用于一般性数据存储,以及在电脑与其他数字产品间交换传输数据,如储存 ...

  8. NorFlash、NandFlash、eMMC比较区别【转】

    本文转载自:http://www.veryarm.com/1200.html 快闪存储器(英语:Flash Memory),是一种电子式可清除程序化只读存储器的形式,允许在操作中被多次擦或写的存储器. ...

  9. web 系统原理之路由器和交换机的区别

    工作层次不同: 交换机主要工作在数据链路层(第二层) 路由器工作在网络层(第三层). 转发依据不同: 交换机转发所依据的对象时:MAC地址.(物理地址) 路由转发所依据的对象是:IP地址.(网络地址) ...

随机推荐

  1. APP国际化

    1.app本地内容国际化 ①在项目中新建一个New File ---> iOS Resource -> String File ---> 命名为Localizable(之所以命名为L ...

  2. DEV主从表

    1.主从表隐藏表格展开按钮. 当主表内容不包含子表时候隐藏,主从表加号图标.效果如下图. 实现代码 private void gvMain_CustomDrawCell(object sender, ...

  3. Effective Java 36 Consistently use the Override annotation

    Principle Use the Override annotation on every method declaration that you believe to override a sup ...

  4. 【等待事件】序列等待事件总结(enq: SQ - contention、row cache lock、DFS lock handle和enq: SV - contention)

    [等待事件]序列等待事件总结(enq: SQ - contention.row cache lock.DFS lock handle和enq: SV -  contention) 1  BLOG文档结 ...

  5. 使用MiniProfiler调试ASP.NET MVC网站性能

    MiniProfiler 以前开发Webform的时候可以开启trace来跟踪页面事件,这对于诊断程序的性能是有很大的帮助的,起到事半功倍的作用,今天我就来谈用mvc开 发项目的调试和性能监控.EF框 ...

  6. zookeeper 集群搭建

    windows 环境下单机搭建伪集群 zookeeper 版本3.4.8 1.创建各个目录server1.server2.server3 2.复制解压后的zookeeper3.4.8 到server1 ...

  7. Eclipse修改Tomcat发布路径以及的配置多个Tomcat方法

    最近放弃了使用Myeclipse,转而使用eclipse作为开发工具,确实Myeclipse集成了太多东西,使得开发人员的配置越来越少,这 不是个好事,使用eclipse后,有些地方就得自己去配置,比 ...

  8. 手机打开PC端网址自动跳转到手机站代码

    <script>function uaredirect(murl){ try { if(document.getElementById("bdmark") != nul ...

  9. Varchar2 size how to decide?

    When you execute a complicate store procedure, maybe it will execute a long time, maybe you want to ...

  10. Centos源码安装Python3

    CentOS7默认安装了python2.7.5,当需要使用python3的时候,可以手动下载Python源码后编译安装. 下载python(https://www.python.org/ftp/pyt ...