メインコンテンツまでスキップ
Knowledgebase
Home
Renesas Electronics Japan - Knowledgebase

メッセージキューの使用に関するFAQ

最終更新日:2017/07/05

質問1.メッセージキューとは何ですか?

回答
メッセージキューは、ThreadXにおけるスレッド間の主要な通信手段です。1つ以上のメッセージが1つのメッセージキューに存在できます。

質問2.メッセージキューの仕組みは?

回答
メッセージは、tx_queue_sendによってキューにコピーされ、tx_queue_receiveによってキューからコピーされます。
唯一の例外は、スレッドが空のキューでメッセージを待ちながら中断されている場合です。
その場合、キューに送られる次のメッセージは、スレッドの格納先領域に直接格納されます。

質問3.メッセージキューはどのように生成されるのでしょうか?

回答
メッセージキューは、初期化中またはアプリケーションスレッドによるランタイム中に生成されます。アプリケーション内のメッセージキューの数に制限はありません。

質問4.どのメッセージサイズに対応していますか?

回答
各メッセージキューは、複数の固定サイズメッセージに対応しています。利用できるメッセージサイズは、32ビットのワード1~16個分です。メッセージサイズは、キュー生成時に指定されます。16ワードを超えるアプリケーションメッセージは、ポインタで渡す必要があります。これは、メッセージサイズが1ワード(ポインタの保持に十分なサイズ)のキューを作成し、メッセージ全体ではなく、メッセージポインタを送受信することによって実現されます。

質問5.メッセージキューの容量は?

回答
キューが保持できるメッセージ数は、生成時に指定されるメッセージサイズとメモリ領域のサイズとの関係で決まります。
キューのメッセージ数は、提供されたメモリ領域の総バイト数を、各メッセージのバイト数で割ることで計算されます。
たとえば、32ビットのワード1つ分(4バイト)のメッセージサイズに対応するメッセージキューが100バイトのメモリ領域に生成された場合、メッセージ数は25個になります。

質問6.さらに詳しい情報はどこにありますか?

回答
さらに詳しい情報は、ThreadXユーザマニュアルをご参照ください。

©1997-2016 Express Logic, Inc. All rights reserved.本文書と関連するThreadXソフトウェアは、Express Logic, Inc.の独占所有物です。各々にExpress Logic, Inc.の専有情報が含まれています。

 

適用製品

Renesas Synergy™ プラットフォーム
Renesas Synergy™ ソフトウェア