打印

请教,怎样对STM32FARM中Flash的某一位擦除?

[复制链接]
7289|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qiang6091|  楼主 | 2009-3-19 16:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    想把数据分块存储在Flash中,想单独对Flsh中某一部分进行擦除和写入,而不是对整个业擦除。 
    看了Flash.c文件中的选择擦除函数,没看懂什么意思,这个函数没有指定擦除地址竟然能实现擦除。
    有高手遇到过这类问题吗? 
沙发
香水城| | 2009-3-19 16:48 | 只看该作者

只能对STM32的Flash按页擦除,或对整个Flash区进行整体擦除

不可以对页长度以下的任何单位进行单独擦除。

使用特权

评论回复
板凳
qiang6091|  楼主 | 2009-3-19 16:50 | 只看该作者

擦除

哦,我看了LPC2138的资料,好像只能对扇区擦除
可是Flash.c文件中有对Byte进行擦除的函数

使用特权

评论回复
地板
qiang6091|  楼主 | 2009-3-19 16:51 | 只看该作者

怎么改其中一个

如果我有5个数存储在一个业里边,要改其中一个怎么办呢?

使用特权

评论回复
5
香水城| | 2009-3-19 17:27 | 只看该作者

对于Flash存储器的内容,只能进行擦除和写入操作,不能修改

而且擦除操作也是按页进行的,不可能按字节擦除。任何一家的Flash都是如此。

需要按字节擦除的功能,请选用EEPROM。

使用特权

评论回复
6
qiang6091|  楼主 | 2009-3-20 08:36 | 只看该作者

好的

谢谢,看来STM32是在误导用户

使用特权

评论回复
7
qiang6091|  楼主 | 2009-3-20 08:39 | 只看该作者

还是想不通

在FLASH_CR寄存器中确实有对BIT擦除的设置。

使用特权

评论回复
8
香水城| | 2009-3-20 09:31 | 只看该作者

FLASH_CR寄存器中哪里有对BIT擦除的设置?

Flash存储器只能按页擦除或整片擦除,这是基本常识,怎么能说STM32在误导用户?

请把认为误导用户的段落贴出来,我们一起讨论一下。下图是Flash_CR寄存器的说明,你认为哪里误导了?

使用特权

评论回复
9
qiang6091|  楼主 | 2009-3-20 09:56 | 只看该作者

位5 OPTER

位5不是有擦除选择字节的设置吗

使用特权

评论回复
10
qiang6091|  楼主 | 2009-3-20 09:58 | 只看该作者

FLASH.c

在flash.c文件中也有相应的函数。

使用特权

评论回复
11
香水城| | 2009-3-20 10:38 | 只看该作者

选择字节是一个区域,而不是一个BIT

即使误解也应该理解为多BYTE的操作,而不是对BIT的操作。

使用特权

评论回复
12
qiang6091|  楼主 | 2009-3-20 10:42 | 只看该作者

您的意思是?

您的意思是说可以对多个个BYTE进行擦除吗?
具体怎么操作呢?

使用特权

评论回复
13
香水城| | 2009-3-20 10:43 | 只看该作者

手册中其它关于选择字节的说明

下图显示选择字节是一个区域:



下图显示这个区域具体包含哪些内容:




如果一定要咬文嚼字,我们可以把它写成“选择字节区”,谢谢!

使用特权

评论回复
14
香水城| | 2009-3-20 11:01 | 只看该作者

关于12楼的问题,请看下面手册的第2.3.5节

使用特权

评论回复
15
qiang6091|  楼主 | 2009-3-20 11:20 | 只看该作者

哦,明白了

原来是对选择字节设置。
多谢了

使用特权

评论回复
16
王紫豪| | 2009-3-20 12:08 | 只看该作者

变通一下,先读出来(页),在更改,再擦,然后再写

使用特权

评论回复
17
qiang6091|  楼主 | 2009-3-20 12:09 | 只看该作者

我已经按照楼上的方法做了,多谢

使用特权

评论回复
18
ak64| | 2014-12-11 13:57 | 只看该作者
坟贴

使用特权

评论回复
19
lulin121| | 2015-12-5 21:56 | 只看该作者
先复制出来,再全部擦除,再重新写入是可以,但是这期间如果断电的话,有可能导致所有的数据吊事,这就让我们不得不编写更多额外的代码来确保数据不会丢失,或尽可能不会丢失

使用特权

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

本版积分规则

15

主题

124

帖子

0

粉丝