专注于嵌入式和图像处理
分类: 嵌入式
2011-11-02 17:27:57
嵌入式存储系统由高速缓存区、主存储器和辅助存储器组成。
高速缓存区:由小型、快速的静态存储器(SRAM)组成,它保存部分主存储器内容的拷贝,用来减少微处理器访问主存储器的所花的时间。
主存储器:采用存储密度较大的同步动态存储器(SDRAM),用来存放即将被微处理器执行的程序和数据。
辅助存储器:一般使用闪速存储器(Flash),用来存放程序和数据。
NOR Flash:采用的并行接口,其特点读取的速度比NAND Flash快很多倍,其程序可以直接在NOR Flash里面运行,无需复制到内存中。但是它的擦除速度比较慢,集成度低,成本高的。现在的NOR Flash的容量一般在2M左右,一般是用在代码量小的嵌入式产品方面。
NAND Flash:采用的是串行的接口,CPU从里面读取数据的速度很慢,所以一般用NAND Flash做闪存的话就必须把NAND Flash里面的数据先读到内存里面,然后CPU才能够执行。它的集成度很高,擦除速度也的NOR要快,所以成本很低。NAND Flash一般是用在那些要跑大型的操作系统的嵌入式产品上面,比如LINUX、WINCE。NOR Flash可是可以跑,可以把LINUX操作系统剪裁到2M以内,一个产品难道只去跑系统吗?用户的应用程序呢? 其实很多时候,一个嵌入式产品里面,操作系统占的存储空间只是一小部分,大部分都是给用户跑应用程序的。S3C241X,S3C2440等支持外部NAND Flash启动,启动代码存在NAND Flash中,而其内专门配置了一块SRAM缓存用于支持NAND Flash启动,在启动时,NAND Flash中前4KB代码被加载到SRAM缓存中并被执行。所以S3C241X,S3C2440的SRAM的大小一般为4KB(用来存启动代码)。启动代码将NAND Flash中的其他程序代码拷贝到SDRAM中执行。