请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F107RBT6 页擦除函数返回值成功但目标扇区数据并未擦除

[复制链接]
Qxsever 提问时间:2024-3-30 10:15 / 未解决

程序调用页擦除库函数擦除内部FLASH扇区数据时,函数返回值正常,但仿真查看内存发现目标扇区并未成功擦除。

擦除前解锁FLASH正常,FLASH寄存器相关状态标志正常。系统频率72MHz,按手册要求配置 FLASH_ACR 2个等待位,开启预取缓存区。MCU在执行擦除任务时供电稳定3.28V。

image.png

除此之外,使用 STM32 ST-LINK Utility 验证发现,全片擦除有效,但页擦除仅 0x0800E000-0x0800E7FF 这一个扇区正常擦除,其它扇区均擦除失败但未报错。

请各位大佬指点!

image.png
收藏 评论1 发布时间:2024-3-30 10:15

举报

1个回答
butterflyspring 回答时间:2024-4-1 10:50:48
1. 首先确保相应的区域写保护位不要被使能。
2.代码中擦除后面不要立刻有写人功能。(例程中是这样的,经过复位后又被写入数值)

可以参考库中例程
STM32Cube_FW_F1_V1.8.5\Projects\STM32F103RB-Nucleo\Examples\FLASH\FLASH_EraseProgram
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版