エラー イベントをデバッグするには、以下の手順に従います:
- 図 5-6に示すように、次のスクリプト ESM_CPU_Check_Status () GEL ファイル ホット メニュー関数を CCS から実行して、エラー イベントのステータスを確認します。この機能出力は、2 つのカテゴリに分類されたエラー イベントを示します:
- アクティブ/ 保留中エラー イベント ― アクティブ/保留中のエラーイベントを示します
- エラー イベントがアクティブであるとは、エラー イベントの Raw ステータスがセットされていることを意味します。このとき、機能は F29x TRM の ESM エラー イベント表に記載された各イベントについて、RAW ステータス レジスタ (RAW_j) をチェックします。
- アクティブ、保留中、および有効エラー イベント –アクティブ / 保留中で、イネーブルされているエラー イベントを示します。
- エラーイベントがアクティブ、保留中、かつイネーブルであるとは、エラーイベントの RAW ステータスがセットされており、さらにユーザーによって割り込みイネーブル セット レジスタも設定されていて、対応する ESM モジュールから割り込み出力をトリガできる状態を意味します。
- GEL 出力の例と、それに対応する ESM レジスタとの関連を、下図に示します。これは、F29 SDK から引用した同じ ESM マルチコア例の続きです。
- 図 5-7は、CPU1_ERAD_NMI エラー イベントがアクティブであり、イネーブルであることを示しています。ESM CPU1 - CPU1_ERAD_NMI エラー イベントに対しても割り込み優先度レジスタ (INT_PRIO) が設定されており、これにより CPU1 (ESM CPU1 内) および CPU3 (ESM CPU3 内) の両方で NMI がトリガーされます。
- これに加えて、ErrorAggregator_CPU3_HPERR (上記のセクションで説明しているように、CPU3 DW バスのセキュリティ違反エラーによるエラーアグリゲータ CPU3 高優先度エラー)、EPWMXBAR1、CPU1 高優先度割り込み、および CPU3 高優先度割り込み出力もアクティブで、ESM RAW ステータスレジスタ (RAW_j) 値を使用してデコードされます。CPU1 および CPU3 の高優先度割り込み出力は、それぞれ CPU1 および CPU3 の NMI 出力フラグに対応します。また、EPWM XBAR および ERAD NMI イベントは NMI エラッタ回避策の実装で使用されるため、想定どおりアクティブ状態となります。詳細は F29x デバイスのエラッタを参照してください。
- EAM レジスタ フラグと同様に、RAW ステータス レジスタを NMI ISR 内でクリアする前に GEL 出力を確認してください。または、前述のように nmiStatus 構造体を確認し、後でデバッグ用に保存されている内容を参照してください。特定のイベントがアクティブ時に NMI をトリガするよう構成されている場合、NMIWD タイムアウトを回避するためには、ESM RAW ステータス (RAW_j) レジスタ フラグをクリアすることが必要です。