记录一个遇到的bug坑.
使用stm32 hal库写入flash的时候 返回err
debug查看是 FLASH_FLAG_PGSERR错误.
最后发现是调试的时候禁用了 wwdg 窗口看门狗的初始化,(习惯使然)
然后却还进行了喂狗操作. 由于没有初始化,喂狗飞了指针,flash内存出错.
再进行写入的时候就报错写入不了了.
粗暴的解决方法: 操作写入flash之前 清除错误标志即可.(知道什么原因导致的,可以这么做)
正确的解决方法:找到跑飞指针的地方,修改即可.(不限于喂狗.包括其他指针的操作,比如定义指针没有赋值,对指针进行了操作的时候,(指针恰好指向flash的地址范围)也会导致 flash报错)