在淘宝上买修改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. .net程序员工作两年总结

    (2015年9月) 最近换了工作,面试了很多家公司想总结下,以便以后回顾知道自己是怎么走过来的. 入行背景: 我是半路转行做软件开发的,2011年7月大学专科毕业,大学专业是:机械制造及其自动化:20 ...

  2. dubbo学习之服务消费者

    1.简介 上节讲了如何发布一个dubbo服务,这节主要讲如何进行消费,创建一个消费者. 2.详细步骤 2.1 项目目录结构 2.2 创建maven项目 这里演示时其实通过一个main方法就可以了,没必 ...

  3. 关于String对象的比较

    1.String对象的比较 String 是一个常量,从String类中的代码可以看出.String类内部是通过char数组来存储字符串,这个char数组是被声明成final的. // Java中只要 ...

  4. POJ 3687 Labeling Balls()

    Labeling Balls Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9641 Accepted: 2636 Descri ...

  5. 基于51单片机+DAC0832的信号发生器

    最近帮别人设计一个毕业设计,做一个多种信号发生器(四种波形:方波.三角波.锯齿波.梯形波),现在贴上来给大家参考,如果有错误的地方,望指出~ 下面先贴上仿真的电路图(仿真的软件是Protuse,上传一 ...

  6. 记一次hadoop datanode进程问题分析

    症状:datanode进程还在,但是在web ui接口发现该节点已经被置为dead节点.监测datanode进程日志,开始时一直狂刷很忙,后来停止刷新日志. 分析datanode进程日志,发现如下一些 ...

  7. POJ 2407 Relatives 【欧拉函数】

    裸欧拉函数. #include<stdio.h> #include<string.h> ; int p[N],pr[N],cnt; void init(){ ;i<N;i ...

  8. HTTP请求与响应方式

    HTTP请求格式 当浏览器向Web服务器发出请求时,它向服务器传递了一个数据块,也就是请求信息,HTTP请求信息由3部分组成: l   请求方法URI协议/版本 l   请求头(Request Hea ...

  9. PHP安装memcache扩展接口步骤

    1.将php_memcache.dll文件保存到php的应用程序扩展ext目录中 2.在php.ini配置文件添加扩展的位置,加入一行extension=php_memcache.dll 3.重新启动 ...

  10. python将文件写成csv文件保存到本地

    举个例子: import csv import os path='/tmp/' file='test.csv' def generate_csv(path,file): if not os.path. ...