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?