Part Number:CC2640
Tool/software: TI-RTOS
Hi,
I've implemented a watchdog timer to perform a hard reset after it triggers. The watchdog callback is called and does perform a hard reset but the system is not booting afterwards.
BLE SDK version 2.2.1
TI_RTOS version 2_20_01_08 (with the watchdog bug patched, interrupt typed changed to WATCH_DOG_TYPE_INT in WatchdogCC26xx.c)
void multi_role_watchdogCallback(UArg handle) { Watchdog_clear(_watchdogHandle); // Perform the equivalent of a PIN Reset (hard reset). // The cc26xx system has not been design to handle soft reset. // Making a soft reset can make the system unstable. // All soft reset needs to be replace by Hard reset. HAL_SYSTEM_RESET(); }
Watchdog_init(); Watchdog_Params params; Watchdog_Params_init(¶ms); params.resetMode = Watchdog_RESET_OFF; params.callbackFxn = multi_role_watchdogCallback; params.debugStallMode = Watchdog_DEBUG_STALL_ON; _watchdogHandle = Watchdog_open(CC2650_WATCHDOG0, ¶ms); uint32_t watchdogTicks = Watchdog_convertMsToTicks(_watchdogHandle, 15000); Watchdog_setReload(_watchdogHandle, watchdogTicks);