打印

STM32F103XX FLASH的擦除及其时间----页/字节

[复制链接]
12783|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lai832|  楼主 | 2012-6-19 11:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
要存点东西在FLASH里,省掉外挂EEPROM

今天看了一早上关于FLASH的东西,网上的/官方的PDF......
才发现我没找到可以擦字节的操作
----勿怪
好像擦除的最小单位是:页

现在看到的资料时擦一页要10mS左右及以上.
想知道有没有偏门点的方法可以提速????????

因为这个时间对我的系统影响很大.

现在只能先外挂个EERPOM,写字节
在合适的时候偷个时间擦FLASH,再CPOY到FLASH里.

征各位的意见,其思妙想.............
沙发
figo20042005| | 2012-6-19 11:37 | 只看该作者
擦一页有要这么久的时间吗?10MS,是 有点慢了

使用特权

评论回复
板凳
香水城| | 2012-6-19 12:05 | 只看该作者
可以参考ST的FLASH模拟EEPROM例程

http://www.st.com/internet/com/T ... NOTE/CD00165693.pdf

使用特权

评论回复
地板
figo20042005| | 2012-6-19 13:19 | 只看该作者
我查了,页擦写是10MS左右,你的系统要求实时性很强的话,就别用FLASH模拟了

使用特权

评论回复
5
lai832|  楼主 | 2012-6-19 13:25 | 只看该作者
可以参考ST的FLASH模拟EEPROM例程

http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/APPLICATION_NOTE/CD00165693.pdf
香水城 发表于 2012-6-19 12:05


谢谢,我所得到的时间就是来自这个文档的第五页
Erase time :  (EX)N/A     (IN) Page/Mass Erase time: 20 ms

使用特权

评论回复
6
lai832|  楼主 | 2012-6-19 13:30 | 只看该作者
我查了,页擦写是10MS左右,你的系统要求实时性很强的话,就别用FLASH模拟了
figo20042005 发表于 2012-6-19 13:19



是的,
目前只计划在:开机,关机的时候用,

或者:
强调保存设置等时,产品在这时间内系统的正常工作受影响.

-----是全外挂还是如开始一样的思路,就看最后的定位了.

使用特权

评论回复
7
lai832|  楼主 | 2012-6-19 13:35 | 只看该作者
说明:主要是如果擦一页的话,我得重写一页的内容回去,(之前还得读出来)---操作一页

这就造成了比写外挂的单个字(32bit)的时间长.---操作一字

使用特权

评论回复
8
香水城| | 2012-6-19 13:37 | 只看该作者
用FLASH模拟的EEPROM的宗旨就是尽可能少的擦除FLASH,以避免时间的消耗

ST的例程是仅在一个PAGE写满之后擦除,如果需要可以多开几个备份的PAGE,需要综合考虑要保存的字节数和数据变化的频率。如果是频繁变化的大量数据,肯定是挂EEPROM了。

使用特权

评论回复
9
lai832|  楼主 | 2012-6-19 16:53 | 只看该作者
谢谢.
频率不高.只是更新一个,得改一片,
即:适合更新一段数据

使用特权

评论回复
10
airwill| | 2012-6-19 18:16 | 只看该作者
多开几个备份的PAGE 是个好办法, 通常 FLASH 的空间总会多出不少, 没有必要很多数据放在一个 PAGE 里, 一个 PAGE 只放几个数据或者就一个数据, 也可以大量减少数据 PAGE 被擦除的次数

使用特权

评论回复
11
lai832|  楼主 | 2012-6-20 14:26 | 只看该作者

..

本帖最后由 lai832 于 2012-6-20 14:46 编辑
多开几个备份的PAGE 是个好办法, 通常 FLASH 的空间总会多出不少, 没有必要很多数据放在一个 PAGE 里, 一个 PAGE 只放几个数据或者就一个数据, 也可以大量减少数据 PAGE 被擦除的次数 ...
airwill 发表于 2012-6-19 18:16


谢谢,不错的方法.
今天翻出了这个贴子:
https://bbs.21ic.com/viewthread.php?tid=176613&highlight=STM32%2BFLASH%E6%A8%A1%E6%8B%9FEEPROM%2B%E4%BD%BF%E7%94%A8%E5%92%8C%E4%BC%98%E5%8C%96

STM32 FLASH模拟EEPROM 使用和优化
很像是专门给我解难的.

多开几个页.
用专门的页作为地址指针,以指示数据的储存地址.

开机时将乱的数据全转到某个地址段实际连续数据-----散数据转来连续数据.
后擦掉几个页在运行中储存字用-----这样就不用擦了


:)



谢了.

使用特权

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

本版积分规则

19

主题

879

帖子

3

粉丝