stm32H7 FLASH 写入异常函数接口写入接口 链式写入回调接口 问题描述(偶现)链式写入1024字节数据包,在每次回调函数中 在上述过程中未监测到异常且未监测到写入内容 问题根因由于在HAL_FLASH_EndOfOperationCallback中触发下一次写入,出现写入后马上再次触发HAL_FLASH_EndOfOperationCallback导致重入写入函数,导致偏移异常随机跳过某个flash字。 |
STM32H750的上电BOR生效电压
STM32H7的SMPS供电
STM32H7无法芯片
stm32cubeMx生成stm32H743IIT6 cmake工程时全局变量自动定义到DTCM段
CubeMX 生成的 STM32H7 CMake 工程打开串口 DMA 无法正常发送数据,如何解决?
TOF传感器无法正确识别物体
STM32H750VBT6无法使用flymcu.exe或flashloader,通过串口1烧写程序
STM32H723VGT6 通过USART1/3连接CubeProgrammer失败
求助:USB 设备模式下的 UF2 更新,擦写非活动 Bank 时引起主机复位,但加 Hub 正常 —— 双 Bank 不是应该无干扰吗?
stm32h745-nucleo下不进程序,就是用programmer看,识别得到stlink,但是连不到芯片
微信公众号
手机版
你确保flash编程时遵循了相应编程及对齐方式,STM32H7系列有4字编程模式【STM32H7A/7B】 ,也有8字编程模式。
再就是注意FLASH写的时候将ICACHE关闭,写完之后再打开。
在校验时建议将Dcahce也关闭,防止DCache与实际数据不一致的问题。
这样发现异常时通过Stm32cubeProgrammer 去看一看是否是真的有FF字节。
从而定位问题是发生在前面写入部分还是后面全局校验部分,缩小调查范围。
测试时注意写入时,减少其他中断避免意外修改。测试次数也要有大概限制,毕竟FLASH 擦写是有寿命次数的。
感谢 @butterflyspring 和 @xmshao的关注
以下是补充说明
FLASH字全为FF的异常情况是从 Stm32cubeProgrammer 获取判断的。最新进展发现 freertos 多线程阻塞和抢占问题对导致这一现象,具体原因待排查。