インテルのみ表示可能 — GUID: mbo1481130161469
Ixiasoft
1. インテル® Agilex™ ハード・プロセッサー・システムのテクニカル・リファレンス・マニュアル改訂履歴
2. ハード・プロセッサー・システムの概要
3. Cortex-A53 MPCoreプロセッサー
4. キャッシュ・コヒーレンシー・ユニット
5. システムメモリー管理ユニット
6. システム・インターコネクト
7. ブリッジ
8. DMAコントローラー
9. オンチップRAM
10. ECC (エラー検出訂正) コントローラー
11. クロック・マネージャー
12. システム・マネージャー
13. リセット・マネージャー
14. ハード・プロセッサー・システムのI/Oピンの多重化
15. NANDフラッシュ・コントローラー
16. SD/MMCコントローラー
17. イーサネット・メディア・アクセス・コントローラー
18. USB 2.0 OTGコントローラー
19. SPIコントローラー
20. I2Cコントローラー
21. UARTコントローラー
22. 汎用I/Oインターフェイス
23. タイマー
24. ウォッチドッグ・タイマー
25. CoreSightのデバッグとトレース
A. ブートとコンフィグレーション
B. HPSを介したセキュア・デバイス・マネージャーQuad SPIフラッシュ・コントローラーへのアクセス
3.5.1. 例外レベル
3.5.2. 仮想化
3.5.3. メモリー管理ユニット
3.5.4. レベル1キャッシュ
3.5.5. レベル2メモリーシステム
3.5.6. スヌープ制御ユニット
3.5.7. 暗号化による拡張
3.5.8. NEONマルチメディア・プロセッシング・エンジン
3.5.9. 浮動小数点演算装置
3.5.10. ACEバス・インターフェイス
3.5.11. アボート処理
3.5.12. キャッシュ保護
3.5.13. 汎用割り込みコントローラー
3.5.14. 汎用タイマー
3.5.15. デバッグモジュール
3.5.16. キャッシュ・コヒーレンシー・ユニット
3.5.17. クロックソース
25.4.1. デバッグ・アクセス・ポート
25.4.2. CoreSight SoC-400タイムスタンプ・ジェネレーター
25.4.3. システム・トレース・マクロセル
25.4.4. トレースファネル
25.4.5. CoreSightのトレース・メモリー・コントローラー
25.4.6. AMBAトレース・バス・レプリケーター
25.4.7. トレース・ポート・インターフェイス・ユニット
25.4.8. NoCトレースポート
25.4.9. エンベデッド・クロス・トリガー・システム
25.4.10. エンベデッド・トレース・マクロセル
25.4.11. HPSのデバッグAPBインターフェイス
25.4.12. FPGAインターフェイス
25.4.13. デバッグクロック
25.4.14. デバッグのリセット
インテルのみ表示可能 — GUID: mbo1481130161469
Ixiasoft
16.5.11. 割り込みとエラーの処理
このセクションでは、割り込みを使用してエラーを処理する方法について説明します。電源投入時またはリセット時に割り込みは無効になり (ctrlレジスターのint_enableビットが0に設定される)、割り込みはすべてマスクされます (intmaskレジスターのデフォルトは0)。コントローラーのエラー処理には、次のタイプのエラーが含まれます。
- 応答およびデータのタイムアウト・エラー - 応答のタイムアウトの場合、ホスト・ソフトウェアはコマンドを再試行することができます。データのタイムアウトの場合、コントローラーはデータのスタートビットをカードから受信していないため、ソフトウェアでデータ転送全体を再試行する、もしくは指定されたブロック以降を再試行することが可能です。tcbcntの内容を読み出すことにより、ソフトウェアはコピー (読み出し) を行う残りのバイト数を特定することができます。†
- 応答エラー - 応答の受信中にエラーを受信すると1に設定されます。受信した応答が無効な場合、ソフトウェアはコマンドを再試行することができます。†
- データエラー - データの受信エラーが発生すると1に設定されます。データの受信エラーには、次のものが含まれます。†
- データのCRC†
- スタートビットが見つからない†
- エンドビットが見つからない†
これらのエラーは、いずれのブロックでも発生する可能性があります。エラーを受信すると、ソフトウェアではSD/SDIO STOPまたはSEND_IF_CONDコマンドを発行し、データ全体またはデータの一部に対してコマンドを再試行することができます。†
- ハードウェア・ロック・エラー - ソフトウェアによって発行されたコマンドをコントローラーがロードできない場合に1に設定されます。ソフトウェアがcmdレジスターのstart_cmdビットを1に設定すると、コントローラーはコマンドのロードを試みます。コマンドバッファーにすでにコマンドが含まれている場合にこのエラーは発生します。新しいコマンドは破棄されるため、ソフトウェアではコマンドを再ロードする必要があります。†
- FIFOバッファーのアンダーラン/オーバーラン・エラー - FIFOバッファーがフルの状態でソフトウェアがFIFOバッファーにデータの書き込みを試みると、オーバーラン・エラーが設定されます。逆に、FIFOバッファーが空の状態でソフトウェアがFIFOバッファーからデータの読み出しを試みると、アンダーラン・エラーが設定されます。FIFOバッファーに対してデータの読み出しまたは書き込みを行う前に、ソフトウェアでstatusレジスターのFIFO buffer empty (fifo_empty) ビットまたはFIFO buffer full (fifo_full) ビットを読み取る必要があります。†
- ホストのタイムアウトによるデータのスタベーション - この状態は、コントローラーに対して十分な速さでソフトウェアがFIFOバッファーにサービスを提供していない場合に発生します。この状態において、読み出し転送が進行中の場合は、ソフトウェアでFIFOバッファーからデータを読み出し、データをさらに受信するためのスペースを作成する必要があります。送信動作が進行中の場合は、ソフトウェアでデータを書き込みFIFOバッファーを満たすことで、コントローラーがカードにデータを書き込むことができるようにする必要があります。†
- CE‑ATAエラー†
- コマンドでのCRCエラー - コマンドでCRCエラーが検出された場合、CE‑ATAカードデバイスは応答を送信しないため、コントローラーからの応答タイムアウトが想定されます。ATA層には、MMCトランスポート層のエラーが発生したことが通知されます。†
- 書き込み動作 - カードデバイスがMMCトランスポート層のエラーを認識すると、未処理のATAコマンドは終了します。ATAステータスレジスターでERRビットが設定され、適切なエラーコードがATAカードデバイスのErrorレジスター (Error) に送信されます。†
CE‑ATAカードのデバイス割り込みビット (ATAコントロール・レジスターのnIENビット) が0に設定されている場合、CCSがホストに送信されます。†
デバイスの割り込みビットが1に設定されている際に、ホスト・コントローラーが進行中の転送を中断しない場合、カードデバイスはデータのユニットカウント全体を完了します。†
注: 複数ブロックのデータ転送中にカードデバイスから負のCRCステータスを受信すると、データパスでは、rintstsレジスターのdcrcビットを1に設定することにより、データのCRCエラーをBIUに通知します。その後、バイトがすべて送信されるまでデータの送信は継続します。† - 読み出し動作 - MMCトランスポート層のエラーがホスト・コントローラーによって検出された場合、ホストはエラーステータスでATAコマンドを完了します。ホスト・コントローラーは、CCSDコマンドを発行し、その後STOP_TRANSMISSION (CMD12) コマンドを発行して読み出し転送を中断することができます。また、ホストは、データ転送を中断することなくデータのユニット・カウント・バイト全体を転送することも可能です。†