路由器 NorFlash与NandFlash区别

 

在淘宝上买修改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

posted @ 2015-04-26 21:15  crazy_thb  阅读(4443)  评论(0编辑  收藏  举报