Why not to use the hardware watchdog timer which is more reliable and simple than the pure software solution?
On Sun, Mar 14, 2021 at 5:49 AM Fotis Panagiotopoulos <f.j.pa...@gmail.com> wrote: > Hi everybody! > > I am in need of per-task software watchdog timers. > I would like to somehow monitor my tasks, and ensure that they are running > as they should. > (For example, not stuck in an infinite loop). > > For this purpose, I usually use software implementations of watchdog > timers. > Note that by this, I do not mean the watchdogs that Nuttx already has, > rather something similar to the hardware watchdog timer that most MCUs > have. > > Each task should have a timer, which needs to be reset (feed) periodically > so it does not expire. > If it does, the offending task is terminated, or the system is restarted. > > As far as I can tell, NuttX does not have such a facility to monitor the > execution of its tasks. (Or does it?) > > Is there any interest in adding this feature? > > I was thinking it like this: > - Adding a timer in struct tcb_s. > - Extend the sched() function to start, stop, configure and feed the > watchdog. > > What do you think? >