OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6662|回复: 7

FLASH能否二次写入数据,两次写入都是由1变为0

[复制链接]

10

主题

277

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2075
金钱
2075
注册时间
2016-8-15
在线时间
413 小时
发表于 2019-6-5 13:54:27 | 显示全部楼层 |阅读模式
10金钱
flash擦除后写入数据没有问题,flash擦除后,写入0xee,写入没有问题,之后再写入0x88就写不进去了。我看flash编程特点是由1变为0是OK的。跪求原子哥助攻@正点原子

最佳答案

查看完整内容[请看2#楼]

手册上面写也是说1能写为0的,但是每次写之前会检测待写入的地址数据是不是0xff,如果不是,会报PGERR错误。不知道这有没有解决的办法。以前使用是外挂的nand flash,哪是支持我上述操作的。主要是用到了VFS虚拟扇区管理,里面有涉及到我上述的操作,如果能实现,那更好,如果不能实现,那我只能改代码了。
我的简书:https://www.jianshu.com/u/3e9efbf4a8c2
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

10

主题

277

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2075
金钱
2075
注册时间
2016-8-15
在线时间
413 小时
 楼主| 发表于 2019-6-5 13:54:28 | 显示全部楼层
awsawzj 发表于 2019-6-5 14:50
那要看你的flash特性,有的flash支持这样操作,有的就不允许这样

手册上面写也是说1能写为0的,但是每次写之前会检测待写入的地址数据是不是0xff,如果不是,会报PGERR错误。不知道这有没有解决的办法。以前使用是外挂的nand flash,哪是支持我上述操作的。主要是用到了VFS虚拟扇区管理,里面有涉及到我上述的操作,如果能实现,那更好,如果不能实现,那我只能改代码了。
我的简书:https://www.jianshu.com/u/3e9efbf4a8c2
回复

使用道具 举报

10

主题

277

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2075
金钱
2075
注册时间
2016-8-15
在线时间
413 小时
 楼主| 发表于 2019-6-5 14:30:36 | 显示全部楼层
手动顶帖
回复

使用道具 举报

2

主题

582

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2690
金钱
2690
注册时间
2014-5-23
在线时间
188 小时
发表于 2019-6-5 14:36:25 | 显示全部楼层
flash编程特点是由1变为0,所以每次写数据前都需要先擦除,然后在写数据
回复

使用道具 举报

10

主题

277

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2075
金钱
2075
注册时间
2016-8-15
在线时间
413 小时
 楼主| 发表于 2019-6-5 14:41:58 | 显示全部楼层
awsawzj 发表于 2019-6-5 14:36
flash编程特点是由1变为0,所以每次写数据前都需要先擦除,然后在写数据

擦除是为了把数据区变为0xff,我想实现的是写入0xee后,再写入0x88,也只是把几位写0了,并没有把0写为1,按理说是能实现的
我的简书:https://www.jianshu.com/u/3e9efbf4a8c2
回复

使用道具 举报

2

主题

582

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2690
金钱
2690
注册时间
2014-5-23
在线时间
188 小时
发表于 2019-6-5 14:50:05 | 显示全部楼层
流年丶 发表于 2019-6-5 14:41
擦除是为了把数据区变为0xff,我想实现的是写入0xee后,再写入0x88,也只是把几位写0了,并没有把0写为1 ...

那要看你的flash特性,有的flash支持这样操作,有的就不允许这样
回复

使用道具 举报

10

主题

277

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2075
金钱
2075
注册时间
2016-8-15
在线时间
413 小时
 楼主| 发表于 2019-6-6 08:55:00 | 显示全部楼层
日常顶帖
回复

使用道具 举报

80

主题

931

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3348
金钱
3348
注册时间
2013-5-28
在线时间
468 小时
发表于 2021-1-21 13:46:07 | 显示全部楼层
The Flash memory interface preliminarily reads the value at the addressed main Flash memory location and checks that it has been erased. If not, the program operation is skipped and a warning is issued by the PGERR bit in FLASH_SR register.


我也哭了,奇怪了,以前我记得ST家的哪个芯片我是可以直接去修改数据的,只要不是从0变1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-14 22:34

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表