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

想问一个关于STM32L475 flash的问题

[复制链接]
M.鸣 提问时间:2018-12-4 11:43 /
想问一下大家,大家在flash擦出的时候有没有遇上这样的问题,调用完HAL_FLASHEx_Erase之后,返回值是HAL_OK,但是再去读相同的地址中的数据,读回来的数据都不是0xff,还是之前写过的值 MO0LQ2WQ8OIX)3X3UYAH8WV.png

这是写的关于Erase的代码,不知道有没有哪里写错

评分

参与人数 1 ST金币 +20 收起 理由
STMCU + 20

查看全部评分

收藏 评论13 发布时间:2018-12-4 11:43

举报

13个回答
tanic 回答时间:2018-12-6 11:02:04
如图
答新手.jpg
13.png
a838899 回答时间:2018-12-6 13:22:58
废鱼 回答时间:2018-12-6 13:55:26

二楼太调皮了。哈哈
废鱼 回答时间:2018-12-6 13:55:41
楼主,FLASH擦除后,内容就是FF。

评分

参与人数 1ST金币 +3 蝴蝶豆 +1 收起 理由
STMCU + 3 + 1

查看全部评分

M.鸣 回答时间:2018-12-7 16:04:07
安 发表于 2018-12-6 13:55
楼主,FLASH擦除后,内容就是FF。

可能是我表达得不够清楚,我的意思是,我调用了擦除的库函数,但是擦除之后再去读,读回来的数据不是0xFF,说明这是没擦除成功的。
废鱼 回答时间:2018-12-7 16:56:40
楼主不好意思,可能是我理解错了。正常调用擦除函数用的是FLASH_Erase_Sector,不知道为什么你选用的不一样。换这个试试。
M.鸣 回答时间:2018-12-8 15:01:47
安 发表于 2018-12-7 16:56
楼主不好意思,可能是我理解错了。正常调用擦除函数用的是FLASH_Erase_Sector,不知道为什么你选用的不一样 ...

擦除函数不一样么?那可能是因为使用的芯片不一样,我用的是芯片型号是L475,而且我用的是HAL库,调用这个HAL_FLASHEx_Erase函数应该没什么问题
废鱼 回答时间:2018-12-8 15:27:07
可能是因为芯片不同,我用的是标准库,F4的芯片。楼主可以参考一下例程:
main.zip (3.94 KB, 下载次数: 4)
斜阳 回答时间:2018-12-8 18:30:13
1、检查返回值对不对
2、page_error值对不对
3、回读地址值对不对
4、跑一下官方例程,看结果对不对

评分

参与人数 1ST金币 +4 蝴蝶豆 +2 收起 理由
STMCU + 4 + 2

查看全部评分

五哥1 回答时间:2018-12-8 23:23:00
刚开始写程序尽量采用成熟的方案来改,这样少走些弯路。

评分

参与人数 1ST金币 +2 蝴蝶豆 +1 收起 理由
STMCU + 2 + 1

查看全部评分

yzfy123456 回答时间:2020-9-22 15:46:48
楼主问题解决了吗?
yzfy123456 回答时间:2020-9-22 15:48:58
楼主问题解决了吗?我也遇到这个问题。调用 HAL_FLASHEx_Erase() 函数返回擦除成功,但是回读时,发现读到的不是FF,而是原来的值。
yzfy123456 回答时间:2020-9-22 15:50:06
楼主可分享一下,后来问题是怎么处理的吗?
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版