OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5950|回复: 7

FLASH && EEPROM

[复制链接]

29

主题

132

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
313
金钱
313
注册时间
2017-12-12
在线时间
26 小时
发表于 2018-2-1 14:20:29 | 显示全部楼层 |阅读模式
本帖最后由 GuDuDeRen 于 2018-2-1 17:25 编辑

1:特性以及使用
    Flash用来做程序和一些掉电保护和不需修改的数据,FLASH写入时间长 FLASH擦写次数少(10000次)。
    EEPROM用来保存掉电需保护且在程序运行过程中需要修改的少量参数,EEPROM写入时间短,其擦除次数较Flash多(1000000次)。
2: 存储单元的结构,
      FLASH的电路结构较简单,同样容量占芯片面积较小,成本自然比EEPROM低,因而适合用作程序存储器,
      EEPROM则更多的用作非易失的数据存储器。当然用FLASH做数据存储器也行,但操作比EEPROM麻烦的多。
      所以更“人性化”的MCU设计会集成FLASH和EEPROM两种非易失性存储器。
3:二者寻址方法(最大区别)
       FLASH的全称是FLASH EEPROM FLASH按扇区操作 必须按块(Block)擦除(每个区块的大小不定,不同厂家的产品有不同的规格),它是一种非易失性的内存,属于          EEPROM的改进产品。
       EEPROM则按字节操作, EEPROM可以一次只擦除一个字节(Byte)。
4:补充
    相同点:两者都能掉电存储数据

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

14

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
110
金钱
110
注册时间
2018-1-26
在线时间
22 小时
发表于 2018-2-1 16:04:48 | 显示全部楼层
可以这里理解不,我们写的C语言程序都放在了flash中,它相当于电脑的硬盘;eeprom中存放的是程序中的一些参数配置,现场随时修改,重启后生效???
回复 支持 1 反对 0

使用道具 举报

11

主题

216

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1124
金钱
1124
注册时间
2015-2-27
在线时间
485 小时
发表于 2018-2-1 14:24:38 | 显示全部楼层
为什么 FLASH在运行时不能修改?难道例程里的FLASH模拟EEPROM是假的,你不要骗我啊
回复 支持 反对

使用道具 举报

29

主题

132

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
313
金钱
313
注册时间
2017-12-12
在线时间
26 小时
 楼主| 发表于 2018-2-1 14:29:52 | 显示全部楼层
enan 发表于 2018-2-1 14:24
为什么 FLASH在运行时不能修改?难道例程里的FLASH模拟EEPROM是假的,你不要骗我啊

STM32F4 本身没有自带 EEPROM,但是 STM32F4 具有 IAP(在应用编程)功能,所以我
们可以把它的 FLASH 当成 EEPROM 来使用。
回复 支持 反对

使用道具 举报

29

主题

132

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
313
金钱
313
注册时间
2017-12-12
在线时间
26 小时
 楼主| 发表于 2018-2-1 14:31:37 | 显示全部楼层
enan 发表于 2018-2-1 14:24
为什么 FLASH在运行时不能修改?难道例程里的FLASH模拟EEPROM是假的,你不要骗我啊

不管是软件还是硬件 没有绝对的事情 没有啥绝对是是对的 也没有啥绝对是错的
回复 支持 反对

使用道具 举报

29

主题

132

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
313
金钱
313
注册时间
2017-12-12
在线时间
26 小时
 楼主| 发表于 2018-2-1 17:20:39 | 显示全部楼层
亡羊补牢0624 发表于 2018-2-1 16:04
可以这里理解不,我们写的C语言程序都放在了flash中,它相当于电脑的硬盘;eeprom中存放的是程序中的一些参 ...

有的芯片不带有EEPROM 只有FLASH  因此程序代码  都存放在 FLASH的主存储器中
回复 支持 反对

使用道具 举报

29

主题

132

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
313
金钱
313
注册时间
2017-12-12
在线时间
26 小时
 楼主| 发表于 2018-2-1 17:24:42 | 显示全部楼层
亡羊补牢0624 发表于 2018-2-1 16:04
可以这里理解不,我们写的C语言程序都放在了flash中,它相当于电脑的硬盘;eeprom中存放的是程序中的一些参 ...

看芯片手册 不是说经常被修改的数据就不能放在flash里  看你自己的选择
回复 支持 反对

使用道具 举报

4

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
86
金钱
86
注册时间
2019-1-22
在线时间
24 小时
发表于 2019-1-22 16:27:10 | 显示全部楼层
看例程里用来输入的数组都是 const类型,是不是用FLASH模拟EEPROM不能存储变量?
如果想用一个变量保存掉电前的变量数据然后在上电后继续使用是不是不能用FLASH模拟EEPROM?(比如一个控制灯光亮度的变量Light,使其在掉电上电后直接达到掉电前的亮度)
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-9 13:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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