MCU中的数据储存器类型 | 全称或别名 | 特点 | 断电后 | 区别 | 结构特点 | 作用 | 备注 | ||
ROM 的四种类型
| 一次写入不可擦除 | ROM | Read Only Memory 固化存储器 | 只读事先所存数据 | 不消失(一次写入,反复读取) |
| 固态半导体存储器,结构简单 | 存储各种固化程序和数据 | 在单片机中用来存储程序数据及常量数据或变量数据,凡是c文件及h文件中所有代码、全局变量、局部变量、‘const’限定符定义的常量数据、startup.asm文件中的代码(类似ARM中的bootloader或者X86中的BIOS,一些低端的单片机是没有这个的)通通都存储在ROM中。 |
多次写入不可擦除 | PROM | 可编程只读存储器 |
| 不丢 |
|
|
|
| |
光擦除 | EPROM | 可擦除可编程只读存储器 | 要用紫外线长时间照射才能擦除 | 不丢 |
|
|
|
| |
电擦除 | EEPROM | 电可擦除可编程只读存储器 | 集成度不高、价格较贵 | 不丢 | 按照字节操作 |
|
|
| |
FLASH | 闪存,快闪 | 集成度高、功耗低、体积小,又能在线快速擦除 | 不丢失数据 | 按扇区(block)操作 | 电路结构较简单,同样容量占芯片面积较小 | 存储用户程序和需要永久保存的数据。做程序存储器 | 它是EEPROM的一种。它结合了ROM和RAM的长处。 | ||
RAM | Random Access Memory 随机存取存储器 | 存储单元的内容可按照需要随机取出或存入,且存取的速度与存储单元的位置无关 | 丢失(易挥发性,即掉电失忆) |
|
| 存放数据。存储短时间使用的程序 | 它主要用来存储程序中用到的变量。凡是整个程序中,所用到的需要被改写的量(包括全局变量、局部变量、堆栈段等),都存储在RAM中。 | ||
譬如说,现在家用的电子式电度表, 它的内核是一款单片机,该单片机的程序就是存放在ROM里的。 电度表在工作过程中,是要运算数据的,要采集电压和电流,并根据电压和电流计算出电度来。电压和电流时一个适时的数据,用户不关心,它只是用来计算电度用,计算完后该次采集的数据就用完了,然后再采集下一次,因此这些值就没必要永久存储,就把它放在RAM里边。 然而计算完的电度,是需要永久保存的,单片机会定时或者在停电的瞬间将电度数存入到FLASH。 |