注:本文网上查的几份资料整理而成

 

 

FLASH:存储单片机运行的程序,表格数据等可以擦出写入但是基本都是整个扇区进行的。
SRAM:存储单片机运行过程中产生的了临时数据,从新上电数据丢失 ;一般容量较小,几十KB到几MB大小,可做CPU缓存。
EEPROM分串行和并行两种。视用户的需要而定,一般用来存储系统的一些参数,这些参数可能需要修改,也可能不会修改, 从新上电仍存在的数据。 存储当前工作状态。例:电视机中用户改了音量值之后,这个值就是保存在这里的,当再次开机时,系统就会先把这个值读到然后音量设置到关机前的状态,当用户再次更改音量时,这个值会被重新改写。

SRAM是英文Static RAM的缩写,它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。

DRAMDynamic Random Access Memory)每隔一段时间,要刷新充电一次,否则内部的数据即会消失,因此SRAM具有较高的性能,但是SRAM也有它的缺点,即它的集成度较低,相同 容量的DRAM内存可以设计为较小的体积,但是SRAM却需要很大的体积,所以在主板上SRAM存储器要占用一部分面积。

FLASHEEPROM的最大区别是FLASH按块(BLOCK)操作,EEPROM则按字节操作,二者寻址方法不同,存储单元的结构也不同,FLASH的电路结构较简单,同样容量占芯片面积较小,成本自然比EEPROM低,因而适合用作程序存储器,EEPROM则更多的用作非易失的数据存储器。当然用FLASH做数据存储器也行,但操作比EEPROM麻烦的多,所以更人性化MCU设计会集成FLASHEEPROM两种非易失性存储器,而廉价型设计往往只有FLASH,早期可电擦写型MCU则都是EEPRM结构,现在已基本上停产了。一般来说eeprom中存放开机是用到的参数,不可丢失的变量等,而FLASH中会存放程序,记录文件等。

例:你用的FLASHBLOCK512个字节(不同的FLASH大小不同),那么只有擦除过(所有位写“1”)的BLOCK才能重新写入,意思就是只能从“1”写到“0”,如果要从“0”改到“1”必须整块擦除,而且擦除时的速度相对写入和读出要慢很多FLASH主要用于程序存储。EEPROM;可以单字节操作,没有块擦除的要求。相对FLASH更为灵活。当用来保存设备工作状态,等灵活而又独立的信息时最好用EEPROM