FuSa 8-Bit Libraries Safety Framework
Loading...
Searching...
No Matches
tasks_startup_private.c
Go to the documentation of this file.
1
22
23// Framework Includes
24#include <define_error_flags.h>
25#include <define_error_ids.h>
26#include <define_tasks_config.h>
27#include <error_handler.h>
38#include <tasks_config.h>
40
41// Private function prototypes
42static void DetermineErrChConfigs(errChConfigs_t* configs);
43static errChConfig_t GetErrChConfig(errId_t id);
44
46{
47 const uint8_t noErrorFlagVal = (uint8_t)NO_ERROR;
48 uint8_t combinedFlags = noErrorFlagVal; // Default to NO_ERROR
49
50 const wdtTimeout_t closedWindow = WDT_TIMEOUT_OFF;
51
52 const uint32_t initialResetVal = INIT_SWDT_DURATION + SWDT_OPEN_WINDOW;
53 const bool useRegProtect = true; // Avoid accidental register modification
54 const bool useRegLock = false; // SWDT intended to be updated run-time
55 const bool useInstrMode = false; // Only clock mode supported by default
56
57 // Use bitwise 'OR' to combine return flags (assumes ERROR and NO_ERROR are nonzero complements)
58 combinedFlags |= (uint8_t)MW_SetWdtTimeout(closedWindow, INIT_WDT_DURATION);
59 combinedFlags |= (uint8_t)MW_SetSwdtResetValue(initialResetVal);
60 combinedFlags |= (uint8_t)MW_SetSwdtWindowValue(SWDT_OPEN_WINDOW);
61 MW_EnableSwdt(useRegProtect, useRegLock, useInstrMode);
62
63 // Check if any middleware functions returned ERROR
64 errFlag_t retFlag = NO_ERROR;
65 if (combinedFlags != noErrorFlagVal)
66 {
67 retFlag = ERROR;
68 }
69 return retFlag;
70}
71
73{
74 const uint8_t noErrorFlagVal = (uint8_t)NO_ERROR;
75 uint8_t combinedFlags = noErrorFlagVal; // Default to NO_ERROR
76
77 const cfdSource_t cfdSource = CFD_SRC_MAINCLK; // Ensure that the main clock source is monitored
78 const cfdReference_t cfdRef = CFD_REF_OSC32K; // Use internal reference (initially)
79
80 const cfmSource_t cfmSource = CFM_SRC_MAINCLK; // Ensure that the main clock source is monitored
81 cfmReference_t cfmRef = CFM_REF_OSC32K; // Use internal reference (initially)
82 const cfmWindow_t cfmWindow = { .windowHigh = INIT_CFM0_WIN_HIGH,
83 .windowLow = INIT_CFM0_WIN_LOW,
84 .refCount = INIT_CFM0_WIN_REF };
85 const bool useContinuousMode = true; // Monitor source continuously
86
87 // Use bitwise 'OR' to combine return flags (assumes ERROR and NO_ERROR are nonzero complements)
88 combinedFlags |= (uint8_t)MW_SetMainClockFrequency(INIT_CLOCK_FRQ, INIT_CLOCK_DIV);
89 combinedFlags |= (uint8_t)MW_StartCfd0(cfdSource, cfdRef);
90 combinedFlags |= (uint8_t)MW_StartCfm0(cfmSource, cfmRef, cfmWindow, useContinuousMode);
91
92 /* Intentional misra-c2012-2.2/14.3 deviation */
94 {
95 combinedFlags |= (uint8_t)MW_StartCfd1(cfdSource, cfdRef);
96 }
97 /* Intentional misra-c2012-2.2/14.3 deviation */
99 {
100 combinedFlags |= (uint8_t)MW_StartCfm1(cfmSource, cfmRef, cfmWindow, useContinuousMode);
101 }
102
103 // Check if any middleware functions returned ERROR
104 errFlag_t retFlag = NO_ERROR;
105 if (combinedFlags != noErrorFlagVal)
106 {
107 retFlag = ERROR;
108 }
109 return retFlag;
110}
111
113{
114 errChConfigs_t configs; // Used to configure all error channels
115
116 // Use configured Error ID criticality and float macro config to populate struct
117 DetermineErrChConfigs(&configs);
118
120
121 return flag;
122}
123
125{
126 const bool enableRoundRobin = (INIT_INT_ROUND_ROBIN == ENABLED);
127 const bool expectAltLocation = (INIT_INT_ALT_VECTOR_LOC == ENABLED);
128
129 // Enable all error interrupts. Memory, ERRCTRL and CPU error flag interrupts are always on.
131 MW_EnableClockInterrupts(); // All CFM and CFD interrupts.
132 MW_EnablePowerInterrupts(); // VMON and VLM interrupts.
133
134 MW_SetIntVectorLocation(expectAltLocation);
135
137
138 return flag;
139}
140
142{
143 const uint8_t noErrorFlagVal = (uint8_t)NO_ERROR;
144 uint8_t combinedFlags = noErrorFlagVal; // Default to NO_ERROR
145
146 const sleepMode_t sleepMode = SLP_MODE_IDLE;
147 const bool useVmonSleep = (INIT_VMON_ALWAYS_ON == ENABLED);
148 const bool useFullMode = (INIT_VMON_FULL_POWER_MODE == ENABLED);
149
150 // Use bitwise 'OR' to combine return flags (assumes ERROR and NO_ERROR are nonzero complements)
151 combinedFlags |= (uint8_t)MW_SetSleepMode(sleepMode);
152 // Assumes BOD is already enabled through fuses for config to take effect
153 combinedFlags |= (uint8_t)MW_ConfigVlm(INIT_VLM_THRESHOLD, INIT_VLM_TRIGGER);
154
155 MW_SetVmonSleep(useVmonSleep, useFullMode);
156
157 // Check if any middleware functions returned ERROR
158 errFlag_t retFlag = NO_ERROR;
159 if (combinedFlags != noErrorFlagVal)
160 {
161 retFlag = ERROR;
162 }
163 return retFlag;
164}
165
167{
168 const uint8_t noErrorFlagVal = (uint8_t)NO_ERROR;
169 uint8_t combinedFlags = noErrorFlagVal; // Default to NO_ERROR
170
171 const bool lockStackLimit = (INIT_STACK_LIMIT_LOCK == ENABLED);
172
173 // Use bitwise 'OR' to combine return flags (assumes ERROR and NO_ERROR are nonzero complements)
174 combinedFlags |= (uint8_t)MW_SetNvmEccAllOnes(INIT_NVM_ECC_ALL_ONES);
175 combinedFlags |= (uint8_t)MW_SetRamStackLimit(INIT_STACK_LIMIT, lockStackLimit);
176
177 // Check if any middleware functions returned ERROR
178 errFlag_t retFlag = NO_ERROR;
179 if (combinedFlags != noErrorFlagVal)
180 {
181 retFlag = ERROR;
182 }
183 return retFlag;
184}
185
187{
188 /* Intentional misra-c2012-2.2/14.3 deviation */
190 {
193 }
194
195 /* Intentional misra-c2012-2.2/14.3 deviation */
197 {
200 }
201
202 /* Intentional misra-c2012-2.2/14.3 deviation */
204 {
207 }
208
209 /* Intentional misra-c2012-2.2/14.3 deviation */
211 {
214 }
215
216 return; // Avoid empty function warning if all diagnostics are DISABLED
217}
218
220{
221 errFlag_t flag = NO_ERROR;
222
223 flag = MW_DiagRamParity();
225
226 flag = MW_DiagNvmParity();
228}
229
231{
232 errFlag_t flag = NO_ERROR;
233
234 flag = MW_DiagRamEcc();
236
237 flag = MW_DiagNvmFlashEcc();
239
240 /* Intentional misra-c2012-2.2/14.3 deviation */
242 {
243 flag = MW_DiagNvmEepromEcc();
245 }
246}
247
249{
250 /* Intentional misra-c2012-2.2/14.3 deviation */
252 {
255 }
256
257 /* Intentional misra-c2012-2.2/14.3 deviation */
259 {
262 }
263
264 /* Intentional misra-c2012-2.2/14.3 deviation */
266 {
269 }
270
271 /* Intentional misra-c2012-2.2/14.3 deviation */
273 {
276 }
277
278 /* Intentional misra-c2012-2.2/14.3 deviation */
280 {
283 }
284
285 /* Intentional misra-c2012-2.2/14.3 deviation */
287 {
290 }
291
292 /* Intentional misra-c2012-2.2/14.3 deviation */
294 {
297 }
298
299 /* Intentional misra-c2012-2.2/14.3 deviation */
301 {
304 }
305
306 return; // Avoid empty function warning if all diagnostics are DISABLED
307}
308
309// Translates Error ID criticality to Error Channel severity and sets I/O float based on config
310static void DetermineErrChConfigs(errChConfigs_t* configs)
311{
312 configs->vregfail = GetErrChConfig(ERRID_VREGFAIL_CH);
313 configs->buserr = GetErrChConfig(ERRID_BUSERR_CH);
314 configs->ram2 = GetErrChConfig(ERRID_RAM2_CH);
315 configs->flash2 = GetErrChConfig(ERRID_FLASH2_CH);
316 configs->opc = GetErrChConfig(ERRID_OPC_CH);
317 configs->splim = GetErrChConfig(ERRID_SPLIM_CH);
318 configs->ram1 = GetErrChConfig(ERRID_RAM1_CH);
319 configs->flash1 = GetErrChConfig(ERRID_FLASH1_CH);
320 configs->vregwarn = GetErrChConfig(ERRID_VREGWARN_CH);
321 configs->cfd0 = GetErrChConfig(ERRID_CFD0_CH);
322 configs->cfd1 = GetErrChConfig(ERRID_CFD1_CH);
323 configs->cfm0 = GetErrChConfig(ERRID_CFM0_CH);
324 configs->cfm1 = GetErrChConfig(ERRID_CFM1_CH);
325 configs->swdt = GetErrChConfig(ERRID_SWDT_CH);
326 configs->eeprom = GetErrChConfig(ERRID_EEPROM_CH);
327 configs->evsys0 = GetErrChConfig(ERRID_EVSYS0_CH);
328 configs->evsys1 = GetErrChConfig(ERRID_EVSYS1_CH);
329}
330
331// Converts criticality to severity and sets I/O float based on that severity for a given Error ID
332static errChConfig_t GetErrChConfig(errId_t id)
333{
334 // Assume CRITICAL criticality by default
335 errChConfig_t channel = { .severity = ERRCH_SEVERITY_CRITICAL, .floatIo = true };
336
337 // Read error handler config to translate the Error ID criticality to an error channel severity
338 const errCrit_t errorIdCrit = errorIdCritLut[id];
339
340 // IGNORE is not a valid channel severity, use default register value
341 if ((errorIdCrit == NON_CRITICAL) || (errorIdCrit == IGNORE))
342 {
345 }
346 else if (errorIdCrit == NOTIFICATION)
347 {
350 }
351 else
352 {
353 // Channel already set to CRITICAL where I/O float is always enabled
354 }
355
356 return channel;
357}
errCrit_t
Defines criticality levels used by EH_HandleError to determine the appropriate response for each repo...
Defines error flag type for indicating detected errors in Middleware services.
errFlag_t
Defines the error flag used by Middleware services to indicate error detection.
@ NO_ERROR
Defines for IDs associated with specific errors.
errId_t
Defines unique Error IDs for reporting system errors to EH_HandleError.
@ ERRID_DIAG_ERRCH_CFM0
@ ERRID_CFD1_CH
@ ERRID_SWDT_CH
@ ERRID_CFM1_CH
@ ERRID_DIAG_ERRCH_EVSYS1
@ ERRID_VREGWARN_CH
@ ERRID_BUSERR_CH
@ ERRID_DIAG_ERRCH_EVSYS0
@ ERRID_DIAG_ERRCH_CFM1
@ ERRID_DIAG_PARITY_NVM
@ ERRID_FLASH1_CH
@ ERRID_RAM1_CH
@ ERRID_DIAG_CFD0
@ ERRID_VREGFAIL_CH
@ ERRID_SPLIM_CH
@ ERRID_EEPROM_CH
@ ERRID_DIAG_CFM1
@ ERRID_CFD0_CH
@ ERRID_EVSYS0_CH
@ ERRID_DIAG_PARITY_RAM
@ ERRID_DIAG_ECC_EEPROM
@ ERRID_DIAG_ERRCH_CFD1
@ ERRID_DIAG_ERRCH_EEPROM
@ ERRID_DIAG_CFM0
@ ERRID_DIAG_ERRCH_SPLIM
@ ERRID_OPC_CH
@ ERRID_DIAG_CFD1
@ ERRID_DIAG_ECC_FLASH
@ ERRID_DIAG_ECC_RAM
@ ERRID_FLASH2_CH
@ ERRID_RAM2_CH
@ ERRID_DIAG_ERRCH_CFD0
@ ERRID_CFM0_CH
@ ERRID_EVSYS1_CH
cfmReference_t
Type definitions for available Clock Frequency Measure (CFM) references used for configuring the CFMs...
errFlag_t MW_DiagClockCfd0Begin(void)
Starts error injection diagnostic to detect faults in the Clock Failure Detection 0 (CFD0) monitor.
cfdSource_t
Type definitions for available Clock Failure Detection (CFD) sources used for configuring the CFDs.
void MW_EnableClockInterrupts(void)
Enables all Clock Failure Detect (CFD) and Clock Frequency Measure (CFM) interrupts.
errFlag_t MW_DiagClockCfm1(void)
Performs error injection diagnostic to detect faults in the Clock Frequency Measure 1 (CFM1) monitor.
cfdReference_t
Type definitions for available Clock Failure Detection (CFD) references used for configuring the CFDs...
errFlag_t MW_StartCfd1(cfdSource_t src, cfdReference_t ref)
Starts Clock Failure Detect 1 (CFD1) to monitor the configured clock source with the configured refer...
cfmSource_t
Type definitions for available Clock Frequency Measure (CFM) sources used for configuring the CFMs.
errFlag_t MW_StartCfm0(cfmSource_t src, cfmReference_t ref, cfmWindow_t window, bool useContinuous)
Starts continuous Clock Frequency Measure 0 (CFM0) to monitor the configured clock source with the co...
errFlag_t MW_StartCfm1(cfmSource_t src, cfmReference_t ref, cfmWindow_t window, bool useContinuous)
Starts continuous Clock Frequency Measure 1 (CFM1) to monitor the configured clock source with the co...
errFlag_t MW_StartCfd0(cfdSource_t src, cfdReference_t ref)
Starts Clock Failure Detect 0 (CFD0) to monitor the configured clock source with the configured refer...
errFlag_t MW_DiagClockCfm0(void)
Performs error injection diagnostic to detect faults in the Clock Frequency Measure 0 (CFM0) monitor.
errFlag_t MW_DiagClockCfd1Begin(void)
Starts error injection diagnostic to detect faults in the Clock Failure Detection 1 (CFD1) monitor.
errFlag_t MW_SetMainClockFrequency(clkFrq_t frequency, clkFrqDiv_t divider)
Initializes main clock with internal High Frequency Oscillator (OSCHF) as clock source.
@ CFD_SRC_MAINCLK
@ CFM_SRC_MAINCLK
const errCrit_t errorIdCritLut[ERRID_MAX]
Configures the criticality of all Error IDs for handling in EH_HandleError.
void EH_HandleError(errFlag_t flag, errId_t id)
Handles error based on configured Error ID criticality if the error flag is set.
errFlag_t MW_DiagErrorChannelCfd1(void)
Performs error injection diagnostic to detect faults in the CFD1 error channel.
errFlag_t MW_ConfigErrorChannels(const errChConfigs_t *configs, uint8_t timeout)
Sets the error controller timeout duration and configures all error channels with the provided settin...
errFlag_t MW_DiagErrorChannelEvsys0(void)
Performs error injection diagnostic to detect faults in the EVSYS0 error channel.
errFlag_t MW_DiagErrorChannelSplim(void)
Performs error injection diagnostic to detect faults in the SPLIM error channel.
errFlag_t MW_DiagErrorChannelCfm1(void)
Performs error injection diagnostic to detect faults in the CFM1 error channel.
errFlag_t MW_DiagErrorChannelCfm0(void)
Performs error injection diagnostic to detect faults in the CFM0 error channel.
errFlag_t MW_DiagErrorChannelEeprom(void)
Performs error injection diagnostic to detect faults in the EEPROM error channel.
errFlag_t MW_DiagErrorChannelCfd0(void)
Performs error injection diagnostic to detect faults in the CFD0 error channel.
errFlag_t MW_DiagErrorChannelEvsys1(void)
Performs error injection diagnostic to detect faults in the EVSYS1 error channel.
@ ERRCH_SEVERITY_CRITICAL
@ ERRCH_SEVERITY_NONCRITICAL
@ ERRCH_SEVERITY_NOTIFICATION
errFlag_t MW_SetIntPriority(bool useRoundRobin, uint8_t altStartVect, uint8_t highPriorityVect)
Configures interrupt scheduling and priority scheme.
void MW_SetIntVectorLocation(bool expectAltLoc)
Configures whether the device should expect an alternative interrupt vector table location (see IVSEL...
errFlag_t MW_DiagNvmEepromEcc(void)
This function performs error injection diagnostic to detect faults in the NVMCTRL ECC checkers with E...
errFlag_t MW_SetRamStackLimit(uint16_t splimAddr, bool lockEnable)
Sets the Stack Pointer Limit value and optionally locks the value to prevent modification.
errFlag_t MW_DiagRamEcc(void)
This function performs error injection diagnostic to detect faults in the redundant RAMCTRL ECC check...
errFlag_t MW_DiagRamParity(void)
This function performs error injection diagnostic to detect faults in the RAM parity checker triggere...
errFlag_t MW_SetNvmEccAllOnes(eccAllOnes_t config)
Sets ECC all Ones (ECCALL1) scheme.
errFlag_t MW_DiagNvmParity(void)
This function performs error injection diagnostic to detect faults in the CPU and NVM bus parity chec...
errFlag_t MW_DiagNvmFlashEcc(void)
This function performs error injection diagnostic to detect faults in the NVMCTRL ECC checkers with F...
void MW_SetVmonSleep(bool enableInSleep, bool useFullPowerMode)
Configures Voltage Monitor (VMON) operation during Standby or Power-Down sleep.
errFlag_t MW_ConfigVlm(vlmThreshold_t threshold, vlmTrigger_t trigger)
Configures the Voltage Level Monitor (VLM) with the provided voltage threshold and trigger condition.
sleepMode_t
Type defines for available sleep modes.
errFlag_t MW_SetSleepMode(sleepMode_t sleepMode)
Sets the sleep mode to be used when entering Sleep.
void MW_EnablePowerInterrupts(void)
Enables power related interrupts, including VMON, VLM and sleep error related interrupts.
@ SLP_MODE_IDLE
errFlag_t InitPower(void)
Private function, only exposed for unit testing and should not be called directly.
void RunStartupDiagParity(void)
Private function, only exposed for unit testing and should not be called directly.
void RunStartupDiagErrorCh(void)
Private function, only exposed for unit testing and should not be called directly.
errFlag_t InitClocks(void)
Private function, only exposed for unit testing and should not be called directly.
errFlag_t InitInterrupts(void)
Private function, only exposed for unit testing and should not be called directly.
errFlag_t InitWatchdogs(void)
Private function, only exposed for unit testing and should not be called directly.
errFlag_t InitErrorController(void)
Private function, only exposed for unit testing and should not be called directly.
void RunStartupDiagEcc(void)
Private function, only exposed for unit testing and should not be called directly.
void RunStartupDiagClock(void)
Private function, only exposed for unit testing and should not be called directly.
errFlag_t InitMemories(void)
Private function, only exposed for unit testing and should not be called directly.
#define DIAG_STARTUP_CFM1
Enables or disables execution of the CFM1 diagnostic in T_RunStartupDiagnostics.
#define DIAG_STARTUP_ERRCH_CFM0
Enables or disables execution of the CFM0 error channel diagnostic in T_RunStartupDiagnostics.
#define INIT_INT_LVL1
Configures which interrupt vector should have the level 1 (highest) priority.
#define INIT_CFM0_WIN_REF
Configures the reference value for the Clock Frequency Measure 0 (CFM0) window.
#define DIAG_STARTUP_CFD0
Enables or disables execution of the CFD0 diagnostic in T_RunStartupDiagnostics.
#define INIT_REDUNDANT_CFD
Enables or disables redundant CFD initialization.
#define INIT_REDUNDANT_CFM
Enables or disables redundant CFM initialization.
#define SWDT_OPEN_WINDOW
Configures the open window size used for the Synchronous Watchdog (SWDT).
#define INIT_INT_ROUND_ROBIN
Configures round robin schedule scheme for level 0 interrupts.
#define INIT_VMON_FULL_POWER_MODE
Configures the Voltage Regulator Monitor (VMON) power mode.
#define INIT_STACK_LIMIT_LOCK
Configures whether the Stack Pointer Limit (SPLIM) LOCK should be enabled or disabled.
#define INIT_CLOCK_FRQ
Configures the clock frequency for the device.
#define DIAG_STARTUP_ERRCH_SPLIM
Enables or disables execution of the SPLIM error channel diagnostic in T_RunStartupDiagnostics.
#define INIT_INT_LVL0_START
Configures the execution priority order of level 0 (normal priority) interrupt vectors.
#define DIAG_STARTUP_CFD1
Enables or disables execution of the CFD1 diagnostic in T_RunStartupDiagnostics.
#define INIT_FLOAT_NOTIFICATION
Configures whether all I/O pins should be floated (tri-stated) when an error controller channel,...
#define INIT_VMON_ALWAYS_ON
Configures whether the Voltage Regulator Monitor (VMON) is enabled in deep sleep modes.
#define DIAG_STARTUP_ERRCH_EVSYS1
Enables or disables execution of the EVSYS1 error channel diagnostic in T_RunStartupDiagnostics.
#define DIAG_STARTUP_ECC_EEPROM
Enables or disables execution of the EEPROM diagnostic in T_RunStartupDiagnostics.
#define DIAG_STARTUP_ERRCH_CFD0
Enables or disables execution of the CFD0 error channel diagnostic in T_RunStartupDiagnostics.
#define INIT_SWDT_DURATION
Configures the run-time duration between executing T_InitSafetySystem and the first T_HandleSyncWatch...
#define INIT_VLM_TRIGGER
Configures the Voltage Level Monitor trigger condition.
#define INIT_CLOCK_DIV
Configures the clock division for the device.
#define INIT_CFM0_WIN_HIGH
Configures the high value of the Clock Frequency Measure 0 (CFM0) window.
#define DIAG_STARTUP_ERRCH_CFM1
Enables or disables execution of the CFM1 error channel diagnostic in T_RunStartupDiagnostics.
#define INIT_ERRCTRL_TIMEOUT
Configures the ALARM and CONFIG state timeout period for the Error Controller.
#define DIAG_STARTUP_ERRCH_EEPROM
Enables or disables execution of the EEPROM error channel diagnostic in T_RunStartupDiagnostics.
#define DIAG_STARTUP_ERRCH_CFD1
Enables or disables execution of the CFD1 error channel diagnostic in T_RunStartupDiagnostics.
#define INIT_WDT_DURATION
Configures the timeout period, from executing T_InitSafetySystem to the first T_HandleWatchdog call,...
#define DIAG_STARTUP_CFM0
Enables or disables execution of the CFM0 diagnostic in T_RunStartupDiagnostics.
#define INIT_CFM0_WIN_LOW
Configures the low value of the Clock Frequency Measure 0 (CFM0) window.
#define INIT_FLOAT_NONCRITICAL
Configures whether all I/O pins should be floated (tri-stated) when an error controller channel,...
#define INIT_INT_ALT_VECTOR_LOC
Configures alternative interrupt vector location when using a bootloader.
#define INIT_NVM_ECC_ALL_ONES
Configures the "ECC all ones" scheme in Non-Volatile Memory.
#define INIT_STACK_LIMIT
Configures the max depth of the hardware call stack by setting the Stack Pointer limit address.
#define DIAG_STARTUP_ERRCH_EVSYS0
Enables or disables execution of the EVSYS0 error channel diagnostic in T_RunStartupDiagnostics.
#define INIT_VLM_THRESHOLD
Configures the Voltage Level Monitor threshold.
#define ENABLED
Used to enable optional Task features through macro configurations.
errFlag_t MW_SetWdtTimeout(wdtTimeout_t window, wdtTimeout_t period)
Configures and enables the Watchdog Timer in either Normal or Window mode.
void MW_EnableSwdt(bool useCcp, bool useLock, bool useInstrMode)
Enables the Synchronous Watchdog Timer with the provided configurations.
wdtTimeout_t
Defines available timeout configurations for the Watchdog Timer.
errFlag_t MW_SetSwdtResetValue(uint32_t resetVal)
Sets the Synchronous Watchdog Timer countdown reset value.
void MW_EnableSwdtInterrupts(void)
Enables all Synchronous Watchdog error interrupts.
errFlag_t MW_SetSwdtWindowValue(uint16_t window)
Sets the Synchronous Watchdog Timer open window value.
Contains API prototypes for the Clock Manager Diagnostics.
Contains API prototypes and defines for the Error Manager Diagnostics.
Contains API prototypes for the Memory Manager Diagnostics.
Struct for configuring the Clock Frequency Measure window.
Holds an error channel configuration for configuring the ERRCTRL.
errChSeverity_t severity
Holds configurations for all error channels.
Contains private function prototypes for tasks_startup.h.