2022/09/07 16:00
擦写FLASH时掉电或者复位会导致flash里的数据错误,可能会导致程序无法正常运行。在擦写flash前可以增加以下保护措施:
如果是8051需要先关中断, ISP的寄存器都是时效访问的,如果TA后产生中断再返回,时效过期,后面的ISP操作无效。
Flash擦写前设置较长的WDT超时时间,并且喂狗,flash擦写的时间长,防止擦写过程中WDT复位。
设置尽量高的BOD电压值,防止电压过低无法写完。BOD只能flash操作前保护,flash操作过程中会让CPU忙,不处理BOD;
电源上加电容。电容存在,电压不会掉得太快,写少量flash不成问题。。
写flash前通过ADC读电压,如果电压已低于一定值,就不要去做flash擦写操作。