非易失闪速存储器Flash 具有速度快、成本低、密度大的特点。
Flash 存储器主要有 NOR Flash 和 NAND Flash两种类型,总的来说, NOR 型比较适合存储程序代码,NAND 型则可用做大容量数据存储。
1、NOR 型 Flash 存储器
NOR Flash 技术是由Intel 公司于1988年首先开发,它的出现彻底改变了原先由EPROM和EEPROM一统天下的局面。
NOR 的特点是芯片内执行(XIP,eXecute In Place),这样应用程序就可以直接在Flash 闪存内运行,不必再把代码读到系统的RAM中。NOR 的传输效率很高,但写入速度与擦除速度很低。NOR Flash 就是一个掉电后也不会丢失数据的SRAM。
2、NAND 型 Flash 存储器
NAND Flash 是当今市场上最主要的非易失大容量闪存。1989年,东芝公司发表了NAND flash结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。
NAND 结构能提供极高的存储密度,并且写入和擦除速度也很快。NAND Flash 具有非易失性、电可擦除性、可重复编程以及高密度、低功耗等特点。
3、NOR Flash 和 NAND Flash 的对比
NOR Flash | NAND Flash |
接口时序同SRAM,易使用 | 地址/数据线复用,数据位较窄 |
读取速度快 | 读取速度较慢 |
擦除速度慢,以64~128KB的块为单位 | 擦除速度快,以8~32KB的块为单位 |
写入速度慢(因为一般要先擦除) | 写入速度快 |
随机存取速度较快,支持XIP,适合代码存储。在嵌入式系统中,常用于存放引导程序\根文件系统等 | 顺序读取速度快,随机存取速度慢,适用于数据存储。在嵌入式系统中,常用于存放文件系统等 |
单片容量较小,1~32MB | 单片容量较大8~128MB,提高了单元密度 |
最大擦写次数10万次 | 最大擦写次数100-1000万次 |
如果需要在NAND器件上运行代码,需要驱动程序的支持。在Linux下也就是内存技术驱动程序MTD
4、TQ2440 NOR Flash 和 NAND Flash 启动
开发板在裸机的情况下就是相当于直接操作单片机,没有操作系统,变成操作系统需要分别烧入:引导程序bootloader、内核kernel、文件系统。
bootloader 是引导CPU从哪里开始运行的,它的启动过程分为两个阶段。
NOR Flash 启动过程
代码运行从0x0000 0000开始,从NOR Flash 启动时,0x0000
0000这个地址就映射在 NOR Flash 上,所以CPU 可以直接从 NOR Flash 开始运行。一般bootloader 这段代码存放在NOR Flash 上。
NAND Flash 启动过程
NAND Flash 控制器自动把 NAND
Flash 存储器前的 4K 载到Stepping stone (内部SRAM缓冲器),并把0x0000 0000 设置为SRAM 的起始地址,CPU从内部SRAM 的0x0000
0000开始启动,这个过程不需要程序干涉。
NANDFlash控制器
NANDFlash控制器自动把nandflash存储器的前4K载到Steppingstone(内部SRAM缓冲器),并把0x00000000S设置为内部SRAM的起始地址,cpu从内部SRAM的0x00000000开始启动,这个过程不需要程序干涉。程序员需要完成的工作就是将最核心的代码放在NAND
Flash 的前4K 中。4K代码要完成S3C2440 的核心配置以及启动代码的剩余部分拷贝到SRAM中。
版权声明:本文为博主原创文章,未经博主允许不得转载。