Hi,
in our current project im trying to use the eMcem fault injection feature using eMcem_InjectFault(). Right now im only trying to inject a fault for EMCEM_DCM_NCF_5_FAULT_MONITOR0, EMCEM_DCM_NCF_5_FAULT_MONITOR1 & EMCEM_DCM_NCF_5_DBG_ACTIVATION. It seems that the fault injection is working properly. For every single fault injection, i also get the expected handler call.
The problem, however, is that as soon as I inject even the first error, the system stops working properly. Using eMcem_GetErrors(), I can see that au32Faults[2] = 0xA00 (type eMcem_FaultContainerType). As far as I understand, these seem to be STCU_NCF (Fault 73) and STCU_BIST_USER_CF / LMBIST_USER_CF (Fault 75).
How are these all related?
What steps should be taken to ensure that the system functions properly without errors after fault injection?
Here is my code flow:
- eMcem_InjectFault(nFaultId) // inject fault
- FCCU_ALARM_ISR() // polls FCCU_ALARM_ISR until handler callback sets flag
- Check if handler has set expected flag
- eMcem_ClearFaults(nFaultId)