TQ2440 学习笔记—— 7、NOR Flash 和 NAND Flash

非易失闪速存储器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中。

完成的任务:一上电,将NAND Flash 的前4K 复制到片内SRAM;然后关看门狗;初始化存储管理器,把代码拷到SDRAM继续执行。(韦东山 存储器管理实验)

你可能感兴趣的:(处理器【S3C2440】)