0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单片机中有FLASH为啥还需要EEROM?

淘晶驰串口屏 2026-03-05 13:39 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

单片机里明明有FLASH,为啥还要再塞个EEPROM?不少刚接触嵌入式的小伙伴估计都有过这样的疑惑:FLASH能存程序,容量大,读取又快,干嘛还要加个读写慢、容量小的EEPROM?这不是多此一举嘛。其实,这俩兄弟各有所长,分工明确,就像你电脑里的固态硬盘和内存条,谁也替不了谁。

咱们先从最常用的场景说起。单片机里的FLASH,主要职责是“藏经阁”——存放程序代码。你想啊,你给单片机下载的程序,正常情况下是不是一辈子都不会变?上电就跑,跑完就停,下次上电还是那段代码。FLASH读起来确实快,但写入就费劲了,得按块擦除,一擦就是一整片,还不能单独改某个字节。这就好比你要改书里的一个字,得把整页撕掉重写,多麻烦。所以程序放FLASH里最合适,稳定、读取快,还不用老改动。

可程序跑起来总得记点啥吧?比如你玩游戏打到哪一关了、设置的温度阈值是多少、设备的序列号是啥——这些数据得在掉电后还能记住,而且经常要改。这时候EEPROM就闪亮登场了。它最大的优点就是能按字节读写,想改哪个字节就改哪个,不用动邻居。虽然读写速度慢点,但存个档、改个配置,谁在乎那几微秒呢?就像你玩游戏,读存档的时候等一小会儿无所谓,但要是游戏本身运行卡顿,那就没法玩了。所以EEPROM天生就是干这种“经常改、量不大”的活儿的。

还有个细节容易忽略:可靠性。EEPROM虽然是独立的区块,但硬件这东西,谁也不敢保证它永远不坏。万一哪天EEPROM全盘损坏了,你的设备难道就直接罢工了吗?好的程序设计会考虑到这一点:即使EEPROM废了,程序照样能跑,只是没法存档而已——顶多每次开机都是初始状态,总比变砖强。FLASH存着核心程序,一般不会轻易动它,所以可靠性更高。

当然,技术总是在进步的。现在有些单片机性能比较强悍,比如GD32的一些型号,它的FLASH支持在线擦写,而且擦写次数也提升了,甚至可以把一部分FLASH空间模拟成EEPROM用,这样就能省掉外挂的EEPROM芯片,降低成本。但即便这样,很多场合还是得老老实实加独立的EEPROM,因为FLASH的擦写寿命通常比EEPROM短(EEPROM可达百万次,FLASH一般万次左右),而且万一模拟过程中断电,数据可能就丢了。

所以说,FLASH和EEPROM在单片机里是各司其职的好搭档。一个负责“读书”,一个负责“记笔记”。除非哪天FLASH的性能强到能完美兼顾两者,不然它们还得继续搭伙过日子。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6078

    文章

    45643

    浏览量

    676153
  • 嵌入式
    +关注

    关注

    5212

    文章

    20811

    浏览量

    339268
  • FlaSh
    +关注

    关注

    10

    文章

    1764

    浏览量

    156258
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    STM32单片机的启动文件及FLASH分配

    时,这个地址会自动根据Hex文件解析出来。然而如果当你烧写二进制Bin文件时,还需要手动将单片机的起始地址制定出来,关于Hex文件和Bin文件的异同点,这个又是可以长篇大论一番了,我们下次特别写文章来讲。
    发表于 01-11 17:24 7186次阅读
    STM32<b class='flag-5'>单片机</b>的启动文件及<b class='flag-5'>FLASH</b>分配

    单片机还需要学汇编吗

    单片机还需要学汇编吗
    发表于 07-14 19:49

    传统单片机开发转到嵌入式ARM产品开发还需要补什么课?

    米尔的工程师您好,我想请问一下,如果我从一名传统单片机开发工程师转而使用嵌入式ARM来做产品,还需要做些什么功课呢?就是说如何重新构建新的知识体系使自己可以轻松过渡到嵌入ARM平台的应用,软件和硬件必要知识还有些什么?请多指教了!
    发表于 11-06 10:19

    stm32单片机IO口设置成推挽输出,还需要外接上拉电阻吗?

    stm32单片机IO口设置成推挽输出,还需要外接上拉电阻吗?
    发表于 06-26 16:28

    为什么nand flash读取以页为单位还需要列页内偏移地址

    nand flash读取以页为单位,那为什么还需要列地址
    发表于 10-23 09:44

    请问InitSysctrl中有memcpy和initFlash是否还需要在程序写memcpy和iniFlash?

    cpu1和cpu2中InitSysctrl中有memcpy和 initFlash脱机的时候是否还需要再在main()中写memcpy和iniFlash??
    发表于 12-05 11:16

    单片机有锁存为什么还需要while循环

    单片机有锁存为啥还需要while循环简单的说就是:为了保证程序的可靠性,或者叫健壮性;如果我输出了零,那么就一直是零,但是为了保证程序的可靠性,或者叫健壮性,应该重复输出0,使用while循环就是
    发表于 07-13 09:51

    请问一下单片机有锁存为啥还需要while循环?

    请问一下单片机有锁存为啥还需要while循环?
    发表于 09-26 07:52

    用热敏电阻测温时候还需要放大电路吗?

    单片机ADC采样这个热敏电阻的温度还需要放大电路吗
    发表于 10-13 07:44

    需要对数据进行浮点运算、还需要保存超低功耗,用什么单片机比较好?

    需要对数据进行浮点运算、还需要保存超低功耗,用什么单片机比较好?
    发表于 10-20 06:48

    基于Flash单片机原理及应用

    基于Flash单片机原理及应用
    发表于 09-22 13:33 15次下载
    基于<b class='flag-5'>Flash</b><b class='flag-5'>单片机</b>原理及应用

    单片机编程软件有哪些

    单片机作为现代智能电子产品的核心元器件,具备可编程的特性,产品想要实现某些功能,除了设计电路之外,还需要带有程序的单片机单片机编程就是单片机
    的头像 发表于 09-23 10:51 1.9w次阅读

    单片机开发零基础可不行,还需掌握这些知识点

    单片机开发很多人都说零基础也可以做,但会非常难。想要顺利入门,那么大家还需要有一定的基础,掌握一些必备的知识点、那今天通程创品就来给大家分享单片机开发中需要用到的知识点。
    的头像 发表于 02-17 15:43 3126次阅读

    单片机为何需要Flash和EEPROM?它们有何作用?

    单片机为何需要Flash和EEPROM?它们有何作用? 单片机是一种集成电路,具有处理器核心、内存和外设等功能,通常用于嵌入式系统中。Flash
    的头像 发表于 01-18 11:43 6456次阅读

    8位单片机为何不会过时?

    对于8位单片机来说,由于其主要处理8位数据,所以其“字”的长度可能也是8位,但这并不是绝对的,还需要具体看单片机的设计。
    的头像 发表于 03-20 16:29 3697次阅读