登录 免费注册 首页 | 行业黑名单 | 帮助
维库电子市场网
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

[请教]为什么市场上卖的开发板既有NAND Flash又有NOR flash?

作者:wx82614 栏目:ARM技术
[请教]为什么市场上卖的开发板既有NAND FLASH又有NOR FLASH
实际开发中NAND或是NOR只使用其中一种是不是就行了?为什么卖的开发板上NAND和NOR都有啊?而且一般都是NAND很大,NOR较小。开始时我还以为NOR中存储Bootloader,相当于PC机上的BIOS;而NAND中存储操作系统内核和文件系统,相当于PC机上的硬盘。但是试着烧写vivi才发现NAND上也可以存放Bootloader,既然如此还要NOR干嘛?

2楼: >>参与讨论
computer00
烧写是能烧写,但是那里面的bootloader能引导系统吗?
 
3楼: >>参与讨论
wx82614
我的开发板NAND可以引导,倒是NOR不可以。
我的开发板是广州友善之臂的MatrixIV开发板,默认就是用NAND启动的。我自己编译并烧写vivi到NAND上,也可以正常启动。但是板子上面的NOR,却不知怎么进行烧写和启动,说明书上也没写,友善之臂说自己的用户手册国内第一详细,其实真的是不怎么样:(

4楼: >>参与讨论
wag
请问,你们板子上的NAND和NOR FLASH是什么型号?
请问,你们板子上的NAND和NOR FLASH是什么型号?

5楼: >>参与讨论
computer00
估计是NORFLASH里面放的就是bootloader,
是你不知道而已~~~~~~~~~系统每次启动时,从那里取代码,然后初始化,你把代码放在NAND FLASH中并能运行,应该都是那个NOR FLASH中的代码在背后支持。

6楼: >>参与讨论
wag
请问computer00,E28F128AT49BV6416都是NOR FLASH吗?
请问computer00,E28F128AT49BV6416都是NOR FLASH吗?

7楼: >>参与讨论
wx82614
computer00和我一样也是新手吧!
我今天又在网上查了查,发现还是有一些开发板只使用NAND的。所以,可以肯定的是,使用NAND FLASH完全可以启动,但似乎使用NOR FLASH会更好一些,具体好在哪里我却不知道。

8楼: >>参与讨论
21icer
以前
以前的分工是nor用来存储代码,nand存储数据。因为nor更可靠。但是最近,nand发展极快,以前nor+ram的组合,现在可以nand+ram集成到一个ic上面。而且,nand的容量比nor大n倍。苹果的ipod nano(还是三星的mp3?)要把微硬盘改用nand FLASH了。
最近,这方面的新闻很多。大家可以看看

9楼: >>参与讨论
centimetre
nand本身的结构特点决定是不能启动的
2410具备特殊机构能够从nand启动

10楼: >>参与讨论
computer00
re wag:
从型号来看,E28F128AT49BV6416应该都是nor FLASH吧。

11楼: >>参与讨论
teddeng
哈,昨天刚想问这个问题
想想还是先看看资料,结果2410的手册上明白写着2410的NAND控制器可以自动LOAD 4K CODE到RAM,只是必须保证这4K FLASH 没坏块。

12楼: >>参与讨论
wx82614
我使用的就是2410
原来是2410的NAND控制器起的作用,还是teddeng看得细致,我这菜鸟真得好好学习学习。如果使用NAND启动,也没法保证4K中一定没坏块啊,总不能一片一片焊上试吧。三星既然让2410支持NAND启动,肯定有它的办法,会不会三星自己生产的NAND上使用某种工艺保证启动用的4K没有坏块呢?

13楼: >>参与讨论
wx82614
[to wag]:我用的NAND和NOR型号
NAND:三星  K9F1208U0M
NOR: AMD   AM29LV800B

* - 本贴最后修改时间:2006-3-30 1:31:08 修改者:wx82614

14楼: >>参与讨论
wx82614
看了S3C2410的数据手册
原来是S3C2410上有一名为Steppingstone,大小为4KB的SDRAM,启动代码先从NAND FLASH中复制到Steppingstone,再从Steppingstone完成启动过程。NAND控制器中的ECC保证复制的过程不会读取坏块的数据。

S3C2410费了那么大劲来支持使用NAND启动,如果还用NOR来启动,真是浪费了,都对不起三星公司。我决定充分利用NAND控制器的功能,干脆不用NOR了,只用NAND。

15楼: >>参与讨论
devicegate
2410的最大好处是NAND boot
要不怎么会那么多人用?

广州联智arm9 开发板

16楼: >>参与讨论
computer00
有机会俺也去玩玩2410~~~~~~~~~~~
 
17楼: >>参与讨论
wx82614
关于NAND中的坏块
NAND中的坏块在使用过程中会不会增加?如果坏块总是出现,存储在其中的数据岂不是很危险?

18楼: >>参与讨论
centimetre
当然坏块会增加
需要用软件算法来处理怀快管理

另外,可以看nand FLASH 手册,block0是保证出厂不是坏的,其他块就不保证了

19楼: >>参与讨论
teddeng
to:wx82614
提醒下,在AUTOBOOT过程中ECC是不起作用的,也许centimetre说得有道理,BLOCK0必需保证出厂是好的。我想BOOT区几乎是不写的,应该几乎不存在使用中失效问题吧。

20楼: >>参与讨论
wujiarui
对block0坏块担心是多余的,仔细看看datasheet
在NAND FLASH用户手册中,三星NAND FLASH对于坏块已经做了很详细的说明:
2. The 1st block, which is placed on 00h block address, is fully guaranteed to be a valid block, does not require Error Correction.

21楼: >>参与讨论
wx82614
谢谢各位,终于明白了,现在总结一下:
S3C2410支持使用NAND来进行启动,但是启动代码并不是直接在NAND中执行的。在S3C2410中有一块名为Steppingstone,大小为4KB的SRAM。复位后,启动代码先从NAND FLASH的前4KB复制到Steppingstone,再从Steppingstone中执行以完成启动。具体过程(摘自S3C2410用户手册):

1. 复位;
2. NAND FLASH的前4KB被复制到Steppingstone中;
3. Steppingstone被映射到nGCS0;
4. CPU从Steppingstone中执行启动代码。

在复制NAND FLASH的前4KB到Steppingstone的过程中,ECC不会被检查,这就必须保证所用NAND的前4KB没有坏位。如果使用三星的NAND FLASH,这一点是完全可以保证的,三星NAND FLASH的Block0是没有坏位的,访问时不用进行错误校验。使用其他品牌的NAND FLASH要看数据手册,确认其Block0在出厂时保证无错,方可与S3C2410配合使用,进行NAND方式的启动。

22楼: >>参与讨论
arm-linux
新手啊,所有一切程序都应该copy到RAM里边运行,怎么可能在flash上运行!!!!!笑掉大牙。。。。。
23楼: >>参与讨论
雨夜星魂

从nor flash启动,代码可以直接在nor flash运行,并将代码复制到Sdram,从nand启动时,芯片会将nand第一个block的4k代码复制到内部ram,所以启动程序要实现nand读操作驱动程序,将代码从nand复制到sdram的相应位置,然后再跳转到那里运行。开发板做了支持nand启动设计的,就不需要nor flash启动 

参与讨论
昵称:
讨论内容:
 
 
相关帖子
请教SDRAM读写异常的问题?
转让华恒ARM9-EDU综合开发平台
为什么这段程序老出现取指令终止异常,LPC2134
有要orcad的吗?
请问高手怎么读出CPLD里面的程序
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入


Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号