インテルのみ表示可能 — GUID: sbt1481130125169
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: sbt1481130125169
Ixiasoft
16.5.5.5. 単一ブロックまたは複数ブロックの書き込み
次の手順は、単一ブロックまたは複数ブロックの書き込みを行うものです。
- データサイズをバイト単位でbytcntレジスターに書き込みます。複数ブロックの書き込みの場合は、bytcntをブロックサイズの倍数にする必要があります。†
- ブロックサイズをバイト単位でblksizレジスターに書き込みます。コントローラーは、それぞれがblksizのサイズのブロックでデータを送信します。†
- データを書き込む必要があるデータアドレスでcmdargレジスターを書き込みます。†
- FIFOバッファーにデータを書き込みます。最高のパフォーマンスを実現するには、ホスト・ソフトウェアはFIFOバッファーがフルになるまで継続してデータを書き込む必要があります。†
- 単一ブロックおよび複数ブロックの書き込みに向けたcmdレジスターの設定に記載されているパラメーターでcmdレジスターを書き込みます。SDカードおよびMMCカードの場合、単一ブロックの書き込みにはSD/SDIO WRITE_BLOCK (CMD24) コマンドを使用し、複数ブロックの書き込みにはWRITE_MULTIPLE_BLOCK (CMD25) コマンドを使用します。SDIOカードの場合は、IO_RW_EXTENDEDコマンドを単一ブロック転送および複数ブロック転送の両方に使用します。†
cmdレジスターに書き込みを行うと、他のコマンドが処理中ではない場合に、コントローラーはコマンドの実行を開始します。コマンドがバスに送信されると、Command Done割り込みが生成されます。†
- ソフトウェアでは、データエラーの割り込み、すなわち、rintstsレジスターのdcrc、bds、およびebeビットを確認する必要があります。必要に応じて、ソフトウェアでSD/SDIO STOPコマンドを送信し、データ転送を早期に終了させることができます。†
- ソフトウェアでは、rintstsレジスターのホストのタイムアウト条件を確認する必要があります。†
- 送信FIFOバッファーデータ要求†
- ホストによるデータのスタベーション - ホストがデータを提供できる速度よりも早い速度でコントローラーがカードへのデータ書き込みを行っています。†
どちらの場合も、ソフトウェアでFIFOバッファーにデータを書き込む必要があります。†
転送には、オープンエンドと固定長の2つのタイプがあります。†
- オープンエンド転送 - オープンエンドのブロック転送の場合、バイトカウントは0です。データ転送の最後に、ソフトウェアはSTOP_TRANSMISSIONコマンド (CMD12) を送信する必要があります。†
- 固定長の転送 - バイトカウントは0以外です。バイト数は、bytcntレジスターにすでに書き込まれています。cmdレジスターのsend_auto_stopビットを1に設定している場合、コントローラーはSTOPコマンドを発行します。指定されているバイト数の転送が完了すると、コントローラーはSTOPコマンドを送信します。AUTO_STOPコマンドの完了は、Auto Command Done割り込みによって反映されます。AUTO_STOPコマンドに対する応答は、resp1レジスターに書き込まれます。ソフトウェアでcmdレジスターのsend_auto_stopビットを1に設定していない場合は、オープンエンドの場合と同様に、ソフトウェアでSTOPコマンドを発行する必要があります。†
rintstsレジスターのdtoビットが設定されると、データコマンドは完了します。†