F29H85x-SDK  26.01.00
 
Sdl_sysctl_group

Introduction

Functions

int32_t SDL_SYSCTL_checkDEVCFGParity (void)
 Checks the DEVCFG register parity logic.
 
int32_t SDL_SYSCTL_checkCPUSYSParity (void)
 Checks the CPUSYS register parity logic.
 
int32_t SDL_SYSCTL_checkCPUPERCFGParity (void)
 Checks the CPUPERCFG register parity logic.
 
int32_t SDL_SYSCTL_checkMCD (void)
 Checks the Missing Clock Detection feature.
 
int32_t SDL_SYSCTL_checkWDTimeout (void)
 Tests the WATCHDOG Timeout functionality.
 
int32_t SDL_SYSCTL_checkWDResult (void)
 Checks the WATCHDOG Timeout result.
 
int32_t SDL_SYSCTL_checkWDWindow (void)
 Tests the WATCHDOG Window functionality.
 
void SDL_SYSCTL_handleESMIntr (uint32_t esmBase, uint32_t intSrc, void *callbackArg)
 Handles ESM interrupts.
 
void SDL_SYSCTL_handleWDIntr (void)
 Handles watchdog interrupt.
 

Macros

#define SDL_SYSCTL_NO_INTERRUPT   (0U)
 
#define SDL_SYSCTL_INTERRUPT   (1U)
 
#define SDL_SYSCTL_PARITY_TEST_KEY   0xAU /* Parity test enable */
 
#define SDL_SYSCTL_WD_WINDOW   0x20U
 
#define SDL_SYSCTL_WD_ENRSTKEY   0x0055U
 
#define SDL_SYSCTL_WD_RSTKEY   0x00AAU
 
#define SDL_SYSCTL_MMRPARITY_TIMEOUT   10U
 
#define SDL_SYSCTL_SYNCBUSY_TIMEOUT   10000U
 
#define SDL_SYSCTL_MCD_TIMEOUT   10000U
 
#define SDL_SYSCTL_WD_CHKBITS   0x0028U
 

Macro Definition Documentation

◆ SDL_SYSCTL_NO_INTERRUPT

#define SDL_SYSCTL_NO_INTERRUPT   (0U)

◆ SDL_SYSCTL_INTERRUPT

#define SDL_SYSCTL_INTERRUPT   (1U)

◆ SDL_SYSCTL_PARITY_TEST_KEY

#define SDL_SYSCTL_PARITY_TEST_KEY   0xAU /* Parity test enable */

◆ SDL_SYSCTL_WD_WINDOW

#define SDL_SYSCTL_WD_WINDOW   0x20U

◆ SDL_SYSCTL_WD_ENRSTKEY

#define SDL_SYSCTL_WD_ENRSTKEY   0x0055U

◆ SDL_SYSCTL_WD_RSTKEY

#define SDL_SYSCTL_WD_RSTKEY   0x00AAU

◆ SDL_SYSCTL_MMRPARITY_TIMEOUT

#define SDL_SYSCTL_MMRPARITY_TIMEOUT   10U

◆ SDL_SYSCTL_SYNCBUSY_TIMEOUT

#define SDL_SYSCTL_SYNCBUSY_TIMEOUT   10000U

◆ SDL_SYSCTL_MCD_TIMEOUT

#define SDL_SYSCTL_MCD_TIMEOUT   10000U

◆ SDL_SYSCTL_WD_CHKBITS

#define SDL_SYSCTL_WD_CHKBITS   0x0028U

Function Documentation

◆ SDL_SYSCTL_checkDEVCFGParity()

int32_t SDL_SYSCTL_checkDEVCFGParity ( void )

Checks the DEVCFG register parity logic.

This function performs a test of the parity test feature, using the parity error test functionality in DEVCFG register. An error is injected into a byte in each parity-protected DEVCFG register and the function confirms that ESM will raise an interrupt if there is any error.

Returns
SDL_PASS If the test passes.
SDL_EFAIL If the test fails.

◆ SDL_SYSCTL_checkCPUSYSParity()

int32_t SDL_SYSCTL_checkCPUSYSParity ( void )

Checks the CPUSYS register parity logic.

This function performs a test of the parity test feature, using the parity error test functionality in CPUSYS register. An error is injected into a byte in each parity-protected CPUSYS register and the function confirms that ESM will raise an interrupt if there is any error.

Returns
SDL_PASS If the test passes.
SDL_EFAIL If the test fails.

◆ SDL_SYSCTL_checkCPUPERCFGParity()

int32_t SDL_SYSCTL_checkCPUPERCFGParity ( void )

Checks the CPUPERCFG register parity logic.

This function performs a test of the parity test feature, using the parity error test functionality in CPUPERCFG register. An error is injected into a byte in each parity-protected CPUPERCFG register and the function confirms that ESM will raise an interrupt if there is any error.

Returns
SDL_PASS If the test passes.
SDL_EFAIL If the test fails..

◆ SDL_SYSCTL_checkMCD()

int32_t SDL_SYSCTL_checkMCD ( void )

Checks the Missing Clock Detection feature.

This function performs test of MCD(Missing Clock Detection) features in SYSCTL by Simulating a missing clock and makes sure it switches to the secondary clock. The interrupt caused by MCD takes care of Re-connecting missing clock detection to clock source to stop simulating clock failure. User needs to initialise their clock after testing this feature.

Returns
SDL_PASS If the test passes.
SDL_EFAIL If the test fails.

◆ SDL_SYSCTL_checkWDTimeout()

int32_t SDL_SYSCTL_checkWDTimeout ( void )

Tests the WATCHDOG Timeout functionality.

This function performs test of watchdog timeout feature by setting the watchdog to generate an interrupt signal instead of a reset signal in the WATCHDOG. This function will change the states of the Watchdog registers, it is advisable to save the contents of the registers before calling this function and restore after testing the feature. Note: This function is paired with SDL_SYSCTL_checkWDResult So, to check the result of this function we need to call it.

Returns
SDL_PASS If the test passes.
SDL_EFAIL If the test fails.

◆ SDL_SYSCTL_checkWDResult()

int32_t SDL_SYSCTL_checkWDResult ( void )

Checks the WATCHDOG Timeout result.

This function checks if the ISR got called after the test of watchdog timeout feature, basically it checks the wakeISRFlag if it got set or not.

Returns
SDL_PASS If the test passes.
SDL_EFAIL If the test fails.

◆ SDL_SYSCTL_checkWDWindow()

int32_t SDL_SYSCTL_checkWDWindow ( void )

Tests the WATCHDOG Window functionality.

This function performs test of watchdog window feature, it sets the lower boundary of the watchdog window by resetting the watchdog before it has a chance to reach the window threshold.

Returns
SDL_PASS If the test passes.
SDL_EFAIL If the test fails.

◆ SDL_SYSCTL_handleESMIntr()

void SDL_SYSCTL_handleESMIntr ( uint32_t esmBase,
uint32_t intSrc,
void * callbackArg )

Handles ESM interrupts.

This function handles ESM interrupts triggered by SYSCTL tests. When an interrupt occurs, the ESM triggers the ISR, which in turn calls this function to safely and appropriately handle the interrupt.

◆ SDL_SYSCTL_handleWDIntr()

void SDL_SYSCTL_handleWDIntr ( void )

Handles watchdog interrupt.

This function should be called from the watchdog interrupt to handle the interrupt.