In this post, I will introduce an example flowchart for an ADC program that complies with functional safety standards.
ADC Register Configuration:
- Channel Register
- Control Register
- Status Register
- Data Register
ADC Specification:
Select a channel, perform A/D conversion, and store the converted value in a variable.

Even with such a simple specification, as shown in the flowchart, compliance with functional safety requires checking the operation of each register and detecting MCU faults.
Designing software specifications for ADCs that meet functional safety standards—especially when using multi-scan, event-triggered scan, or DMA—is, in my opinion, a highly challenging task.
Finally, as a personal view, I believe that MCUs designed for functional safety compliance could actually benefit from eliminating overly complex features.
