Watchdog Timer standalone driver


Watchdog Timer standalone driver


Introduction

The watchdog timer can be used to prevent system lockup; for example, when software becomes trapped in a deadlock.
In normal operation, the user restarts the watchdog at regular intervals before the timer counts down to zero.
In cases where the timer does reach zero and the watchdog is enabled, one or a combination of the following signals is
generated: a system reset, an interrupt, or an external signal. The watchdog timeout period
and the duration of any output signals are variable.

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

Source path for the driver:
https://github.com/Xilinx/embeddedsw/tree/master/XilinxProcessorIPLib/drivers/wdtps
Driver source code is organized into different folders. Below diagram shows the iicps driver source organization

Watchdog timer
|
-- Doc - Provides the API and data structure details
|
- Examples - Reference application to show how to use the driver APIs and calling sequence
|
- Source - Driver source files

Controller Features supported

  • Configurable timeout interval in seconds.
  • Reset on timeout can be selected.

Driver Supported Features
The Axi watchdog timer Standalone driver support the below things.
All Controller Features supported.

Known issues and Limitations

  • None.

Test cases

Refer below pah for testing different examples for each feature of the IP.
https://github.com/Xilinx/embeddedsw/tree/master/XilinxProcessorIPLib/drivers/wdtps/examples

ChangeLog

  • 2017.1
    • Summary
      • wdtps: Added readme.txt file to generate doxygen for examples
    • Commits
      • 5c1ab36 wdtps: Added readme.txt file to generate doxygen for examples.
  • 2017.2
    • None
  • 2017.3
    • None
  • 2017.4
    • None
  • 2018.1
    • None
  • 2018.2
    • None
  • 2018.3
    • Summary
      • wdtps: examples: Fix for interrupt ID conflict issue 
    • Commits:
      • 1dc7258: Fix for interrupt ID conflict issue
  • 2019.1
    • None
  • 2019.2
    • None
  • 2020.1
    • Summary

      • wdttb: Removed compare value registers write.
      • wdttb: Removed compare value registers write in application.
      • wdttb: Fix MISRA-C 10.1,10.3,10.8,8.13 rule violation
      • wdttb: Added XWdtTb_ConfigureWDTMode to configure WDT mode
      • wdttb: Added XWdtTb_ConfigureWDTMode to configure WDT mode
      • wdttb: Add interrupt example to support versal platform
      • wdttb: Update on watchdog interrupt examples
    • Commits:
      • d0e04292 :Removed compare value registers write
      • 98428d50 :Removed compare value registers write in application.
      • afa2e303 :Reorganize the driver source
      • 93420396 :Fix MISRA-C 10.1 rule violation
      • 7759df8f :Fixed MISRA-C rule 10.3 violations
      • 77aff663 :Fixed MISRA-C rule 10.8 violation
      • 4db97034Fixed MISRAC rule 8.13 violation
      • 2442e0c1Added XWdtTb_ConfigureWDTMode to configure WDT mode
      • b0217ba0 :Add interrupt example to support versal platform
      • a0335d1b:Update on watchdog interrupt examples
  • 2020.2
    • Summary
      • wdtps: Update Makefile for parallel make execution
    • Commits
      • 8fb94c wdtps: Update Makefile for parallel make execution