n-able-Arduino icon indicating copy to clipboard operation
n-able-Arduino copied to clipboard

resets every 5s (watchdog issue)

Open doh38 opened this issue 2 years ago • 5 comments

I have a device with a nrf51802. just calling anything under 10ms (even with the simplest form with delay(9) in the main loop) will make a few iteration and crash. funnily calling a delayMicrosecond(100000) will also crash it. I don't intent to use "delays" actually, but even the freertos example crash or any millis() usage. Is there anything I can do to debug this? I don't have serial on this board and use RTT... unfortunately here on an higher level, so I'm not sure to be able to check anything there :) *I succeeded to root it narrower. seems t be the watchdog triggering (error 2) ... tried to disable it, but it doesn't change anything unfortunately.

doh38 avatar Nov 18 '23 17:11 doh38

by default the watchdog is activated. first time ever used. You need to disable it or add `NRF_WDT->RR[0] = WDT_RR_RR_Reload; at any place you want it to be reseted. so solved :)

doh38 avatar Nov 19 '23 12:11 doh38

I also ran into this issue.

You can also disable the watchdog timer by adding: -DCONFIG_WDT_TIMEOUT_SECONDS=0 to your compiler flags.

It would be nicer for newcomers to n-able-Arduino if the CONFIG_WDT_TIMEOUT_SECONDS setting defaulted to 0 to disable the watchdog timer.

Alternatively, 'NRF_WDT->RR[0] = WDT_RR_RR_Reload' could be added to the top-level loop in main.c.

jhmaloney avatar Dec 03 '23 17:12 jhmaloney

I find it strange that this is happening, I've not seen it on my end but will definitely make that change.

h2zero avatar Dec 04 '23 13:12 h2zero

Thanks!

(You might not have noticed that the resets were happening. I didn't notice at first. What brought it to my attention was that variables were getting reset to their startup values.)

jhmaloney avatar Dec 04 '23 14:12 jhmaloney

I just submitted a tiny PR to make CONFIG_WDT_TIMEOUT_SECONDS default to zero (WDT disabled).

jhmaloney avatar Feb 24 '24 12:02 jhmaloney