SRAMでシングルビットエラーが発生しました。「AN12522 S32K1xx ECCエラー処理」ドキュメントには、エラー処理の3つの方法が紹介されています。シングルビットエラーの修正は自動で行われるのでしょうか?3つの処理方法はどのように設定すればよいでしょうか?ERMはエラー修正イベントの報告のみを行うのでしょうか?それとも、ERMが有効になっていなくてもシングルビットエラーを修正できるのでしょうか?
S32K14x および S32K11x デバイスは、単一ビット エラーを同じ方法で処理します。エラー報告モジュール (ERM) は、(有効な場合) 割り込みを生成して、CR0[ESCIEx] ビットを 1 に設定することで有効にできる単一ビット訂正イベントを通知できます。イベントが発生した後にエラーを処理する方法は 3 つあります。
1.通常の MCU 動作: MCU は障害を検出し (障害検出時間)、それを修正します (障害反応時間)。この時点で、MCU は正常に動作し続けます。
2. 障害を管理するための適切な機能安全メカニズムを備えています。MCU は障害を検出し (障害検出時間)、それを修正します (障害反応時間)。この時点で、ソフトウェアは safe_state_system に切り替える必要があります (safe_state_system とは、人身傷害や健康被害が発生する可能性が不当に低い動作モードです)。safe_state_system はユーザーが定義する必要があります。
3. 適切な機能安全メカニズムがない場合: MCU は障害を検出し (障害検出時間)、その後修正しますが、ユーザーにはエラーが発生したことが通知されません。フォールト トレランス時間間隔 (FTTI) が経過した後に危険が発生する可能性があります。
こんにちは@minsky
SRAM 読み取り操作中、ECC デコード ロジックが自動的に動作し、シングル ビット エラー訂正とマルチ ビット訂正不可能な ECC エラー検出を実現します。
複数ビットの訂正不可能なエラーが検出されると、2 サイクルの AHB バス エラー応答が生成され、AHB バスのデータ転送は終了しますが、ターゲット アドレスの SRAM データは変更されません。