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中。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-09 10:39:59

TQ2440 学习笔记—— 7、NOR Flash 和 NAND Flash的相关文章

LCD实验学习笔记(七):NAND FLASH

s3c2440 CPU内置NAND FLASH控制器.相关寄存大器起始地址为0x4e000000. 通过设置NFCONF寄存器,设置NAND FLASH 时序. 通过设置NFCONT寄存器,使能NAND FLASH.初始化ECC等. 代码: #define GSTATUS1 (*(volatile unsigned int *)0x560000B0) //读此寄存器可以知道CPU芯片型号#define BUSY 1 #define NAND_SECTOR_SIZE_LP 2048 //大页每页2

nor flash 和nand flash 傻傻分不清楚

nor flash和nand flash区别 学习嵌入式有一段时间了,刚接触nor和nand时很是迷惑,非要逼我写一篇博客才能记清楚. 首先他们都是存储设备,统称叫做flash memory,导致他们存在差异的原因肯定是硬件上的差异了.//好似男人和女人,先有硬件的不同,才发展出来生理上的不同 导致性能和用途不同根本原因(硬件):组成存储单元的逻辑器件,nor采用与非门,nand采用或非门.其实所谓nor和nand是基于不同的制造技术,按字面,nor是与非门,nand是或非门,就是做IC时最小的

NOR FLASH与NAND FLASH的区别

NOR和NAND是现在市场上两种主要的非易失闪存技术.Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面.紧接着,1989年,东芝公司发表了NAND flash结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级.但是经过了十多年之后,仍然有相当多的硬件工程师分不清NOR 和NAND闪存. 相“flash存储器”经常可以与相“NOR存储器”互换使用.许多业内人士也搞不清楚NAND闪存技术相对于NOR技术的优越之处,

NOR FLASH和NAND FLASH基本结构和特点

非易失性存储元件有很多种,如EPROM.EEPROM.NOR FLASH和NAND FLASH,前两者已经基本被淘汰了,因此我仅关注后两者,本文对FLASH的基本存储单元结构.写操作.擦除操作和读操作的技术进行了简单介绍,对了NOR和NAND由存储结构决定的特性和应用场合的差异,对后续的硬件设计和驱动编程起到铺垫作用. 1 FLASH基本存储单元---浮栅场效应管 NOR FLASH和NAND FLASH都是使用浮栅场效应管(Floating Gate FET)作为基本存储单元来存储数据的,浮栅

u-boot分析(九)----nand flash初始化|nand flash读写分析

u-boot分析(九) 上篇博文我们按照210的启动流程,分析到了初始化串口,由于接下来的取消存储保护不是很重要,所以我们今天按照u-boot的启动流程对nand flash初始化进行分析. 今天我们会用到的文档: 1.        2440芯片手册:http://download.csdn.net/detail/wrjvszq/8358949 2.        6410芯片手册:http://download.csdn.net/detail/wrjvszq/8358965 3.      

nor flash和nand flash的区别

NOR和NAND是现在市场上两种主要的非易失闪存技术.Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面.紧接着,1989年,东芝公司发表了NAND flash结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级.一.存储数据的原理两种闪存都是用三端器件作为存储单元,分别为源极.漏极和栅极,与场效应管的工作原理相同,主要是利用电场的效应来控制源极与漏极之间的通断,栅极的电流消耗极小,不同的是场效应管为单栅极结构,而

备忘:SDRAM、NOR Flash、NAND Flash等几个常见的术语辨析

2015/4/14更新 SDRAM:掉电后不保存数据,运行时需要动态刷新.读取速度比Flash快,适合启动后的程序执行,使用前需要初始化.主要用于程序执行时的程序存储.执行或计算,类似PC的内存. NOR Flash:掉电保存数据/程序.可以直接执行指令,读取速度较快,写入不太方便,擦除速度较慢.适合小容量的程序或数据存储,类似小硬盘,,相当于电脑的BIOS.NAND Flash:掉电保存数据/程序.读取速度比NOR Flash略快,但写入.擦除都较快.可靠性略低,需要做损耗平衡.数据校验等.适

NOR flash和NAND flash区别,RAM 和ROM区别d

ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写.ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存. RAM有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲.另一种称为动态RAM(Dynamic RAM/D

TQ2440学习笔记——Linux上I2C驱动的两种实现方法(1)

作者:彭东林 邮箱:[email protected] 内核版本:Linux-3.14 u-boot版本:U-Boot 2015.04 硬件:TQ2440 (NorFlash:2M   NandFlash:256M  内存:64M) 摘要 这里并不深入分析Linux下I2C驱动的实现,只是以TQ2440硬件平台为例分析I2C驱动的两种方法. 第一种方法: 使用S3C2440自带的I2C控制器实现,这个kernel已经支持,我们只需要配置即可. 第二种方法: 使用GPIO模拟,这个在kernel中