フローの例 - 2023.2 日本語

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

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

モジュールは次のフローを実行してイベントをトリガーします。

  1. xplmi_ssit.h ファイルの SsitEventIndex テーブルにイベント インデックスを追加します。
  2. XPlmi_SsitRegisterEvent() API を使用して、ブート中に有効な入力引数を指定してイベントを登録します。
  3. イベントをトリガーします。
    1. メッセージ イベントをトリガーする場合は、コマンド情報を指定して要求バッファーを形成し、XPlmi_SsitWriteEventBufferAndTriggerMsgEvent() API を呼び出します。
    2. 送信するデータを持たない通知イベントをトリガーする場合は、有効な入力引数を指定して XPlmi_SsitTriggerEvent() API を呼び出します。
  4. イベントがトリガーされたら、XPlmi_SsitWaitForEvent() API を使用して、トリガーされたセカンダリ SLR からの肯定応答 (ACK) を待機します。
  5. 対応する SLR によってイベントが肯定応答 (ACK) されたら、XPlmi_SsitReadResponse() API を使用して応答を読み出します。この手順は、メッセージ イベントにのみ適用可能です。
注記: メッセージ イベントがトリガーされる場合、手順 3 ~ 5 は XPlmi_SsitSendMsgEventAndGetResp() という単一の API にまとめられます。

イベントがトリガーされ、対応する SLR に対して割り込みが生成される場合のフローは次のとおりです。

  1. SSI テクノロジ割り込みハンドラーは、保留中のイベントがないかをチェックし、イベント用に登録されたハンドラーを呼び出します。
  2. ハンドラーは、XPlmi_SsitAcknowledgeEvent() API を使用してイベントを肯定応答 (ACK) する必要があります。メッセージ イベントの場合、XPlmi_SsitMsgEventHandler() ハンドラーが、コマンドの処理後に応答の書き込みとイベントの肯定応答 (ACK) を実行します。