简单地总结以下嵌入式系统的主要存储类型和方式
目前市面上不管是从最简单的嵌入式控制器或是到最复杂的ECU, 大多数的参数都涵盖以下的产品参数:
- Flash memory
- SRAM
- EEPROM
存储器从分类上看,主要分为以下两种:
-
Program memory - Non-volatile.
Program memory 主要是存储嵌入式程序或者是标定,所以必须是可擦的non-volatile -
Data memory - 可以是volatile 或者non-volatile
相比于program memory, data memory 主要是存储一些可变参数(adaptation parameters)还有诊断参数(diagnostic parameters),所以既可以是volatile,也可以是non-volatile.
所以下图标识了三种常见的存储单元所对应的存储模式。
从ROM到EEPROM的发展来看,一共经历了一下4个步骤,从只读的ROM 到可以多次电擦洗的EEPROM.
从上图可以看出EEPROM 和 Flash都是non-volatile的。那为什么EEPROM多用来做data memory, 而Flash多用来做program memory呢?
原因很简单,Flash其实可以定义为是EEPROM的一种。 EEPROM 可以按字节erase和program, 而Flash可以一个block一个block的erase和program.
Flash memory 密度更大,在有限的体积下可以提供更大的容量。读写速度快, 可烧写次数相比EEPROM要少很多(10K to 100K) 。EEPROM可以达到烧写300K。