![]() |
wdttb
Xilinx SDK Drivers API Documentation
|
The Xilinx watchdog timer/timebase component supports the Xilinx legacy watchdog timer/timebase and window watchdog timer hardware. More detailed description of the driver operation for each function can be found in the xwdttb.c file.
The Xilinx watchdog timer/timebase driver supports both legacy and window features: Features in legacy watchdog timer:
Features in window watchdog timer:
The window watchdog timer always enable feature enables watchdog timer forever. It can only be disabled by applying the reset to the processor or core.
It is the responsibility of the application to provide an interrupt handler for the timebase and the watchdog and connect them to the interrupt system if interrupt driven mode is desired.
The legacy watchdog timer/timebase component ALWAYS generates an interrupt output when:
The window watchdog timer asserts an interrupt when
The Timebase is reset to 0 when the Watchdog Timer is enabled.
If the hardware interrupt signal is not connected, polled mode is the only option (using IsWdtExpired) for the legacy watchdog and GetIntrStatus option for the window watchdog. Reset output will occur for the second watchdog timeout regardless. Polled mode for the timebase rollover is just reading the contents of the register and seeing if the MSB has transitioned from 1 to 0.
The IsWdtExpired function is used for polling the watchdog timebase timer and it is also 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. It is then acceptable to further initialize the component which will reset this bit.
The XWdtTb_GetIntrStatus is used for polling the window watchdog timer and it is used to check if interrupt programmed point has reached.
This driver is intended to be RTOS and processor independent. It works with physical addresses only. Any needs for dynamic memory management, threads or thread mutual exclusion, virtual memory, or cache control must be satisfied by the layer above this driver.
MODIFICATION HISTORY:
Ver Who Date Changes
1.00a ecm 08/16/01 First release 1.00b jhl 02/21/02 Repartitioned driver for smaller files 1.00b rpm 04/26/02 Made LookupConfig public and added XWdtTb_Config 1.10b mta 03/23/07 Updated to new coding style 1.11a sdm 08/22/08 Removed support for static interrupt handlers from the MDD file 2.00a ktn 22/10/09 The driver is updated to use HAL processor APIs/macros. The following macros defined in xwdttb_l.h file have been removed - XWdtTb_mEnableWdt, XWdtTb_mDisbleWdt, XWdtTb_mRestartWdt, XWdtTb_mGetTimebaseReg and XWdtTb_mHasReset. Added the XWdtTb_ReadReg and XWdtTb_WriteReg macros. User should XWdtTb_ReadReg/XWdtTb_WriteReg to achieve the desired functionality of the macros that were removed. 3.0 adk 19/12/13 Updated as per the New Tcl API's 3.1 sk 11/10/15 Used UINTPTR instead of u32 for Baseaddress CR# 867425. 4.0 sha 12/17/15 Added Window WDT feature with basic mode. Changed XWdtTb_GetTbValue to inline function. Adherence to MISRA-C guidelines. 4.0 sha 01/29/16 Added XWdtTb_Event enum type. Updated XWdtTb_Config structure with Window WDT parameters. Updated XWdtTb core structure with config parameter and removed RegBaseAddress parameter.
Added following static inline functions: XWdtTb_GetTbValue, XWdtTb_SetRegSpaceAccessMode, XWdtTb_GetRegSpaceAccessMode, XWdtTb_GetLastEvent, XWdtTb_GetFailCounter, XWdtTb_IsResetPending, XWdtTb_GetIntrStatus, XWdtTb_IsWrongCfg.
Added following functions: XWdtTb_AlwaysEnable, XWdtTb_ClearLastEvent, XWdtTb_ClearResetPending, XWdtTb_IntrClear, XWdtTb_SetByteCount, XWdtTb_GetByteCount, XWdtTb_SetByteSegment, XWdtTb_GetByteSegment, XWdtTb_EnableSst, XWdtTb_DisableSst, XWdtTb_EnablePsm, XWdtTb_DisablePsm, XWdtTb_EnableFailCounter, XWdtTb_DisableFailCounter, XWdtTb_EnableExtraProtection, XWdtTb_DisableExtraProtection, XWdtTb_SetWindowCount, XWdtTb_CfgInitialize. 4.0 sha 02/17/16 Removed 3.1 version and added CR# 867425 change in 4.0 version. 4.1 adk 23/12/16 Fix race conition in the tcl CR#966068 ms 03/17/17 Added readme.txt file in examples folder for doxygen generation. 4.2 ms 04/18/17 Modified tcl file to add suffix U for all macros definitions of wdttb in xparameters.h