|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
[请教]为什么市场上卖的开发板既有NAND Flash又有NOR flash? |
作者:wx82614 栏目:ARM技术 |
实际开发中NAND或是NOR只使用其中一种是不是就行了?为什么卖的开发板上NAND和NOR都有啊?而且一般都是NAND很大,NOR较小。开始时我还以为NOR中存储Bootloader,相当于PC机上的BIOS;而NAND中存储操作系统内核和文件系统,相当于PC机上的硬盘。但是试着烧写vivi才发现NAND上也可以存放Bootloader,既然如此还要NOR干嘛? |
2楼: | >>参与讨论 |
作者: computer00 于 2006/3/28 20:51:00 发布:
烧写是能烧写,但是那里面的bootloader能引导系统吗? |
3楼: | >>参与讨论 |
作者: wx82614 于 2006/3/28 21:08:00 发布:
我的开发板NAND可以引导,倒是NOR不可以。 我的开发板是广州友善之臂的MatrixIV开发板,默认就是用NAND启动的。我自己编译并烧写vivi到NAND上,也可以正常启动。但是板子上面的NOR,却不知怎么进行烧写和启动,说明书上也没写,友善之臂说自己的用户手册国内第一详细,其实真的是不怎么样:( |
4楼: | >>参与讨论 |
作者: wag 于 2006/3/29 8:39:00 发布:
请问,你们板子上的NAND和NOR FLASH是什么型号? 请问,你们板子上的NAND和NOR FLASH是什么型号? |
5楼: | >>参与讨论 |
作者: computer00 于 2006/3/29 10:16:00 发布:
估计是NORFLASH里面放的就是bootloader, 是你不知道而已~~~~~~~~~系统每次启动时,从那里取代码,然后初始化,你把代码放在NAND FLASH中并能运行,应该都是那个NOR FLASH中的代码在背后支持。 |
6楼: | >>参与讨论 |
作者: wag 于 2006/3/29 11:04:00 发布:
请问computer00,E28F128和AT49BV6416都是NOR FLASH吗? 请问computer00,E28F128和AT49BV6416都是NOR FLASH吗? |
7楼: | >>参与讨论 |
作者: wx82614 于 2006/3/29 16:05:00 发布:
computer00和我一样也是新手吧! 我今天又在网上查了查,发现还是有一些开发板只使用NAND的。所以,可以肯定的是,使用NAND FLASH完全可以启动,但似乎使用NOR FLASH会更好一些,具体好在哪里我却不知道。 |
8楼: | >>参与讨论 |
作者: 21icer 于 2006/3/29 22:12:00 发布:
以前 以前的分工是nor用来存储代码,nand存储数据。因为nor更可靠。但是最近,nand发展极快,以前nor+ram的组合,现在可以nand+ram集成到一个ic上面。而且,nand的容量比nor大n倍。苹果的ipod nano(还是三星的mp3?)要把微硬盘改用nand FLASH了。 最近,这方面的新闻很多。大家可以看看 |
9楼: | >>参与讨论 |
作者: centimetre 于 2006/3/29 22:18:00 发布:
nand本身的结构特点决定是不能启动的 2410具备特殊机构能够从nand启动 |
10楼: | >>参与讨论 |
作者: computer00 于 2006/3/29 23:27:00 发布:
re wag: 从型号来看,E28F128跟AT49BV6416应该都是nor FLASH吧。 |
11楼: | >>参与讨论 |
作者: teddeng 于 2006/3/29 23:34:00 发布:
哈,昨天刚想问这个问题 想想还是先看看资料,结果2410的手册上明白写着2410的NAND控制器可以自动LOAD 4K CODE到RAM,只是必须保证这4K FLASH 没坏块。 |
12楼: | >>参与讨论 |
作者: wx82614 于 2006/3/30 1:10:00 发布:
我使用的就是2410 原来是2410的NAND控制器起的作用,还是teddeng看得细致,我这菜鸟真得好好学习学习。如果使用NAND启动,也没法保证4K中一定没坏块啊,总不能一片一片焊上试吧。三星既然让2410支持NAND启动,肯定有它的办法,会不会三星自己生产的NAND上使用某种工艺保证启动用的4K没有坏块呢? |
13楼: | >>参与讨论 |
作者: wx82614 于 2006/3/30 1:20:00 发布:
[to wag]:我用的NAND和NOR型号 NAND:三星 K9F1208U0M NOR: AMD AM29LV800B * - 本贴最后修改时间:2006-3-30 1:31:08 修改者:wx82614 |
14楼: | >>参与讨论 |
作者: wx82614 于 2006/3/30 1:53:00 发布:
看了S3C2410的数据手册 原来是S3C2410上有一名为Steppingstone,大小为4KB的SDRAM,启动代码先从NAND FLASH中复制到Steppingstone,再从Steppingstone完成启动过程。NAND控制器中的ECC保证复制的过程不会读取坏块的数据。 S3C2410费了那么大劲来支持使用NAND启动,如果还用NOR来启动,真是浪费了,都对不起三星公司。我决定充分利用NAND控制器的功能,干脆不用NOR了,只用NAND。 |
15楼: | >>参与讨论 |
作者: devicegate 于 2006/3/30 7:09:00 发布:
2410的最大好处是NAND boot 要不怎么会那么多人用? 广州联智arm9 开发板 |
16楼: | >>参与讨论 |
作者: computer00 于 2006/3/30 9:36:00 发布:
有机会俺也去玩玩2410~~~~~~~~~~~ |
17楼: | >>参与讨论 |
作者: wx82614 于 2006/3/30 9:55:00 发布:
关于NAND中的坏块 NAND中的坏块在使用过程中会不会增加?如果坏块总是出现,存储在其中的数据岂不是很危险? |
18楼: | >>参与讨论 |
作者: centimetre 于 2006/3/30 10:17:00 发布:
当然坏块会增加 需要用软件算法来处理怀快管理 另外,可以看nand FLASH 手册,block0是保证出厂不是坏的,其他块就不保证了 |
19楼: | >>参与讨论 |
作者: teddeng 于 2006/3/30 19:08:00 发布:
to:wx82614 提醒下,在AUTOBOOT过程中ECC是不起作用的,也许centimetre说得有道理,BLOCK0必需保证出厂是好的。我想BOOT区几乎是不写的,应该几乎不存在使用中失效问题吧。 |
20楼: | >>参与讨论 |
作者: wujiarui 于 2006/3/30 21:59:00 发布:
对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 于 2006/4/1 9:38:00 发布:
谢谢各位,终于明白了,现在总结一下: 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 于 2009/9/4 11:24:38 发布:
新手啊,所有一切程序都应该copy到RAM里边运行,怎么可能在flash上运行!!!!!笑掉大牙。。。。。 |
23楼: | >>参与讨论 |
作者: 雨夜星魂 于 2010/12/15 21:57:51 发布:
从nor flash启动,代码可以直接在nor flash运行,并将代码复制到Sdram,从nand启动时,芯片会将nand第一个block的4k代码复制到内部ram,所以启动程序要实现nand读操作驱动程序,将代码从nand复制到sdram的相应位置,然后再跳转到那里运行。开发板做了支持nand启动设计的,就不需要nor flash启动 |
|
|
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入 |
Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号 |