![shequ.stmicroelectronics.cn](./template/st_v1/static/img/logo2.png)
STM32L4 内部 Flash 写操作 ECCD 错误 使用的芯片型号 STM32L475VE,使用 HAL 库 `HAL_FLASH_Program` API 对 内部 Flash 进行编程,出现 ECCD 错误。 返回错误的代码摘要如下:(在 __HAL_FLASH_GET_FLAG(FLASH_FLAG_ECCD) 时返回错误)
非常感谢 |
stm32l431驱动段码屏
注释掉main函数内一行代码后程序无法启动
STM32L431 LPTIM2开启失败
使用L476_NUCLEO板串口通信,波特率为什么到460800就收不到数据?目标为1382400
STM32L471系列能否设置为Single Bank模式
stm32l496VET6丝印问题
STM32L496比STM32L475 多一个IO在哪?
STM32L431RCT6 关机模式使用Wakeup唤醒
有关双bank现场升级的一些问题,图片为官方代码
STM32L431RCT6 怎么将PB3(JTDO-TRACESWO)引脚配置成GPIO输出使用
stm32l476 内部flash HAL库操作方法
http://blog.csdn.net/nicholaszao/article/details/79734480
STM32CubeMX Hal库的一些坑
http://blog.csdn.net/u010217338/article/details/70139672
评分
查看全部评分
引用 ST 论坛相似的问题:
ST 论坛 ECCD 问题
感谢 feixiang20,这两个帖子给了很大的起启示。
Flash ECCD 问题已经确定,在对 flash 连续写的过程,ECC 纠错检查会开启,如果这个时候,你往已经写过的区块更新数据(不擦除,再次写),就会触发ECC错误。
我是这么理解的,因为 ECC 想帮你纠错,但这又是你主观上的操作,且ECC 监测到错误超过了2个,无法完成纠错,就上报了异常。
要想避免 ECCD 错误,就严格遵守 先擦后写 的原则。