|
查看: 6|回复: 0

[BLE SDK] 打开看门狗后OTA完成重启失败死机,是什么原因?

[复制链接]

145

主题

338

回帖

1584

积分

管理员

积分
1584
发表于 7 小时前 | 显示全部楼层 |阅读模式 来自 上海
Information
说明:   建议参照本版块置顶帖内容输入必要信息
芯片型号: -
SDK及版本: -
应用层打开看门狗(watchdog)后,OTA 完成重启失败,设备无法运行,必须断电重启才恢复,可能是什么原因?

回答:

典型原因是:擦除旧固件(flash erase)期间没有喂狗,擦除过程耗时长,看门狗超时导致在 erase 过程中复位,从而死机。

历史上有过这样的案例:早期 SDK 的 flash erase 函数里带有喂狗操作,后续 driver 更新 flash 驱动时,新的 erase 函数不带喂狗,代码合并时把这个动作丢掉了,就出现"打开看门狗后 OTA 失败死机"的问题。

建议:

1、OTA/擦除 flash 期间要保证喂狗(或在擦除前临时关闭看门狗,擦除完成后恢复);
2、如果 SDK 提供了 flash 操作的喂狗回调/接口,OTA 流程中要确保其生效;
3、升级 SDK/driver 后,注意检查 flash erase 相关函数是否仍保留喂狗逻辑。

本版积分规则

关注公众号
隐私政策|Telink forum

相关侵权、举报、投诉及建议等,请发 E-mail:forum@telink-semi.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|沪ICP备17008231号-1 |沪公网安备31011502403548号

在本版发帖返回顶部