STM32 掉电保护程序,Flash不能读出问题
我写了一段STM32断电时保存程序,掉电时把数据保存到Flash中,加电时从Flash中恢复,测试了一个月,没有问题。但是昨天不小心碰了电源线,造成电源不断跳动,再启动程序时,进入HardFault_Handler(void) 循环中,发现是读Flash错误,查看内存是一片问号,估计是电源接触不好反复进入掉电程序把Flash搞乱了。我的问题是:
1、有没有办法先判断Flash内存是否可读?如果不可读就先擦除Flash,再读Flash
2、或者有没有办法从HardFault_Handler(void) 中返回到原来的程序?我试过直接返回又会进去,出不来。
3、或者有没有办法不产生HardFault_Handler(void)中断?
4、或者有没有别的好方法?
谢谢