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 |
| #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 |
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| void SDL_SYSCTL_handleWDIntr | ( | void | ) |
Handles watchdog interrupt.
This function should be called from the watchdog interrupt to handle the interrupt.