スタンドアロン アプリケーションにおけるイベント管理 - 2023.2 日本語

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

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

スタンドアロン アプリケーションの場合、エージェントは、XilPM Client ライブラリの XPm_Register_Notifier () 関数を使用して特定のイベントについて通知を受け取ります。コールバックを登録したノードに関連するイベントについてエージェントが通知を受信する必要がなくなった場合、XPm_Register_Notifier() を使用して登録を解除できます。

呼び出し元は、次のパラメーターを指定して XPm_RegisterNotifier() を呼び出す前に、Notifier オブジェクトを初期化します。

node
通知を受け取るノード (デバイス ノード、電源ノード、エラー イベント ノードなど) の ID。
event
イベント ID またはエラー イベント マスク。node パラメーターとしてデバイス ノードまたは電源ノードの ID を指定した場合、イベント ID を指定します。node パラメーターとしてエラー イベント ノードの ID を指定した場合、エラー イベント マスクを指定します。
wake: true
イベント発生時にウェークアップする。false: ウェークアップしない (既にウェークアップしている場合は通知のみ)。バッファリング/キューイングなし。
callback
通知が利用可能な場合に呼び出されるカスタム コールバック関数へのポインター。コールバックは割り込みコンテキストから実行されるため、コールバックを使用する場合は特に注意が必要です。コールバックはオプションであり、NULL に設定することもできます。

デバイス ノードまたは電源ノードに関連するイベントが発生した場合、エージェントは次のフォーマットのデータをペイロードとして取得します。

表 1. エラー イベント通知のペイロード データ
予約 [12-15] イベント マスク [8-11] NodeID [4-7] コールバック タイプ [0-3]
表 2. デバイス/電源ノード関連イベントのペイロード データ
ノード ステート [12-15] イベント ID [8-11] NodeID [4-7] コールバック タイプ [0-3]

エージェントは、通知を受信するとコールバック タイプをチェックします。コールバック タイプが PM_NOTIFY_CB の場合、エージェントは XPm_NotifyCb() を呼び出します。

エラー イベント ノード ID、エラー イベント マスク、および API の詳細は、 『BSP およびライブラリ資料コレクション』 (UG643) を参照してください。