首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

S3C2440 flash 分区 nor nand FLASH区别(2)

S3C2440 flash 分区 nor nand FLASH区别(2)

从这里可以看到各分区的地址 也可以自己修改
如果从nor 或者 nand 启动 就可以 将相应的内容下载到相应地址 启动 定好地址 就OK
分区还要注意:

//////////////////////////////////////////////////////////////////////////
启动代码是系统上电或者复位后运行的第一段代码 他的作用是在用户程序运行之前 对系统的硬件与软件运行环境进行必要的初始化并在最后使程序跳转到用户程序 他直接面对ARM处理器内核以及硬件控制器进行编程
S3C2440 支持从 NOR flash 或者 NAND Flash中启动
NOR Flash 的特点是 程序可以直接在芯片内执行 不必将程序读取到RAM中运行 NOR FLASH虽有这个优点但是它的性价比远低于NAND FLASH  因为很多系统选择从NAND FLASH 启动,从NANDFLASH中启动需要先把程序拷贝到RAM中去运行
NOR FLASH启动: NOR FLASH --》映射到 nGCD0 其地址被映射为0x00000000
NAND_FLASH启动:S3C2440内部自带一块容量为4K的bootSRAM(叫做起步阶石“Steppingstone”)映射到nGCS0其地址被映射为0x00000000
但系统上电或启动后 程序会从0地址处开始执行 因此我们需要把启动代码放在0地址处
NOR FLASH启动:程序可以在FLASH芯片中 直接被CPU执行 没有什么太多说的了
NAND FLASH启动:上电或复位后 0地址处为bootSRAM 启动前他里面是空的 启动后S3C2440先通过硬件机制将NANDFLASH的前4K内容拷贝他里面去  然后再从0地址处开始执行在这种情况下我们需要保证将启动代码存放在NANDFLASH开始的位置 并且启动代码的大小要小于4K
如果系统的所有程序 编译链接后大小小于4K 那么系统的启动代码中无需考虑将程序从NANDFLASH 搬运到SDRAM中去执行这个问题  因为所有的程序在启动时既全部由NANDFLASH拷贝到了bootSRAM中执行了
如果系统中所编的程序编译后大于4K那么系统的启动代码中需要包含一段将系统的全部程序从NANDFLASH 搬运到SDRAM的代码
系统启动时 只将NANDFLASH 的前4K 拷贝到了BootSRAM中,还有部分程序保存在NAND FLASH中 是无法内执行的所以前4K被拷贝到BootSRAM中需要有能将程序拷贝到SDRAM中的代码
因此从NAND FLASH中启动 牵涉到两次拷贝
1:nandflash前4K --> BootSAM 自动 无需人为干扰
2:从nandflash中搬运系统到SDRAM 需要程序员 控制
//////////////////////////////////////////////////////////////////////
我们的开发板上有两种FLASH芯片 NorFlash(下面简称Nor)  NandFlash(下面简称Nand)
我买的开发板上面的norflash型号是AM29LV160DB(AMD) 2M大小 nandflash型号是K9F2G08U0B 256M
/////////////////////////////////////////////////////////////////
硬盘 结构 容量 方面知识
硬盘的分类 一般有 SCSI IDE  SATA
一种硬盘的生产 同时伴随着一定的标准出现 生产技术升级伴随着生产标准升级
SCSI标准-->SCSI1 SCSI2 SCSI3经常在服务器网站看到的Ultral-160就是基于SCSI-3标准的
IDE标准--> 遵循的是ATA标准  IDE是并口设备
SATA-->ATA标准的升级 SATA是串口设备 SATA发展就是为了替换IDE
硬盘的物理结构是由盘 磁盘表面(heads 一般一个磁盘面就有一个读取磁盘的磁头 所以为heads)
柱面(cylinders) 扇区 组成 最外面的柱面为0柱面 柱面数目等于磁道的数目
硬盘体积换算公式是:heads X cylinders X 扇区个数 X 扇区大小512字节 =磁盘体积(字节bytes)
其中硬盘在计算容量时  是以10进制来换算的 也就是 而操作系统中是以2进制来换算大小的
80000000 bytes = 80000 K = 80M (向大单位换算,每次除以1000)
硬盘分区情况
硬盘的分区是由主分区  扩展分区 逻辑分区 组成
硬盘分区的主分区(包括扩展分区)最多是4个,分区表最大就能划分出这么多的分区,在扩展分区中可以划分逻辑分区),其中一个可以设为活动分区,引导记录从这个活动分区中来启动操作系统....
[主|分区1] [主|分区2] [主|分区3] [扩展分区]                                                            |
                                 [逻辑|分区5] [逻辑|分区6] [逻辑|分区7] [逻辑|分区8] ... ...[主|分区1] [主|分区2] [扩展分区]                                          |
                [逻辑|分区5] [逻辑|分区6] [逻辑|分区7] [逻辑|分区8] ... ... [主|分区1] [扩展分区]                        |
           [逻辑|分区5] [逻辑|分区6] [逻辑|分区7] [逻辑|分区////////////////////////////////////////////
FLASH的结构
flash芯片的种类有好几类 一般有基于nor 和 nand
nor flash 有地址线 与数据线 这样存储在norflash里面的代码 可以直接在norflash中执行而不需要拷贝到RAM中去 而nandflash 是没有地址线的 他有专门的控制接口与CPU相连 这样的话 要读取他里面的内容就需要经过相关的时序控制,他里面的代码就要拷贝到RAM中才能执行,但即使这样他的速度也不慢我们的SD卡等都是nandflash制作成的 因此要读取nandflash里面的内容 就还得需要nandflash的专门的驱动程序来读取
nor flash 有可在芯片执行的特点 可是他的成本比nandflash贵 也就是容量比较大时nandflash相对偏移很多
nandflash强调每bit的低存储成本

NOR和NAND是现在市场上两种主要的非易失闪存技术。Intel于1988年首先开发出NORflash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。紧接着,1989年,东芝公司发表了NANDflash结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。

NOR的传输效率很高,在1~4MB的小容量时具有很高的成 本效益,但是很低的写入和擦除速度大大影响了它的性能。  NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NAND的困难在于flash的管理需要特殊的系统接口。
flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。NAND器件执行擦除操作是十分简单的,而NOR则要求在进行擦除前先要将目标块内所有的位都写为0。由于擦除NOR器件时是以64~128KB的块进行的,执行一个写入/擦除操作的时间为5s,与此相反,擦除NAND器件是以8~32KB的块进行的,执行相同的操作最多只需要4ms。  执行擦除时块尺寸的不同进一步拉大了NOR和NADN之间的性能差距,统计表明,对于给定的一套写入操作(尤其是更新小文件时),更多的擦除操作必须在基于NOR的单元中进行。这样,当选择存储解决方案时,设计师必须权衡以下的各项因素。  
l NOR的读速度比NAND稍快一些。   
2 NAND的写入速度比NOR快很多。   
3 NAND的4ms擦除速度远比NOR的5s快。   
4 大多数写入操作需要先进行擦除操作。   
5 NAND的擦除单元更小,相应的擦除电路更少。接口差别NOR flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。  NAND器件使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同。8个引脚用来传送控制、地址和数据信息。  NAND读和写操作采用512字节的块,这一点有点像硬盘管理此类操作,很自然地,基于NAND的存储器就可以取代硬盘或其他块设备。容量和成本NANDflash的单元尺寸几乎是NOR器件的一半,由于生产过程更为简单,NAND结构可以在给定的模具尺寸内提供更高的容量,也就相应地降低了价格。  NOR flash占据了容量为1~16MB闪存市场的大部分,而NANDflash只是用在8~128MB的产品当中,这也说明NOR主要应用在代码存储介质中,NAND适合于数据存储,NAND在CompactFlash、Secure Digital、PC Cards和MMC(多媒体存储卡Multi Media Card)存储卡市场上所占份额最大。可靠性和耐用性采用flash介质时一个需要重点考虑的问题是可靠性。对于需要扩展MTBF(平均故障间隔时间Mean Time BetweenFailures)的系统来说,Flash是非常合适的存储方案。可以从寿命(耐用性)、位交换和坏块处理三个方面来比较NOR和NAND的可靠性。  寿命(耐用性)  在NAND闪存中每个块的最大擦写次数是一百万次,而NOR的擦写次数是十万次。NAND存储器除了具有10比1的块擦除周期优势,典型的NAND块尺寸要比NOR器件小8倍,每个NAND存储器块在给定的时间内的删除次数要少一些位交换所有flash器件都受位交换现象的困扰。在某些情况下(很少见,NAND发生的次数要比NOR多),一个比特位会发生反转或被报告反转了。  一位的变化可能不很明显,但是如果发生在一个关键文件上,这个小小的故障可能导致系统停机。如果只是报告有问题,多读几次就可能解决了。  当然,如果这个位真的改变了,就必须采用错误探测/错误更正(EDC/ECC)算法。位反转的问题更多见于NAND闪存,NAND的供应商建议使用NAND闪存的时候,同时使用EDC/ECC算法。  这个问题对于用NAND存储多媒体信息时倒不是致命的。当然,如果用本地存储设备来存储操作系统、配置文件或其他敏感信息时,必须使用EDC/ECC系统以确保可靠性。坏块处理NAND器件中的坏块是随机分布的。以前也曾有过消除坏块的努力,但发现成品率太低,代价太高,根本不划算。  NAND器件需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用。在已制成的器件中,如果通过可靠的方法不能进行这项处理,将导致高故障率。易于使用可以非常直接地使用基于NOR的闪存,可以像其他存储器那样连接,并可以在上面直接运行代码。  由于需要I/O接口,NAND要复杂得多。各种NAND器件的存取方法因厂家而异。  在使用NAND器件时,必须先写入驱动程序,才能继续执行其他操作。向NAND器件写入信息需要相当的技巧,因为设计师绝不能向坏块写入,这就意味着在NAND器件上自始至终都必须进行虚拟映射。软件支持当讨论软件支持的时候,应该区别基本的读/写/擦操作和高一级的用于磁盘仿真和闪存管理算法的软件,包括性能优化。  在NOR器件上运行代码不需要任何的软件支持,在NAND器件上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD),NAND和NOR器件在进行写入和擦除操作时都需要MTD(MemoryTechnology Devices)。   使用NOR器件时所需要的MTD要相对少一些,许多厂商都提供用于NOR器件的更高级软件,这其中包括M-System的TrueFFS驱动,该驱动被Wind River System、Microsoft、QNX SoftwareSystem、Symbian和Intel等厂商所采用。  驱动还用于对DiskOnChip产品进行仿真和NAND闪存的管理,包括纠错、坏块处理和损耗平衡
继承事业,薪火相传
返回列表