打印
[方案相关]

简单实用的FLASH模拟EEPROM程序在HC32L136上的实现

[复制链接]
楼主: zhanan
手机看帖
扫描二维码
随时随地手机跟帖
21
感觉内部的flash读写怕超出范围的。

使用特权

评论回复
22
wangdezhi| | 2023-3-5 12:32 | 只看该作者
可否把内部Flash部分扇区当作EEPROM使用??

使用特权

评论回复
23
maqianqu| | 2023-3-5 12:38 | 只看该作者
FLASH在写新的数据前必须先擦除,而且经常是只允许整页擦除,没有办法擦除一个字节

使用特权

评论回复
24
zhanan|  楼主 | 2023-3-6 12:43 | 只看该作者
uytyu 发表于 2023-3-4 12:40
这个是否还需要重新编写flash读写程序?

不用了,已经是底层操作了,库函数都不用。

使用特权

评论回复
25
zhanan|  楼主 | 2023-3-6 12:47 | 只看该作者
minzisc 发表于 2023-3-4 21:36
可否把内部Flash部分扇区当作EEPROM使用??

这个帖子就实现了啊,完美解决

使用特权

评论回复
26
zhanan|  楼主 | 2023-3-6 12:52 | 只看该作者
1988020566 发表于 2023-3-4 20:27
eeprom与flash 选哪个

现在很多芯片不带EEPROM了,必须FLASH。好在FLASH容量足够大,富余很多,富于出来的模拟EEPROM

使用特权

评论回复
27
zhanan|  楼主 | 2023-3-6 13:02 | 只看该作者
kkzz 发表于 2023-3-4 19:35
可以一字节一字节的写入吗?

不行,必须一个字(4字节)为单位。
原因:1是方便FLASH地址对齐,2.是变量id识别。
模拟eeprom变量在存储到FLASH时是带着id存储的。字的高16位用作id,低16位用作变量值。或者高8位用作id,低24位用作变量值。
带着id存储实现了追加式写入,同id的变量存储了多次,最后的是新的。这样就避免了频繁的擦除。

使用特权

评论回复
28
zhanan|  楼主 | 2023-3-6 13:09 | 只看该作者
ccook11 发表于 2023-3-4 13:20
HC32L136可以外接多大的flash呢?

不是外接FLASH,是把装程序的FLASH,富余部分改作模拟eeprom用。eeprom在参数设置上必须用到的,以前的8位机,eeprom是其特色之一。现在很多单片机开放了FLASH读写,干脆取消了eeprom。

使用特权

评论回复
29
zhanan|  楼主 | 2023-3-6 13:15 | 只看该作者
jimmhu 发表于 2023-3-4 13:00
这个为什么不直接外接eeprom呢?

外接eeprom,费硬件啊,增加一个元件,占用端口,PCB排版增加难度,软件不是spi就是iic,都不省心啊。

使用特权

评论回复
30
zhanan|  楼主 | 2023-3-6 13:29 | 只看该作者
mollylawrence 发表于 2023-3-4 22:14
直接读写相关的数据不好吗?

写在FLASH里面的数据,读,直接读。写,直接写只能写一次,你数据修改了写到哪里去?去哪里找到这个修改后的数据?所以必须有一个接口。
程序看着有点复杂,是因为大部分的程序用在了非正常状态的处理上,没有这部分处理,数据正确与否是无法保证的。如擦写中突然断电。

使用特权

评论回复
31
tpgf| | 2023-3-6 16:09 | 只看该作者
flash属于广义的EEPROM,因为它也是电擦除的rom

使用特权

评论回复
32
木木guainv| | 2023-3-6 16:56 | 只看该作者
EEPROM的全称是“电可擦除可编程只读存储器”,即Electrically Erasable Programmable Read-Only Memory。是相对于紫外擦除的rom来讲的。但是今天已经存在多种EEPROM的变种,变成了一类存储器的统称

使用特权

评论回复
33
磨砂| | 2023-3-6 17:06 | 只看该作者
目前的EEPROM都是几十千字节到几百千字节的,绝少有超过512K的

使用特权

评论回复
34
晓伍| | 2023-3-6 17:19 | 只看该作者
狭义的EEPROM:这种rom的特点是可以随机访问和修改任何一个字节,可以往每个bit中写入0或者1。这是最传统的一种EEPROM,掉电后数据不丢失,可以保存100年,可以擦写100w次

使用特权

评论回复
35
八层楼| | 2023-3-7 08:07 | 只看该作者
我不是很理解 为什么自带的flash一般都那么小呢 这是受到了什么限制呀

使用特权

评论回复
36
观海| | 2023-3-7 08:52 | 只看该作者
八层楼 发表于 2023-3-7 08:07
我不是很理解 为什么自带的flash一般都那么小呢 这是受到了什么限制呀

还好吧 哪里小了 至少比ram要大很多了好不好

使用特权

评论回复
37
zhanan|  楼主 | 2023-3-7 14:42 | 只看该作者
磨砂 发表于 2023-3-6 17:06
目前的EEPROM都是几十千字节到几百千字节的,绝少有超过512K的

FLASH和EEPROM的边界已经模糊了,其实二者的区别在于擦的单位上,eeprom按字节擦,且边擦边写,FLASH按页或块擦,擦除最耗费时间。FLASH容量大,如W25Q128有16MB,做成eeprom那样边擦边写,不仅结构复杂,更主要的是速度上不去。所以大容量的全都是FLASH,通过管理软件在使用上和eeprom没有区别。

使用特权

评论回复
38
zhanan|  楼主 | 2023-3-7 14:49 | 只看该作者
晓伍 发表于 2023-3-6 17:19
狭义的EEPROM:这种rom的特点是可以随机访问和修改任何一个字节,可以往每个bit中写入0或者1。这是最传统的 ...

边擦边写,擦的时间是毫秒级的,游击队的干活

使用特权

评论回复
39
louliana| | 2023-3-7 22:00 | 只看该作者
简易的flash模拟eeprom功能,只需实现底层的flash操作接口

使用特权

评论回复
40
mattlincoln| | 2023-3-7 22:06 | 只看该作者
flash模拟eeprom稳定吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则