固件程序丢失是什么原因?

芯片是CH571K,发现部分产品在运行几个月后有几率出现问题,会不停的重启,重新烧写程序恢复正常,我感觉可能是固件数据被修改或丢失导致的,什么情况下会导致CODE FLASH数据会被改变?程序里面没有使用读写CODE FLASH

您好,可以使用ISP工具,进boot后执行代码校验查看是否校验通过。

如果校验失败,代码运行期间有没有进行过OTA升级,升级后的APP层代码是否存在位置偏差等问题。

如果校验成功,排查一下断电之后能不能恢复正常;如果断电再上电可以恢复,排查有没有指定变量的地址,如果指定了变量的ram地址,复位之后也不会重新初始化该变量;如果断电后不能恢复,排查有没有使用dataflash帮助存储标志变量,是否为dataflash存储异常。

如果校验不通过,也确认没有操作过codefalsh,可以发送邮件至zhaiyw@wch.cn获取联系方式。


只有登录才能回复,可以选择微信账号登录