Part Number:CC2642R
进群发现加入看门狗后无法进行OAD升级(片外),即使使用关闭功能也无法升级,必须去掉看门狗,是何原因?
void watchdog_init()
{
Watchdog_Params params;
Watchdog_init();
Watchdog_Params_init(¶ms);
params.resetMode = Watchdog_RESET_ON;
params.callbackFxn = (Watchdog_Callback) UserCallbackFxn;
watchdogHandle = Watchdog_open(CONFIG_WATCHDOG_0, ¶ms);
if (watchdogHandle == NULL) {
// Error opening Watchdog
while (1);
}
}
void watchdog_set(uint8_t flag)
{
if(flag)
{
watchdog_init();
}
else
{
Watchdog_close(watchdogHandle);
}
}
其中,syscfg设置的是3000,即3秒中,喂狗是SimplePeripheral_taskFxn中定时每秒钟喂狗,升级时也是有喂狗的。后来使用检测到升级时,在此函数下关闭看门狗,且不喂狗,依然不能升级。去到看门狗初始化,却可以升级。
Kevin Qiu1:
OAD升级流程中需要复位,开启看门狗后无法升级的具体信息是什么,返回什么值或者有哪种现象
参考这里类似的问题:https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/930091/ccs-cc2640r2f-oad-not-working-with-watchdog-enabled