Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Table of Contents

Introduction


This page gives an overview of Axi Watchdog timer driver /Window watchdog timer which is available as part of the Xilinx Vivado and SDK distribution.

The Xilinx® LogiCORE? IP AXI4-Lite Timebase Watchdog Timer (WDT) is a 32-bit peripheral that provides a 32-bit free-running
timebase and watchdog timer.
Source path for the driver:

For more information, please refer  AXI_Timebase_Wdt_Doc
Same Driver supports for  Versal platform , on versal supports Generic watchdog and window watchdog features.
For more information, please refer Chapter 59: System Watchdog Timer Versal Trm which includes links to the official documentation and resource utilization. 

Driver Sources

The source code for the driver is included with the Vitis Unified Software Platform installation, as well as being available in the Xilinx Github repository. 


DriverPath in vitisPath in Git Hub
wdttb<Vitis Install Directory>/data/embedded/XilinxProcessorIPLib/drivers/wdttbhttps://github.com/Xilinx/embeddedsw/tree/master/XilinxProcessorIPLib/drivers/wdttb



Info

Note: To view the sources for a particular release, use the rel-version tag in github.  For example, for the 2020.1 release, the proper version of the code is: https://github.com/Xilinx/embeddedsw/tree/master/XilinxProcessorIPLib/drivers/wdttb

Driver The driver source code is organized into different folders. Below diagram The table below shows the iicps wdttb driver source organization
Axi Watchdog timer
|
-- Doc - .


DirectoryDescription
srcDriver source files
examplesExample applications that show how to use the driver features
docProvides the API and data structure details
|
- Examples - Reference application to show how to use the driver APIs and calling sequence
|
- Source - Driver source files
dataDriver .tcl and .mdd file


Driver Implementation

For a full list of features supported by this IP, please refer AXI_Timebase_Wdt_Doc

For a full list of features supported by this IP, please refer 59: System Watchdog Timer Versal Trm

Features

Controller Features supported

• Connects as a 32-bit slave on a AXI4-Lite interface
• Watchdog timer with selectable timeout period and interrupt
• Configurable WDT enable: enable-once or enable-repeatedly
• One 32-bit free-running timebase counter with rollover interrupt-dual control register

Driver Supported Features

The Axi watchdog timer Standalone driver support the below things.
All Controller Features supported.
WWDT Driver support:
  • Supports Generic Watch dog timer and polled and interrupt mode window watch dog feature.
  • Q&A mode not implemented.

Known

issues

Issues and

Limitations

Limitataions

  • None
Test cases


Example Applications

Refer

...

to the driver examples directory for various example applications that exercise the different features of the driver. Each application is linked in the table below. The following sections describe the usage and expected output of the various applications.  These example applications can be imported into the Vitis IDE from the Board Support Package  settings tab.

...

ChangeLog

...

  • Summary:
    • Wdttb: Fixed compiler warnings.
    • Wdttb: Changes in Makefile to make map file consistent in windows and Linux
    • Wdttb: Added new static functions for WWDT
    • Wdttb: Fixed MISRA-C deviations.
  • Commits:
    • f674554:  Fixed compiler warnings.
    • c8317ceChanges in Makefile to make map file consistent in windows and Linux
    • 6975069Added new static functions for WWDT

...

  • Summary
    • wdttb: Support hierarchical designs
    • wdttb:data:Updated driver tcl file to support WWDT and AXI
    • wdttb:src:Updated WDT driver files to support AXI and WWDT
    • wdttb:examples:Updated examples to support AXI Timebase and WWDT
  • Commits:
    • 5d9c2673 wdttb: Support hierarchical designs
    • 7847a3b1f wdttb:data:Updated driver tcl file to support WWDT and AXI
    • 4a8e1505 wdttb:src:Updated WDT driver files to support AXI and WWDT
    •  4fb69010 wdttb:examples:Updated examples to support AXI Timebase and WWDT

...

  • Summary: 
    • wdttb: Removed psu_wwdt from supported peripherals
    • wdttb: Removed compare value registers write.
    • wdttb: Removed compare value registers write in application.
    • wdttb: Reorganize the driver source
    • wdttb: Added XWdtTb_ConfigureWDTMode to configure WDT mode
    • wdttb: Add interrupt example to support versal platform
    • wdttb: Update on watchdog interrupt examples
  • Commits:
    • 9a7e7e78 wdttb: Removed psu_wwdt from supported peripherals
    • d0e04292 wdttb: Removed compare value registers write.
    • 98428d50 wdttb: Removed compare value registers write in application.
    • afa2e303 wdttb: Reorganize the driver source
    • 2442e0c1 wdttb: Added XWdtTb_ConfigureWDTMode to configure WDT mode
    • b0217ba0 wdttb: Add interrupt example to support versal platform
    • a0335d1b wdttb: Update on watchdog interrupt examples

...

  • summary
    • wdttb: Fixed MISRA-C violations
    • wdttb: Updated GWOR offset and interrupt id
    • wdttb: update tcl with wwdt support
    • wdttb: Remove Generic WDT interrupt example for no standard out
    • wdttb: Add interrupt connection check for Generic WDT example
    • wdttb: Update Makefile for parallel make execution
  • Commits
    • 1f23bb wdttb: Updated GWOR offset and interrupt id
    • a7930a wdttb: update tcl with wwdt support 
    • 824a0  wdttb: Remove Generic WDT interrupt example for no standard out 
    • 207931 Add interrupt connection check for Generic WDT example
    • 979dec wdttb: Update Makefile for parallel make execution
Test NameExample sourceDescription

xwdttb_low_level_example.c


















Test NameExample sourceDescription

xwdttb_low_level_example.cThis example checks for Watchdog timer reset condition in two timer expiry state

xwdttb_selftest_example.cThis example does a minimal test on the watchdog timer timebase device and drive

xwdttb_example.cThis example tests the functioning of the TimeBase WatchDog Timer module in the polled mode

xwdttb_intr_example.cThis example tests the functioning of the TimeBase WatchDog Timer module in the interrupt mode

xwdttb_winwdt_example.cThis exampletests the functioning of the TimeBase WatchDog Timer module with window feature in the polled mode.

xwdttb_winwdt_intr_example.cThis example tests the functioning of the TimeBase WatchDog Timer module with window feature in the interrupt mode.

xwdttb_gwdt_selftest_example.cThis example does a minimal test on Generic watchdog timer device

xwdttb_gwdt_example.cThis example tests the functioning of the Generic watch dog Timer Feature in Polled mode

xwdttb_gwdt_intr_example.cThis example tests the functioning of the Generic watch dog Timer Feature in interrupt mode


Example Application Usage

WDTTB examples


Expected Output

Code Block
xwdttb_low_level_example.c
OUTPUT:
Successfully ran WDTTB low level example.

xwdttb_selftest_example.c 
OUTPUT:
Successfully ran WDTTB self test example.

xwdttb_example.c
OUTPUT:
Restart kick 1
.........................
Restart kick 2
.........................
Successfully ran WDTTB example

xwdttb_intr_example.c
OUTPUT:
Successfully ran Window WDT interrupt example.

xwdttb_winwdt_example.c
OUTPUT:
Restart kick 1
.........................
Restart kick 2
.........................
Successfully ran Window WDT example.

xwdttb_winwdt_intr_example.c
OUTPUT:
Successfully ran Window WDT interrupt example.

xwdttb_gwdt_selftest_example.c
OUTPUT:
Successfully ran GWDT self test example

xwdttb_gwdt_example.c
OUTPUT:
Self test completed
.................................................................................................................................
 Refresh kick1
................................................................................................................
 Refresh kick2
................................................................................................................
 Refresh kick3
................................................................................................................................................................................................................................................
Generic watchdog second window expired

xwdttb_gwdt_intr_example.c
OUTPUT:
Successfully ran GWDT interrupt example

2019.2

https://github.com/Xilinx/embeddedsw/blob/release-2019.2/doc/ChangeLog#L104

2019.1

https://github.com/Xilinx/embeddedsw/blob/

...

release-2019.1/doc/

...

ChangeLog#L178

Related Links