This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2640R2F: Watchdog usage

Part Number: CC2640R2F

Tool/software:

Hello,

1. Is the reset processing exactly the same when I set the WDT reset mode to Watchdog_RESET_ON and when I set it to Watchdog_RESET_OFF and calls HAL_SYSTEM_RESET() in the watchdog callback function?

(don't care reset reason code)

2. Is it possible that the watchdog callback is not called or processed by system hang? Considering that, is it safer to set it to Watchdog_RESET_ON?

Thanks,

Calvin

  • Hello Calvin,

    I hope you are doing well. Please correct me if my understanding of your system is wrong, but what you are basically doing is two cases:

    case 1: set params.resetMode = Watchdog_RESET_ON;, which allows watchdog to reset the device when the device stalls

    case 2: after a reset params is reconfigured params.resetMode = Watchdog_RESET_OFF;, so watchdog will not reset the device, but use the callback to reset the device

    In both cases the device should restart after a stall, we are just calling the reset a bit differently. 

    2. Once the watchdog times out it should set a flag, and once the second timeout is ran the device should reset; I would say here to use the default Watchdog_RESET_ON, and make use of clever timeout, and watchdog_clear to make sure the device does not reset when it does not need to. 

    Thanks,
    Alex F

  • Hi Alex,

    Is below thread valid on SDK 5.30.00.03 also?

    https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/670455/cc2640r2f-last-reset-cause-when-warm-reset-converted-to-system-reset

    If so, I want to cleanly initialize the RF core and Sensor controller by converting the watchdog or system reset to pin reset.

    Thanks,

    Calvin

  • Hello Calvin,

    Looking into the attached thread we should likely follow the guidance that the watchdog does a "warm" reset rather than a full reset and we need to add a bit of extra code to do a full reset:

    Our guidance is to use the default configuration to have warm reset converted to system reset for the reasons listed in the TRM w.r.t analog vs. digital circuitry. As Merkel suggests, invoking a system reset in your WDT callback is preferred as well.

    Thanks,
    Alex F