この投稿では、MCU機能レジスタの故障による無限ループについて説明致します。
組込み製品は、厳しい稼働環境に置かれる場合や耐久年数が長い場合があります。そのため、下記のようにMCU機能に故障が発生し、無限ループに陥るプログラムがあります。機能安全対応製品や市場クレーム解析したい製品では、MCU機能が故障した場合を想定したプログラムにすることをお勧めいたします。
例1:ADC Status registerのADC End statusの故障
HAL ADCのAPIは、Timeout機能がない場合があります。また、Reset時にStatusをチェックしてループしているコードもありますのでご注意ください。