こんにちは、チームの皆さん
概要: エラー処理用の eMCEM モジュールに取り組んでいます。したがって、SAF (eMCEM モジュール) の設計に従って、eMcem_InjectFault() によって NCF 障害がトリガーされると、アラーム ハンドラーが呼び出されます。
2 つのアラーム ハンドラーを呼び出すことができるようです。
1. eMcemUserAlarmHandler - 都合に応じて EMCEM_ERR_RECOVERED/EMCEM_ERR_NOT_RECOVERED をCAN返します。emcem_clearfault APIが最終的に呼び出されるのもわかります
Harish_R_0-1754286287382.png
EMCEM_ERR_RECOVERED を返しましたが、エラーが実際にはクリアされない場合はどうなるでしょうか。また、emcem_clearfault のみが障害のステータスをクリアします。どのように処理することが予想されますか?
EMCEM_ERR_RECOVEREDが返された場合、その場合には NMI もトリガーされません。SO、そのCASE、NMI に何が必要でしょうか。NMIはどのように活用されますか?
2. eMcemDefaultAlarmHandler - この API を使用すると、同じエラーが返されるため、常に回復されていないステータスが返されます。そして再びISRをトリガーします。どのように対処すればよいでしょうか?
DTC を設定したい場合、回復不可能な障害に対して DTC をどのような条件で設定すればよいですか。
誰かが情報を教えてくれたら。それは役に立つでしょう。
BR、
ハリッシュR
こんにちは、 @Harish_R
ご投稿ありがとうございます。
1.eMCEM ドライバは、アラーム ハンドラー関数を定義することによって ALARM イベント情報 を処理する機能を提供します。ユーザーは、あらゆる FCCU 障害に対して独自の処理機能を定義できます。1 つのハンドラー関数を複数の障害に使用CAN。SW回復可能として設定された障害はeMCEMによって自動的にクリアされます。
場合によっては、FCCU によってキャプチャされた障害が特定の IP の実際の機能に影響を与えない可能性があり、ハンドラーが障害をクリアした後、システムは問題なく実行を継続する場合があります。場合によっては、障害をクリアするだけでは不十分で、エラーが存在し、クリア後に対応する障害が設定されることがあります。その場合、実際に問題を修正するためのコードを実装するのはユーザーの責任です。
3. ユーザーは、独自のデザイン/ユースCASEに従ってDTCを定義するときに、どの種類の障害を回復不能として扱うことができるかを決定できます。
BR
チェイン