Windows版iTRONサービスコールの作成 (データキュー)
(その1)
組み込みソフトウェアで利用されているOS「iTRON」のサービスコールをWindows上で動作させるためのライブラリです。
タスク間通信で用いられる『データキュー機能』の実装を説明します。
データキューとは、1ワードの固定長メッセージを受け渡すことによりタスク間の通信を行うオブジェクトです。
受け渡す1ワードの固定長メッセージはシステム側が確保したメッセージバッファにコピーしてキューイングされますので、メッセージを送信する側はメッセージの送信要求が完了すれば、相手側のメッセージ受信を待たずにメッセージ領域を解放できます。
メッセージバッファが一杯のときに、古いメッセージを破棄して強制的にメッセージバッファを空けてメッセージの送信が行えます。(メールボックスおよびメッセージバッファでは強制送信の機能はありません。)
データキューはVer4.0のみでサポートされている機能です。
・データキュー機能で提供されるサービスコールは以下のとおりです。
サービスコール名 | 説明 |
---|---|
cre_dtq / acre_dtq | データキューを生成します。 |
del_dtq | データキューを削除します。 |
snd_dtq / psnd_dtq / ipsnd_dtq / tsnd_dtq | データキューにデータを送信します。 |
fsnd_dtq | データキューにデータを強制的に送信します。 |
wai_sem / pol_sem / twai_sem | データキューからデータを取り出します。 |
ref_sem | データキューの状態を参照します。 |