
Added initial support Xilinx Embedded Software. Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
56 lines
4.6 KiB
HTML
Executable file
56 lines
4.6 KiB
HTML
Executable file
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
|
<title>
|
|
xscuwdt v2_0
|
|
</title>
|
|
<link href="$DriverApiDocsCssPath" rel="stylesheet" type="text/css">
|
|
</head>
|
|
<h3 class="PageHeader">Xilinx Processor IP Library</h3>
|
|
<hl>Software Drivers</hl>
|
|
<hr class="whs1">
|
|
<!-- Generated by Doxygen 1.4.5 -->
|
|
<div class="tabs">
|
|
<ul>
|
|
<li id="current"><a href="index.html"><span>Main Page</span></a></li>
|
|
<li><a href="annotated.html"><span>Classes</span></a></li>
|
|
<li><a href="files.html"><span>Files</span></a></li>
|
|
</ul></div>
|
|
<h1>xscuwdt v2_0</h1>
|
|
<p>
|
|
The Xilinx SCU watchdog timer driver (<a class="el" href="struct_x_scu_wdt.html">XScuWdt</a>) supports the Xilinx SCU private watchdog timer hardware.<p>
|
|
The <a class="el" href="struct_x_scu_wdt.html">XScuWdt</a> driver supports the following features:<ul>
|
|
<li>Watchdog mode</li><li>Timer mode</li><li>Auto reload (timer mode only)</li></ul>
|
|
<p>
|
|
The watchdog counter register is a down counter and starts decrementing when the watchdog is started. In watchdog mode, when the counter reaches 0, the Reset flag is set in the Reset status register and the WDRESETREQ pin is asserted, causing a system reset. The Reset flag is not reset by normal processor reset and is cleared when written with a value of 1. This enables the user to differentiate a normal reset and a reset caused by watchdog time-out. The user needs to call XScuWdt_RestartWdt() periodically, to avoid the watchdog from being timed-out.<p>
|
|
The IsWdtExpired function can be used to check if the watchdog was the cause of the last reset. In this situation, call Initialize then call IsWdtExpired. If the result is true, watchdog timeout caused the last system reset. The application then needs to clear the Reset flag.<p>
|
|
In timer mode, when the counter reaches 0, the Event flag is set in the Interrupt status register and if interrupts are enabled, interrupt ID 30 is set as pending in the interrupt distributor. The IsTimerExpired function is used to check if the watchdog counter has decremented to 0 in timer mode. If auto-reload mode is enabled, the Counter register is automatically reloaded from the Load register.<p>
|
|
<b> Initialization and Configuration </b><p>
|
|
The device driver enables higher layer software (e.g., an application) to communicate with the Watchdog Timer.<p>
|
|
<a class="el" href="xscuwdt_8c.html#89082f584a64b3f0243a079198f587fc">XScuWdt_CfgInitialize()</a> API is used to initialize the Watchdog Timer. The user needs to first call the <a class="el" href="xscuwdt__sinit_8c.html#906c6b9e5b363a54ef434a9dbd8a6f85">XScuWdt_LookupConfig()</a> API which returns the Configuration structure pointer which is passed as a parameter to the <a class="el" href="xscuwdt_8c.html#89082f584a64b3f0243a079198f587fc">XScuWdt_CfgInitialize()</a> API.<p>
|
|
<b>Interrupts</b><p>
|
|
The SCU Watchdog Timer supports interrupts in Timer mode.<p>
|
|
This driver does not provide a Interrupt Service Routine (ISR) for the device. It is the responsibility of the application to provide one if needed. Refer to the interrupt example provided with this driver for details on using the Timer in interrupt mode.<p>
|
|
<b> Virtual Memory </b><p>
|
|
This driver supports Virtual Memory. The RTOS is responsible for calculating the correct device base address in Virtual Memory space.<p>
|
|
<b> Threads </b><p>
|
|
This driver is not thread safe. Any needs for threads or thread mutual exclusion must be satisfied by the layer above this driver.<p>
|
|
<b> Asserts </b><p>
|
|
Asserts are used within all Xilinx drivers to enforce constraints on argument values. Asserts can be turned off on a system-wide basis by defining, at compile time, the NDEBUG identifier. By default, asserts are turned on and it is recommended that users leave asserts on during development.<p>
|
|
<b> Building the driver </b><p>
|
|
The <a class="el" href="struct_x_scu_wdt.html">XScuWdt</a> driver is composed of several source files. This allows the user to build and link only those parts of the driver that are necessary.<p>
|
|
<br>
|
|
<br>
|
|
<p>
|
|
NOTE: The watchdog timer is not a part of the snoop control unit as indicated by the prefix "scu" in the name of the driver. It is an independent module in APU.<p>
|
|
<pre>
|
|
MODIFICATION HISTORY:</pre><p>
|
|
<pre> Ver Who Date Changes
|
|
----- --- -------- ---------------------------------------------
|
|
1.00a sdm 01/15/10 First release
|
|
1.02a sg 07/17/12 Included xil_assert.h for CR 667947. This is an issue
|
|
when the xstatus.h in the common driver overwrites
|
|
the xstatus.h of the standalone BSP during the
|
|
libgen.
|
|
2.0 hk 03/07/14 Version number revised.
|
|
</pre> Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.
|