AM261x MCU+ SDK: RTI

| AM261x MCU+ SDK 26.00.00 |

RTI

The Windowed Watchdog Timer (WWDT) generates reset after a programmable period, if not serviced within that period. This time-out boundary is configurable, and the windowed feature allows the start time boundary to be configurable. The WWDT can generate an Interrupt, if not serviced within window (Open Window) defined by start time and time-out boundary. Also the WWDT can generate an Interrupt if serviced outside Open Window (within Closed Window). Generation of Interrupt depends on the WWDT Reaction configuration. SDL supports configuration of the watchdog timers. It also supports notification of the error via ESM interrupt. Additionally, APIs for checking the status of the watchdog timer is provided.

# Features Supported

The RTI modules include the following main features:

- Ability to to initialize the RTI -DWWD module.
- Ability to configure RTI -DWWD module.
- Ability to service an RTI instance.
- Ability to read Status of the configuration.
- Ability to read back static register.

There are Four RTI Timer instances, implemented by the Real-time Interrupt function of the RTI/WWDT module. Four Windowed Watchdog Timer (WWDT) instances, implemented by the Digital Windowed Watchdog (DWWD) function of the RTI/WWDT module

The WWDT instances are intended to function as a digital windowed watchdog for the CPU core that they are associated with:

- WWDT0 is dedicated to the first R5F CPU core (R5FSS0_CORE0)
- WWDT1 is dedicated to the second R5F CPU core (R5FSS0_CORE1)
- WWDT2 is dedicated to the third R5F CPU core (R5FSS1_CORE0)
- WWDT3 is dedicated to the fourth R5F CPU core (R5FSS1_CORE1)

All WWDT instances that are provisioned for a particular CPU core should not be used by any other CPU cores.

# SysConfig Features

- None

# Features NOT Supported

- None

# Features NOT Supported

# Important Usage Guidelines

- None

# Example Usage

The following shows an example of SDL RTI API.

Include the below file to access the APIs

#include <sdl/sdl_rti.h>

Config an RTI Instance

SDL_RTI_configParms pConfig;
/* Configure RTI parameters for preload, window and reaction*/
pConfig.SDL_RTI_dwwdPreloadVal = RTIGetPreloadValue(RTI_CLOCK_SOURCE_200KHZ, RTI_WDT_TIMEOUT);
pConfig.SDL_RTI_dwwdWindowSize = RTI_DWWD_WINDOWSIZE_100_PERCENT;
pConfig.SDL_RTI_dwwdReaction = RTI_DWWD_REACTION_GENERATE_NMI;
retVal = SDL_RTI_config(SDL_WDT0_U_BASE, &pConfig);
if (retVal == SDL_EFAIL)
{
UART_printf("Error during Window configuration.\n");
}

Verify the config

/* Verify the config */
retVal = SDL_RTI_verifyConfig(SDL_WDT0_U_BASE, &pConfig);
if (retVal == SDL_EFAIL)
{
UART_printf("Error during Window Verify configuration.\n");
}

Read the static registers

SDL_RTI_staticRegs pStaticRegs;
retVal = SDL_RTI_readStaticRegs(SDL_WDT0_U_BASE, &pStaticRegs);

Start an RTI Instance

SDL_RTI_start(SDL_WDT0_U_BASE);

Start an RTI Instance

/* Servicing of the watchdog is done by the core that is being monitored with the watchdg */
SDL_RTI_service(SDL_WDT0_U_BASE);

# API

APIs for SDL RTI

SDL_RTI_configParms::SDL_RTI_dwwdReaction
uint32_t SDL_RTI_dwwdReaction
Definition: sdl_ip_rti.h:95
SDL_RTI_verifyConfig
int32_t SDL_RTI_verifyConfig(SDL_RTI_InstanceType InstanceType, SDL_RTI_configParms *pConfig)
RTI API to verify the written configuration. This API can be used after calling SDL_RTI_config in ord...
RTI_DWWD_WINDOWSIZE_100_PERCENT
#define RTI_DWWD_WINDOWSIZE_100_PERCENT
Definition: sdl_ip_rti.h:184
SDL_RTI_config
int32_t SDL_RTI_config(SDL_RTI_InstanceType InstanceType, const SDL_RTI_configParms *pConfig)
RTI configuration API. This API configures the specified RTI instance using the provided configuratio...
SDL_RTI_configParms::SDL_RTI_dwwdPreloadVal
uint32_t SDL_RTI_dwwdPreloadVal
Definition: sdl_ip_rti.h:91
sdl_rti.h
SDL_RTI_readStaticRegs
int32_t SDL_RTI_readStaticRegs(SDL_RTI_InstanceType InstanceType, SDL_RTI_staticRegs *pStaticRegs)
This API returns the static registers for RTI-DWWD.
SDL_RTI_configParms::SDL_RTI_dwwdWindowSize
uint32_t SDL_RTI_dwwdWindowSize
Definition: sdl_ip_rti.h:93
SDL_RTI_start
int32_t SDL_RTI_start(SDL_RTI_InstanceType InstanceType)
Enable the RTI instance.
RTI_DWWD_REACTION_GENERATE_NMI
#define RTI_DWWD_REACTION_GENERATE_NMI
Definition: sdl_ip_rti.h:220
SDL_RTI_staticRegs
List of Static Registers for RTI DWWD.
Definition: sdl_ip_rti.h:73
SDL_RTI_service
int32_t SDL_RTI_service(SDL_RTI_InstanceType InstanceType)
Service the RTI instance.
SDL_RTI_configParms
List of Config Parameters for RTI DWWD.
Definition: sdl_ip_rti.h:89