本文主要是介绍norflah、nandflash、emmc启动和区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、在讨论之前,先看下下面的问题,思考。
1、NOR Flash的特点
快闪存储器(英语:Flash Memory),是一种电子式可清除程序化只读存储器的形式,允许在操作中被多次擦或写的存储器。
NOR Flash需要很长的时间进行抹写,但是它提供完整的寻址与数据总线,并允许随机存取存储器上的任何区域,这使的它非常适合取代老式的ROM芯片。当时ROM芯片主要用来存储几乎不需更新的代码,NOR Flash可以忍受一万到一百万次抹写循环,它同时也是早期的可移除式快闪存储媒体的基础。
也是一种存储介质;它的存储空间一般比较小,但它可以不用初始化,可以在其内部运行程序,一般在其存储一些初始化内存的固件代码NOR Flash 的读取和我们常见的 SDRAM 的读取是类似,用户可以直接运行装载在 NOR FLASH 里面的代码,这样可以减少 SRAM 的容量从而节约成本。
2、NAND Flash的特点
Nand-flash存储器具有容量较大,改写速度快等优点,适用于大量数据的存储, 要在NandFlash上面读写数据,要外部加主控和电路设计。。NAND Flash具有较快的抹写时间, 而且每个存储单元的面积也较小,这让NAND Flash相较于NOR Flash具有较高的存储密度与较低的每比特成本。同时它的可抹除次数也高出NOR Flash十倍。然而NAND Flash 的I/O接口并没有随机存取外部地址总线,它必须以区块性的方式进行读取,NAND Flash典型的区块大小是数百至数千比特。
因为多数微处理器与微控制器要求字节等级的随机存取,所以NAND Flash不适合取代那些用以装载程序的ROM。从这样的角度看来,NAND Flash比较像光盘、硬盘这类的次级存储设备。NAND Flash非常适合用于储存卡之类的大量存储设备
3、eMMC的特点
eMMC (Embedded Multi Media Card) 为MMC协会所订立的,eMMC 相当于 NandFlash+主控IC ,对外的接口协议与SD、TF卡一样,eMMC的一个明显优势是在封装中集成了一个控制器,它提供标准接口并管理闪存,
eMMC由一个嵌入式存储解决方案组成,带有MMC(多媒体卡)接口、快闪存储器设备(Nand Flash)及主控制器,所有都在一个小型的BGA 封装。接口速度高达每秒52MBytes,eMMC具有快速、可升级的性能。
emmc说到底就是芯片化的nandflash,集成了很多小颗粒的nandflash,且不用复杂的操作nandflash。
4、总结:
相同点,都不用初始化,掉电不丢失数据
1、NOR的读速度比NAND稍快一些。
2、NAND的写入速度比NOR快很多。
3、NAND的4ms擦除速度远比NOR的5s快。
4、大多数写入操作需要先进行擦除操作。
5、NAND的擦除单元更小,相应的擦除电路更少。NAND flash和NOR flash的接口差别
6、NOR flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。
NAND器件使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同。8个引脚用来传送控制、地址和数据信息。NAND读和写操作采用512字节的块,这一点有点像硬盘管理此类操作,很自然地,基于NAND的存储器就可以取代硬盘或其他块设备。
用途:
在嵌入式设备中,没有硬盘,一般是用nandflash或emmc存储启动代码的,norflash作为启动介质,上电时,芯片内部irom启动程序,会读取nandflash或emmc里的BootLoader,到iram或norflash里运行(不同的芯片设计的启动方式不一样),有些设备开机时需要初始化的默认设置,比如电视,有默认的图像对比度,亮度,声音大小,等等很多参数,都是掉电不丢失的数据,放在norflash里,nandflash一般作为大数据存储介质,比如一些xml文件,图片文件,根文件系统,根文件系统镜像里包好移植库,应用程序,qt应用程序等大文件,一般超过200mb,所以只能放在nandflash里或emmc。
5、我的两种设备,启动方式,介质的设计
1、norflash,运行程序,emcc存boatload,kernel。
一般uboot,200kb,kernel,8MB,根据驱动的大小决定kernel的大小,根文件一般200mb,根据里面移植的库的大小,存放在镜像文件下的文件大小,决定根文件的大小,这个系统是通过加载emmc下的uboot,到norflash启动,引导emmc下的kernel和根文件系统,到内存。最后挂载根文件系统在emmc上,像访问硬盘的方式,存储读写文件。
2、norflash,运行程序,nand存boatload,kernel,filesystem
这篇关于norflah、nandflash、emmc启动和区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!