<br><br><div class="gmail_quote">On Wed, Sep 14, 2011 at 2:52 AM, Mulyadi Santosa <span dir="ltr">&lt;<a href="mailto:mulyadi.santosa@gmail.com">mulyadi.santosa@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Hi...<br>
<div class="im"><br>
On Tue, Sep 13, 2011 at 11:55, Kaustubh Ashtekar &lt;<a href="mailto:ksashtekar@gmail.com">ksashtekar@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt;<br>
&gt; On Fri, Sep 9, 2011 at 5:51 PM, sandeep kumar &lt;<a href="mailto:coolsandyforyou@gmail.com">coolsandyforyou@gmail.com</a>&gt;<br>
&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Hi all,<br>
&gt;&gt; I wanted to manipulate the watchdog timer driver to see how it works in<br>
&gt;&gt; deadlocks.<br>
&gt;<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; &lt;snip&gt;<br>
&gt;<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; My question is this,<br>
&gt;&gt; When watch dog timer expires(hardware watchdog), its interrupt directly<br>
&gt;&gt; resets the system<br>
&gt;&gt; (or) it is treated as an interrupt and a handler is executed.<br>
&gt;<br>
&gt; AFAIK, after the watchdog is triggered, the SoC/processor is completely<br>
&gt; reset including all the peripherals. The main purpose of a watchdog is to<br>
&gt; reset a processor which has locked up somewhere in some thread (with<br>
&gt; interrupts disabled, maybe), effectively starving the thread which is<br>
&gt; supposed to reset the watchdog periodically.<br>
<br>
</div>Just to add, AFAIK watchdog is used in &quot;locked&quot; scenario because it<br>
can&#39;t be masked and disabled...and it receives highest priority in<br>
trap/interrupt by the processors.<br></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><br>
AFAIK too, in most scenarios, handler is placed to picked up watchdog<br>
signal...and it is this handler which is then fix the situation.<br></blockquote><div><br></div><div><meta http-equiv="content-type" content="text/html; charset=utf-8"><div>AFAIK, this feature and maybe some other additional features (like Early wakeup) are implementation dependant. Also, for e.g. if code area and/or data area is corrupted due to any reason then even this non-maskable interrupt would not be able to fix the situation.</div>

</div><div><br></div><div>The watchdog&#39;s basic idea is to hardware (soft reset) the processor and the peripherals (through the RESET_OUT signal). Some additional features for e.g. of a periodic interrupt before some time the watchdog actually expires may be present in some implementations. This interrupt can be used either to reset the watchdog timer or maybe to do a core dump, for later debugging, before the system actually goes into a watchdog reset.</div>

<div><br></div><div>This watchdog features best use case is in embedded systems which where there may not be any human to manually reset the system, in case it is locked up.</div><div><br></div><div><br></div><div>Kaustubh </div>

</div>