打印

问一个stm32闪存的问题。

[复制链接]
3093|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lzh08|  楼主 | 2009-8-5 18:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
闪存能够擦写的次数是10000次。
1.FLASH_EreasePage这个函数,是擦写特定的页。
2.在对闪存进行FLASH_PageProgram之前,都要运行一次FLASH_EreasePage这个函数,即使只在特定的位置编程写入一个字,那么此时是不是意味着该页面的其他地址的字节也同样少了一次编程的次数,该页面的全部地址都只剩下9999次编程次数?还是其他地址处的字操作不受影响,还是保持10000次的擦写次数呢?
3。我现在有一个计数器,要求能够擦写30万次,有什么好的方法能够存在闪存里面么?
沙发
香水城| | 2009-8-5 18:49 | 只看该作者
如果要写入的地方是0xFFFF,就不用擦除。

比如STM32中或小容量的Flash为每页1K字节,按双字节写入,可以写512次。

所以只要你每次把你的计数器写到不同的位置,在写满一页之前可以写很多次,一页写满之后,下次再写才需要做擦除操作。

使用特权

评论回复
板凳
lzh08|  楼主 | 2009-8-5 18:55 | 只看该作者
你的意思是说:
在对闪存进行FLASH_PageProgram之前,如果操作的地址不重复,不必要每次都运行一次FLASH_EreasePage这个函数;
是这样么?

使用特权

评论回复
地板
香水城| | 2009-8-5 19:01 | 只看该作者
当然了!否则你如何写满一整页?写了后面的又把前面擦掉了。

使用特权

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

本版积分规则

57

主题

114

帖子

0

粉丝