找回密码
 立即注册
查看: 2867|回复: 39

STC的IAP-FLASH为何称为EEPROM

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:417
  • 最近打卡:2025-04-30 21:39:09
已绑定手机

34

主题

2096

回帖

2206

积分

荣誉版主

积分
2206
发表于 2024-3-22 11:46:36 | 显示全部楼层 |阅读模式
本帖最后由 晓飛飛 于 2024-4-7 11:45 编辑

今天聊聊这个比较古老而又敏感的话题,STC芯片手册中,明确描述STC单片机是利用ISP/IAP技术将内部Data Flash当EEPROM,擦写次数唉10万次以上,扇区尺寸为512字节。

众所周知,FLASH和EEPROM的最大区别是FLASH按扇区擦除操作,EEPROM则按字节改写操作。FLASH存储器的发明时间和商用时间均比EEPROM晚,FLASH存储器是在EEPROM的基础上,去除了储存单元里面的选择Tansister,简化了寻址结构而来,因此只能按扇区或Page操作。
   EEPROM结构    FLASH结构
111.png        222.png
从操作方式、存储密度、成本各方面来说,FLASH和EEPROM的区别是非常大的。那么,STC为什么将FLASH存储器称为EEPROM?
FLASH存储器当然可以当成EEPROM,那是因为FLASH本来的名字叫做FLASH EEPROM,属于EEPROM的一个分支,EEPROM的全称是“电可擦除可编程只读存储器”,FLASH存储器是符合这个特征的。只是随着FLASH存储器独立做大,远超了传统EEPROM,所以从狭义上我们单独称为FLASH存储器或闪存。
从这个概念来说,STC把MCU内部FLASH存储器称为EEPROM虽然有偷换概念的嫌疑,但也算讲的过去。


由于STC的EEPROM的真身是FLASH存储器,因此,以下一些应用特点都是需要注意的:
  • 存储其中的0写为1必须先擦后写,不能直接覆盖,擦除扇区大小为512字节,
  • 擦或写存储区时,需要暂时关闭中断
  • 例如,想对N多页数据中同时只改写每页中某个字节时,效率相对低下
  • 改写某一页的某个字节至少需要开销512字节的XRAM用于临时存放镜像,对于RAM资源紧缺的型号是有一定困难的;
  • 官方手册中特别提示“在工作电压偏低时,建议不要进行EEPROM操作,以免发数据丢失的情况”,但具体偏低到多少没有明确给出数据,因此存在不可靠风险,企图做掉电保存的童鞋一定要从单片机LDO前端,甚至从是更靠前级的电源捕获掉电事件,争取更多的供电稳定期来操作存储器
  • 保存数据无法使用开发工具直接读出,需要编写程序配合,所以数据具有更高的保密性能,更换MCU后,存储数据随之带走
  • EEROM空间是从程序FLASH空间分配出来的,需要根据数据存储需求和代码量做好存储空间规划
  • 官方承诺了10万次以上的擦写寿命,网友测试的实际寿命远超于此,具体是多少不得而知,可以放心使用

对于以下应用场合建议外挂FRAM或者EEPROM芯片:
  • 需要大量存储参数,且按字节改写频繁的应用场合
  • 真实需要100万次以上擦写寿命的
  • 小RAM的MCU
  • 可靠性要求极高的场合
  • 具有不可暂时打断的任务,或者不适合暂时关闭的中断

对于以下场合建议使用STC内置EEPROM
  • 成本需要苛刻控制的
  • 存储数据需要严格保密的
  • PCB空间存在约束的
  • 本来就需要外挂FLASH芯片用于存储少量数据的

综上所述,STC的EEPROM同时继承了FLASH存储器的优势和弊端,而且又具有无与伦比的保密安全性。其应用特点在手册里面已经描述的很详细了,建议广大使用STC的童鞋仔细阅读手册中红色和蓝色字体的内容,非常重要。

补充个人观点,STC与其刻意的强调EEPROM这个概念并且将其作为卖点,多多少少会让人感到不适,还不如大大方方的讲出来就是IAP-FLASH或者Data-Flash,其保密性能、性价比、擦写寿命都是闪光的地方,我想STC会得到更很多电子工程师的认可和应用。

睁开眼睛做场梦~~~
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:453
  • 最近打卡:2025-05-02 08:15:40
已绑定手机

13

主题

1257

回帖

2975

积分

金牌会员

积分
2975
发表于 2024-3-22 12:57:54 | 显示全部楼层
就如楼主分析的两种场景建议一样,Flash做EEPROM确实给用户带来了方便。
不知道官方是否可以考虑把EEPROM的读写擦除以库函数的方式放进系统ISP中,时钟参数、屏蔽中断等自动完成后,以函数方式提供调用方法。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:519
  • 最近打卡:2025-05-02 07:55:51
已绑定手机

46

主题

1694

回帖

2544

积分

金牌会员

积分
2544
发表于 2024-3-22 13:01:27 | 显示全部楼层
说得在理
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-02 07:55:56
已绑定手机

19

主题

3191

回帖

4872

积分

论坛元老

积分
4872
发表于 2024-3-22 13:23:23 来自手机 | 显示全部楼层
难怪eeprom大小可调,原来并不是真正的eeprom而是flash eeprom啊
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:417
  • 最近打卡:2025-04-30 21:39:09
已绑定手机

34

主题

2096

回帖

2206

积分

荣誉版主

积分
2206
发表于 2024-3-22 14:51:26 | 显示全部楼层
21cns*** 发表于 2024-3-22 12:57
就如楼主分析的两种场景建议一样,Flash做EEPROM确实给用户带来了方便。
不知道官方是否可以考虑把EEPROM的 ...

官方有封装好的函数,直接引用调用即可,非常方便
睁开眼睛做场梦~~~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:417
  • 最近打卡:2025-04-30 21:39:09
已绑定手机

34

主题

2096

回帖

2206

积分

荣誉版主

积分
2206
发表于 2024-3-22 14:52:47 | 显示全部楼层
so*** 发表于 2024-3-22 13:23
难怪eeprom大小可调,原来并不是真正的eeprom而是flash eeprom啊

很多工程师,把这个存储器类型误解了,应用中遇到很多问题,其实讲清楚就好了,避免很多麻烦。
睁开眼睛做场梦~~~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民I
  • 打卡总天数:63
  • 最近打卡:2024-06-20 22:00:14

3

主题

25

回帖

313

积分

中级会员

积分
313
发表于 2024-4-12 21:09:58 | 显示全部楼层
本帖最后由 纯今 于 2024-4-12 21:12 编辑

你好:为了降低成本,各半导体公司都差不多都玩这种小把戏
STM32F103C8T6的内部FLASH容量有64K,如果需要使用到内部FLASH来保存我们自定义的一些数据,则一般会选择存储后面的页
例如:输 入 参 数 : startAddress 指定读取地址(STM32F103C8T6的FLASH大小为64K选择最后一个扇区作为我们存储数据的存储区,地址范围为:0x800FC00~0x800FFF)
FLASH_ErasePage(sectorStartAddress); //擦除这个扇区。
还要用到函数名称 : LibDriveFlashWriteMoreData 功 能 描 述 :向指定地址写入多个数据。
区别是STM手册表明自己没有EEPROM,STC手册如你诟病的那种表述,你是主张像STM那种表达。
哈哈,在我看来这恰恰是STC很中国的地方

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:417
  • 最近打卡:2025-04-30 21:39:09
已绑定手机

34

主题

2096

回帖

2206

积分

荣誉版主

积分
2206
发表于 2024-4-12 23:17:34 | 显示全部楼层
纯*** 发表于 2024-4-12 21:09
你好:为了降低成本,各半导体公司都差不多都玩这种小把戏
STM32F103C8T6的内部FLASH容量有64K,如果需要使 ...

STC芯片手册中,明确描述STC单片机是利用ISP/IAP技术将内部Data Flash当EEPROM,而且所有相关操作的寄存器前缀都是IAP,说明官方非常明确这种技术的本质。
不是我想要诟病手册里的表述,非要把FLASH IAP反复强调EEPROM这个概念,明显会和传统意义的EEPROM混淆,尤其是对初步了解STC的工程师非常不友好,会增加试错成本。
我倒建议STC官方给这种技术另外取个名字,甚至注册一种技术商标,既摆脱了偷换概念的嫌疑,又还是不错的卖点,何乐不为?
睁开眼睛做场梦~~~
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:514
  • 最近打卡:2025-05-02 10:18:47

24

主题

515

回帖

990

积分

荣誉版主

积分
990
发表于 2024-4-13 02:16:03 | 显示全部楼层
楼主讲得很好。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:519
  • 最近打卡:2025-05-02 07:55:51
已绑定手机

46

主题

1694

回帖

2544

积分

金牌会员

积分
2544
发表于 2024-4-13 06:12:09 | 显示全部楼层
晓*** 发表于 2024-4-12 23:17
STC芯片手册中,明确描述STC单片机是利用ISP/IAP技术将内部Data Flash当EEPROM,而且所有相关操作的寄存 ...

说得在理
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 20:39 , Processed in 0.277283 second(s), 112 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表