单片机中的FLASH和EEPROM有啥区别?怎么选?

这是一片真正为「终结懵逼」而生的回答。

看完如果还不懂,那就多看几遍…

以前我做项目,有时用Flash,有时用EEPROM,搞得我有点懵逼。

然后在网上搜了一些资料,看完以后还是不能理解透彻,直到项目做多了,才彻底搞懂。

 

Flash和EEPROM都是非易失性存储器,就是你设备掉电重启后,数据还会保留,如果是RAM的话掉电数据直接就丢了。

 

下面从几个方面去介绍下Flash和EEPROM的区别:

 

1.读取方式

Flash和EEPROM都采用随机读取,可以通过地址直接访问存储器中的数据。

 

2.写入方式

Flash和EEPROM的写入方式不一样,EEPROM可以按字节进行写入,而Flash通常需要按块进行写入。

还有就是,在Flash中,要写入一个数据,需要先擦除一整个块,然后再将新数据写入该块。

 

3.擦除方式

Flash和EEPROM的擦除方式不一样,EEPROM可以按字节进行擦除,而Flash一般需要按块进行擦除。

也就是说,在Flash中,要擦除一个数据,通常需要先擦除一整个块,然后再将该块中需要保留的数据重新写入,比EEPROM操作麻烦一些。

 

4.擦写速度

EEPROM的擦写速度比Flash慢得多,擦写速度会受到许多因素的影响,包括使用的存储器型号、使用的接口类型、写入和擦除的数据量、芯片温度等等。

 

5.存储密度

Flash比EEPROM的存储密度更高,可以存储更多的数据。

 

6.寿命

Flash和EEPROM的寿命长短取决使用方式、应用场景等等。

一般来说,EEPROM的寿命可能会更长一些,因为它可以进行单独的字节单位的写入和擦除,而Flash需要进行整个页面或扇区的擦除。

这意味着EEPROM可以更灵活地管理存储器,并减少对存储单元的擦写次数。

但是,这并不意味着所有情况下EEPROM的寿命都会更长。

 

7.价格

Flash比EEPROM更便宜。

 

8.通讯接口不同

Flash很多是用SPI协议接口、EEPROM很多是IIC协议接口。

 

9.数据保护方式

Flash具有硬件和软件保护功能,而EEPROM只有软件保护功能。

 

最后总结:

Flash更适合存储代码和常量,就是不需要频繁更新、数据量大的场景,比如说音频数据、图片数据、程序等等

EEPROM适合存储需要频繁更新数据、数据量小的场景,比如系统参数配置等等

 

还有一个坑之前碰到过,有些工程师为了节省成本,会节省EEPROM,用单片机的Flash去存储掉电数据,有时候会把程序给搞掉,所以建议不要这样用。

给TA买糖
共{{data.count}}人
人已赞赏
单片机百科

微机原理有哪些书籍推荐?

2023-2-21 10:59:03

单片机百科

嵌入式软件去哪个公司好?大公司和小公司怎么选?

2023-2-21 11:14:47

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧