ROM, FLASH和RAM的区别_qingfeng_博客-CSDN博客_flash和ram——yr
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。 |