JAJAA11 September 2025 F29H850TU , F29H859TU-Q1
C29x CPU には、CPU DR1 (データ読み取りバス 1)、DR2 (データ読み取りバス 2)、DW (データ書き込みバス)、PR (プログラム フェッチ/ 読み取りバス) の 4 つのバスがあります。各バスから発生したエラーは、それぞれの EAM エラー フラグ レジスタで個別に検出し、記録され、エラー源の切り分けに使用されます。
エラー アグリゲーションに加えて、エラー イベントも低優先度エラーと高優先度エラーに分けられます。この例では、4 つのバスすべてのエラー イベントを最初に、エラーの重大度に基づく低優先度と高優先度の 2 つのカテゴリに分類してから、集約します。集約された出力 ― 低優先度および高優先度のエラー イベント ― は、その後 ESM に渡されます。エラー優先度は、重大度に応じてデバイス内で事前定義されています。EAM でキャプチャされたすべてのエラーのエラーの優先度の詳細については、F29x テクニカル リファレンス マニュアルの「エラー アグリゲータ」の章を参照してください。
各エラーにはエラー タイプの値と固定の事前定義済み優先度が割り当てられており、以下の表に CPU PR バスを例として示します。
表 4-1に示す例は、CPU PR バス用です。シングル ビット (訂正可能エラー) および WARNPSP エラーは低優先度エラーに分類され、他のすべてのエラーは高優先度エラーに分類されます。CPU PR EAM 内のすべての高優先度エラー タイプには単一の集約出力があり、同様に CPU PR EAM 内のすべての低優先度エラーについても 1 つの集約出力があります。
| エラー タイプ値 | CPUx PR エラー | RAM、ROM、FRI–PR エラー | 優先順位 |
|---|---|---|---|
| 0x01 |
命令フェッチ セキュリティ違反。命令パケットが LINK、STACK、ZONE の境界を越えました。 リニア コードが LINK、STACK、ZONE の境界を越えました。 通常の分岐および呼び出しが STACK、ZONE の境界を越えました。 |
予約済み | High |
| 0x02 | セキュア エントリ エラー | 予約済み | High |
| 0x04 | セキュア終了エラー | 予約済み | High |
| 0x08 | MAX PSP エラー | 予約済み | High |
| 0x10 | アクセス タイムアウト エラー | 予約済み | High |
| 0x20 | アクセス ACK エラー | アクセス ACK エラー | High |
| 0x40 | 修正不可能なエラー | 修正不可能なエラー | High |
| 0x80 | 修正可能なエラー | 予約済み | Low |
| 0x100 | WARN PSP エラー | 予約済み | Low |
| 0x200 | ソフトウェア ブレークポイント エラー | 予約済み | High |
| 0x400 | 不正な命令エラー | 予約済み | High |
| 0x800 | 命令のタイムアウトエラー | 予約済み | High |
すべての CPU バス である CPU PR、DR1、DR2、DW からの高優先度エラーは、CPU HPERR (高優先度エラー) として統合され、ESM に送られます。同様に、CPU PR、DR1、DR2、DW からのすべての低優先度エラーは CPU LPERR (低優先度エラー) として統合され、ESM に送られます。これは、図 4-1 に示すとおりです。
集約の利点は、ESM に渡されるエラー イベントの数と、それらのエラー イベント (上表に表示) に対する ESM 内でのエラー レスポンス構成を、すべての CPU バスにわたって高優先度と低優先度の 2 種類のエラー イベントにまで削減できる点です。特にデバイス内にこのようなエラー イベントが複数存在する場合、各 CPU バスから発生する各エラーを個別に設定するため、これは冗長です。そのため、すべての CPU バスでのエラーが集約され、ESM に供給されます。エラーの集約に加えて、分離も重要です。これにより、ユーザーは低優先度エラーと高優先度エラーに対して、それぞれ適切なアクションを生成するよう ESM を構成できるからです。