モジュールは次のフローを実行してイベントをトリガーします。
- xplmi_ssit.h ファイルの SsitEventIndex テーブルにイベント インデックスを追加します。
-
XPlmi_SsitRegisterEvent()
API を使用して、ブート中に有効な入力引数を指定してイベントを登録します。 - イベントをトリガーします。
- メッセージ イベントをトリガーする場合は、コマンド情報を指定して要求バッファーを形成し、
XPlmi_SsitWriteEventBufferAndTriggerMsgEvent()
API を呼び出します。 - 送信するデータを持たない通知イベントをトリガーする場合は、有効な入力引数を指定して
XPlmi_SsitTriggerEvent()
API を呼び出します。
- メッセージ イベントをトリガーする場合は、コマンド情報を指定して要求バッファーを形成し、
- イベントがトリガーされたら、
XPlmi_SsitWaitForEvent()
API を使用して、トリガーされたセカンダリ SLR からの肯定応答 (ACK) を待機します。 - 対応する SLR によってイベントが肯定応答 (ACK) されたら、
XPlmi_SsitReadResponse()
API を使用して応答を読み出します。この手順は、メッセージ イベントにのみ適用可能です。
注記: メッセージ イベントがトリガーされる場合、手順 3 ~ 5 は
XPlmi_SsitSendMsgEventAndGetResp()
という単一の API にまとめられます。イベントがトリガーされ、対応する SLR に対して割り込みが生成される場合のフローは次のとおりです。
- SSI テクノロジ割り込みハンドラーは、保留中のイベントがないかをチェックし、イベント用に登録されたハンドラーを呼び出します。
- ハンドラーは、
XPlmi_SsitAcknowledgeEvent()
API を使用してイベントを肯定応答 (ACK) する必要があります。メッセージ イベントの場合、XPlmi_SsitMsgEventHandler()
ハンドラーが、コマンドの処理後に応答の書き込みとイベントの肯定応答 (ACK) を実行します。