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

セマフォ(Semaphores)の使用に関するFAQ

最終更新日:2017/07/05

質問1.セマフォとは何ですか?

回答
セマフォとは、共有リソースへのアクセスの調整または相互排他に使用されるThreadXのコンポーネントです。

質問2.一般に、セマフォは何のために使用されるのでしょうか?

回答
カウンティングセマフォは、主に相互排他に使用されます。また、カウンティングセマフォはイベント通知のためのメソッドとしても使用できます。

ThreadXでは、カウンティングセマフォの使い方に制限を設けていません。

質問3.Synergyプログラムでは、どのようにセマフォを生成するのでしょうか?

回答
セマフォは、tx_semaphore_createという処理を直接使用、またはSynergyコンフィギュレーションのThreadsタブのスレッドに、セマフォオブジェクトを新規追加して生成することができます。

質問4.セマフォは、どのようにイベント通知に使用できるのでしょうか?

回答
通知コールバック関数は、指定したセマフォがtx_semaphore_put_notifyで解放されるたびに呼び出されるように登録することができます。
このメカニズムは、リソースが使用可能ならばすぐに動作し、ポーリングを回避するようにして使用することができます。

質問5.どのようなセマフォ関数を利用できるのでしょうか?

回答
ThreadXは、セマフォ用に以下の処理(関数)を提供しています。
tx_semaphore_create
tx_semaphore_ceiling_put
tx_semaphore_delete
tx_semaphore_get
tx_semaphore_put
tx_semaphore_put_notify
tx_semaphore_info_get
tx_semaphore_performance_info_get
tx_semaphore_performance_system_info_get
tx_semaphore_prioritize
この処理について詳しくは、ThreadXのドキュメントをご確認ください。

質問6.セマフォの使用例はSynergyデザインのどこにありますか?

回答
ウェザーパネルのサンプルアプリケーションでは、セマフォをグラフィックドライバに1つ、外部IRQ処理に1つ使用しています。

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

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

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

適用製品

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