打印
[STM32F1]

STM32F10X的flash在没有erase前再次program成0的问题

[复制链接]
1103|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zeaphr|  楼主 | 2015-8-18 00:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32F10xxx 的main flash,是否支持在erase前再次将某个地址program成0?
比如:在A地址 先program成0x55
A地址所在的sector,没有经过erase,再次将A地址program成0x00
这种操作是否允许?

在《STM32F10xxx Flash Program manual.pdf》中没有看到明确的说明
不过一般flash都是可以的,就是不知道stm32f10x的main flash是否有限制
在哪能找到一个明确的说明?
沙发
myxiaonia| | 2015-8-18 07:53 | 只看该作者
其实是有明确说明的,再仔细看看吧。。。

使用特权

评论回复
板凳
aundry| | 2015-8-18 08:25 | 只看该作者
ERASE之后,FLASH变为0x00,对位写就变为1,没写还是为0

使用特权

评论回复
地板
zeaphr|  楼主 | 2015-8-19 09:53 | 只看该作者
myxiaonia 发表于 2015-8-18 07:53
其实是有明确说明的,再仔细看看吧。。。

在哪有明确说明?能否指出

我查了STM32F2XX的 program manual(PM0059, STM32F205/215, STM32F207/217 Flash programming manual),这个manual明确说明:
“Successive write operations are possible without the need of an erase operation when
changing bits from ‘1’ to ‘0’.”

但是在PM0075  STM32F10xxx Flash memory microcontrollers中,却没有看到这类似的说明

按理说flash都类似,但是manual上没有明确说明,还是不能确认

版主能否帮忙看一下
谢谢!

使用特权

评论回复
5
lanjackg2003| | 2015-8-19 10:00 | 只看该作者
flash应该是都可以从非0编写成0.
例如,0x11修改成0x00

反正我试过是可以的.至少在STM32F030/STM32F4这两款芯片上面,都是如此.

使用特权

评论回复
6
zeaphr|  楼主 | 2015-8-19 10:03 | 只看该作者
刚才又看了一遍manual
确实有说明,是可以支持的
有点隐蔽
谢谢!

使用特权

评论回复
7
amanda_s| | 2015-8-19 10:53 | 只看该作者
zeaphr 发表于 2015-8-19 10:03
刚才又看了一遍manual
确实有说明,是可以支持的
有点隐蔽

讲了这么多,也没个人贴个图上来看看。

使用特权

评论回复
8
myxiaonia| | 2015-8-19 11:00 | 只看该作者
amanda_s 发表于 2015-8-19 10:53
讲了这么多,也没个人贴个图上来看看。

记住就好了呀  别人的经验也变成了你的经验哦

使用特权

评论回复
9
amanda_s| | 2015-8-19 11:25 | 只看该作者
myxiaonia 发表于 2015-8-19 11:00
记住就好了呀  别人的经验也变成了你的经验哦

只是找找文字描述在哪里。贴上来节省大家的时间,眼见为实嘛。
分享也是一种风格。:)

使用特权

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

本版积分规则

11

主题

52

帖子

1

粉丝