スタンドアロン アプリケーションからのデバイスの要求とリリース - 2023.2 日本語

Versal アダプティブ SoC システム ソフトウェア開発者向けガイド (UG1304)

Document ID
UG1304
Release Date
2023-10-18
Version
2023.2 日本語

アプリケーションがペリフェラル/デバイスの使用を要求する場合は、XPm_RequestNode() を呼び出す必要があります。次に例を示します。

XStatus XPm_RequestNode (const u32 DeviceId, const u32 Capabilities, const u32 QoS, const u32 Ack);

引数は次のとおりです。

Device ID
要求する PM デバイスのデバイス ID。
Capabilities
必要なデバイス固有の機能。複数の組み合わせが可能。機能には次のものがあります。
  • PM_CAP_ACCESS: フル アクセス/機能
  • PM_CAP_CONTEXT: コンテキストを保存
  • PM_CAP_WAKEUP: ウェークアップ割り込みを送信
  • PM_CAP_UNUSABLE: 実行時サスペンド (サブシステムに対してデバイスが要求されたが、デバイスのクロックが無効)
  • PM_CAP_SECURE: セキュア アクセス タイプ (非セキュア/セキュア)
  • PM_CAP_COHERENT: デバイス コヒーレンシ
  • PM_CAP_VIRTUALIZED: デバイス仮想化

詳細は、 『BSP およびライブラリ資料コレクション』 (UG643) を参照してください。

QoS
必要なサービス品質 (0 ~ 100)。
注記: 現在、QoS は AI エンジンのクロック周波数の制御にのみ使用され、AI エンジン クロックの分周値を表します。AI エンジンのクロック周波数の制御 を参照してください。
Ack
要求された肯定応答 (ACK) タイプ。
注記: この引数は、Zynq UltraScale+ MPSoC でのみ使用します。Versal デバイスの場合、この引数の値は常に blocking に設定されます。

デバイスが既にいずれかのサブシステムによって要求されている場合、XPm_SetRequirement() を呼び出して要件を変更できます。次に例を示します。

XStatus XPm_SetRequirement (const u32 DeviceId, const u32 Capabilities, const u32 QoS, const u32 Ack);

アプリケーションで不要になったデバイスは、リリースする必要があります。デバイスをリリースするには、XPm_ReleaseNode() を呼び出します。次に例を示します。

XStatus XPm_ReleaseNode (const u32 DeviceId);