MCU 工作几天后,FLASH中的代码区丢数据了,这是怎么发生的,如何避免?

nuvoton2022 |浏览212次
检举|收藏|2022/09/07 21:26
全部回答(1)
  • 首先,软件里如果没有写数据到FLASH代码,不对FLASH写,FLASH数据不会变。所以,问题归结为,如何防止误写,或防止写FLASH 出错。

          FLASH 时,如果出现了低压或掉电,芯片内部逻辑乱了,结果不可预知。写的地址出错有可能误写代码区;写的数据出错,就会写入FLASH的数据不对。所以,防止写FLASH出错的关键,是写FLASH期间,要保证电压不能降到MCU无法工作的程度

         防止措施,首先硬件上要有电压检测电路,写FLASH前,检测电压,若较低,放弃写FLASH。其次,要在MCUVDD加二极管和电容,如下图。如果刚开始写FLASH,电源就=0V了,仅靠电容里的电,要能保证写完FLASH数据,所以,电容一般470uF以上,如果写的数据较多,电容还要适当加大。

     

                           

     


    回答于 2022/09/07 21:26
0人关注该问题
 加载中...