|
查看: 8|回复: 0

[BLE SDK] 上电后OTA数据区清理导致看门狗复位怎么办?

[复制链接]

145

主题

338

回帖

1584

积分

管理员

积分
1584
发表于 昨天 11:49 | 显示全部楼层 |阅读模式 来自 上海
Information
说明:   建议参照本版块置顶帖内容输入必要信息
芯片型号: -
SDK及版本: -
应用层开了看门狗,OTA 升级多次后突然断电,重新上电时执行 bls_ota_clearNewFwDataArea() 擦除 flash,长时间没有喂狗导致死机,怎么解决?

回答:

1、原理上会触发:上电后如果先开看门狗,再执行长时间 flash 擦除(例如清 OTA 数据区),擦除期间没机会喂狗就会复位。

2、解决方法
- 调整初始化顺序:把看门狗初始化放在 flash 擦除之后(先清数据区,再开狗);
- 或在 flash 擦除函数(flash_erase_sector)里喂狗;
- 或在擦除前后临时停止看门狗(wd_stop)再重新开启(wd_start)。

3、注意:flash 擦除耗时较长(尤其整块擦除),喂狗位置要在擦除循环内部,而不是只在整个擦除结束后喂一次。

本版积分规则

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

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

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

在本版发帖返回顶部