Hello,
I'm using the watchdog and i'm feeding it in my main loop :
// Initialize watchdog as soon as possible err_code = watchdog_init(); APP_ERROR_CHECK(err_code); // Enter main loop. for (;;) { if (NRF_LOG_PROCESS() == false) { #ifdef NDEBUG // Clear exceptions and PendingIRQ from the FPU unit // TODO : find why the following code can trigger an exception in debug __set_FPSCR(__get_FPSCR() & ~(FPU_EXCEPTION_MASK)); (void) __get_FPSCR(); NVIC_ClearPendingIRQ(FPU_IRQn); // Handle power management power_manage(); #endif } // Feed the watchdog once the CPU has been waken up watchdog_feed(); } /**@brief Sleep until an event is received. */ void power_manage(void) { //#ifdef SOFTDEVICE_PRESENT (void) sd_app_evt_wait(); /*#else __WFE(); #endif*/ }
I tried with
#define NRFX_WDT_CONFIG_BEHAVIOUR 1
and
#define NRFX_WDT_CONFIG_BEHAVIOUR 0
But i'm still having a watchdog that is triggered and i don't knwo why. If someone can help me to debug this. I suspecting to not feeding the watchdog at the right place. The issue only occurs when i'm building and loading a release version (my debug version under Segger Embedded is working)
Best regards,
Aurélien