Our embedded controller is Advanced Drive Assist Systems(ADAS). It basically has Two software layers. Application software and low-level software.
Our controller has many low-level functions such as different communications protocols, different types of memory, Digital outputs, PWM Outputs, and so much more.
What might be the benefit of performing Failure Mode and Effect Analysis(FMEA) on these low-level functions? Is the purpose of this exercise to catch low-level software design problems? Also, would this analysis help in debugging?
How to perform thorough FMEA on low-level software for a typical Automotive ADAS Controller? For example, one Failure mode may be Loss of I2C communication or intermittent I2C communication. How to come up with all possible potential effects of this failure? How to come up with all possible Potential Causes of Failure?
How to identify all possible Failure Modes?