Difference between revisions of "Example watchdog"

From wiki.emacinc.com
Jump to: navigation, search
(Usage and Behavior)
(Usage and Behavior)
Line 12: Line 12:
 
==Usage and Behavior==
 
==Usage and Behavior==
  
Using <code>watchdog-test</code> we can A Watchdog Timer (WDT) is a hardware circuit that can reset the
+
The <code>watchdog-test</code> application can enable, disable, activate, configure and interrupt the watchdog hardware circuit.
computer system in case of a software fault.
+
 
 +
 
 +
{{imbox| type      = content| image    = [[Image:Emblem-question-yellow.svg|40px]]| style    = width: 400px;| textstyle = color: red; font-weight: bold; font-style: italic;| text      = Activating watchdog causes a system reset.}}
 +
 
 +
 
 +
 
 
<code>watchdog</code>  
 
<code>watchdog</code>  
  
Line 54: Line 59:
 
===Usage Example. Enabling <code>watchdog</code>===
 
===Usage Example. Enabling <code>watchdog</code>===
  
This will activate <code>watchdog</code> but it won't perform a periodic timeout interrupt (see the first usage example). So when you run it the program activates <code>watchdog</code> and then <code>watchdog</code> resets the system.
+
This will enable and activate <code>watchdog</code> but it won't perform a periodic timeout interrupt (see the first usage example). So when you run it the program activates <code>watchdog</code> and then <code>watchdog</code> resets the system.
  
 
<syntaxhighlight lang="text">
 
<syntaxhighlight lang="text">

Revision as of 12:07, 3 January 2014

TODO: {{#todo:Review(01.02.14-15:25->JG+)|Jgreene|oe 4,oe 5,jg,md,Review}}

This is a guide to the watchdog C example project included in the EMAC OE SDK.

A Watchdog Timer (WDT) is a hardware circuit that can reset the computer system in case of a software fault. This is an example test for the Linux watchdog API.

The watchdog project builds one executable: watchdog-test.

Opening, Building and Uploading the Project Files

stubbooo

Usage and Behavior

The watchdog-test application can enable, disable, activate, configure and interrupt the watchdog hardware circuit.



watchdog

Hardware Requirements

fof ofoo

watchdog Usage

./watchdog-test [-det]
  • d Disable the watchdog card.
  • -e" to enable the watchdog card
  • -s set the watchdog timeout

Usage Example. Activating watchdog with a periodic interrupt

This will activate watchdog and initiate a periodic interrupt to keep it from timing out.

root@som9g20:/tmp# ./watchdog-test 
Watchdog Ticking Away!

We have activated watchdog and now it is counting down to computer reset - or rather it would be if we didn't keep resetting it's timer. That's the LED on the SoM blinking at about 1 Hz. Every second watchdog-test is sending an IOCTL to the watchdog driver, which in turn ticks watchdog to reset its internal timer so it doesn't timeout and trigger a system reset.

Now we will stop interrupting watchdog and let it trigger a computer reset. Hit CTRL-C.

...and the system resets.

Usage Example. Disabling watchdog

root@som9g20:/tmp# ./watchdog-test -d
Watchdog card disabled.

...and the program exits normally.

Usage Example. Enabling watchdog

This will enable and activate watchdog but it won't perform a periodic timeout interrupt (see the first usage example). So when you run it the program activates watchdog and then watchdog resets the system.

root@som9g20:/tmp# ./watchdog-test -e
Watchdog card enabled.

...and the system resets.

Usage Example. Setting watchdog timeout

This will activate watchdog and set it to timeout in 5 seconds.

root@som9g20:/tmp# ./watchdog-test -t
Watchdog timeout set to 5 seconds!

...the program exits normally, then 5 seconds elapse, and then the system resets.

Summary

The watchdog C example project demonstrates how to use the Watchdog Timer. We provide examples of how to enable, disable, activate, configure and interrupt the watchdog hardware circuit.