インテルのみ表示可能 — GUID: hty1481130354218
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: hty1481130354218
Ixiasoft
17.7.4. DMAの初期化
このセクションでは、DMAレジスターを適切な順序で初期化する方法を説明します。この初期化シーケンスは、EMACインターフェイスの初期化が完了した後に行うことができます。DMAの初期化には、次の手順を実行します。
- ソフトウェア・リセットを提供し、すべてのEMAC内部レジスターとロジックをリセットします。(Bus Mode RegisterであるDMA Register 0 – ビット0)†
- リセットプロセスの完了を待機します。それには、DMA Register 0 (Bus Mode Register) のビット0をポーリングします。このビットは、リセット動作完了後にのみクリアされます。†
- レジスター11 (AXI Status) のビットをポーリングし、それまでに (ソフトウェア・リセットの前に) 開始しているトランザクションまたは進行中のトランザクションがすべて完了していることを確認します。
注: パフォーマンス上の理由により、ソフトリセット後にアプリケーションでレジスターをポーリングできない場合は、以降のステップを続行し、DMAの動作をトリガーする前に、このレジスターを再度確認することが推奨されます。これは、ステップ12 で説明されています。†
- DMA Register 0 (Bus Mode Register) の値を設定し、Bus Mode Registerを初期化します。これには、次のフィールドをプログラミングします。†
- Mixed BurstおよびAAL
- 固定バーストまたは未定義のバースト†
- バースト長の値とバーストモードの値†
- 記述子長 (リングモードが使用されている場合にのみ有効)†
- レジスター10 (AXI Bus Mode Register) でインターフェイスのオプションをプログラミングします。固定バースト長が有効になっている場合は、バス上で可能な最大バースト長を選択します (ビット[7:1])。†
- 送信および受信に適切な記述子チェーンを作成します。さらに、受信記述子がDMAによって所有されていることを確認します (記述子のビット31が設定されている必要があります)。OSFモードを使用する場合は、少なくとも2つの記述子が必要です。
- 記述子を再利用する前に、ソフトウェアが3つ以上の異なる送信記述子または受信記述子をチェーン内に作成していることを確認します。†
- 受信記述子リストおよび送信記述子リストのアドレスを、送信および受信記述子のベースアドレスで初期化します (それぞれ、レジスター3: Receive Descriptor List Address Registerとレジスター4: Transmit Descriptor List Address Register)。†
- レジスター6 (Operation Mode Register) で次のフィールドをプログラミングし、動作モードを初期化します。
- Receive Store And ForwardおよびTransmit Store And Forward†
- Receive Threshold ControlおよびTransmit Threshold Control (RTCおよびTTC)†
- ハードウェア・フロー制御のイネーブル†
- MTLの受信FIFOバッファーおよび送信FIFOバッファーのフロー制御アクティブ化と非アクティブ化のしきい値 (RFAとRFD)†
- エラーフレームおよびサイズが満たない正当なフレームの転送イネーブル†
- OSFモード†
- 割り込み要求をクリアします。これは、設定されているステータスレジスターのビット (割り込みビットのみ) に書き込むことで行います。例えば、ビット16 (Normal Interrupt Summary) に1を書き込むことで、このビットはクリアされます (DMAレジスター5: Status Register)。†
- レジスター7 (Interrupt Enable Register) をプログラミングし、割り込みを有効にします。†
- レジスター11 (AHB or AXI Status) を読み出し、これまでのトランザクションがすべて完了していることを確認します。†
注: レジスター11 (AXI Status) を読み出した際に、これまでのトランザクションのいずれかが現在も進行中の場合は、マスター・インターフェイスでアドレス指定されているスレーブ・コンポーネントを確認することが強く推奨されます。†
- コントロール・レジスター (DMAレジスター6: Operation Mode Register) のSR (ビット1) およびST (ビット13) を設定し、受信および送信のDMAを開始します。†