(toppers-users 1541) タスクの二重起動防止

Ko Tanikawa dev @ agapesystem.com
2004年 7月 16日 (金) 10:27:29 JST


谷川と申します。 uITRON 初心者で,低レベルな質問で申し
訳ありません。

例えば,外部のリレーを 10 秒間だけ ON にするタスクAが
有るとします。このタスクを,色々な所から起床するわけで
すが,既にタスクAが動作中は,タスクAを起床しないよう
にしなければいけません。

とりあえず,共有メモリでフラグを立てておいて制御すれば
よいわけですが,何かもっとスマートな方法は無いかと考え
ています。

自タスクが起床中は自タスクへの起床要求を無視する,と言
うようなことを簡単に実現する方法はないでしょうか?リレ
ーが ON かどうか,程度ならまだ良いのですが,タスクAを
起床できる条件が複雑になりますと,タスク起床要求前のチ
ェックが大変になります。

当初,タスク状態の参照 ref_tsk やイベントフラグの状態 
ref_flg を用いて制御しようと思いましたが, JSP カーネ
ルでは未実装ですよね?

何かヒントがありましたら,どうぞよろしくお願いします。

環境: H8/3069, TOPPERS/JSP, 1.4Cygwin+GCC

-- 
dev @ agapesystem.com 谷川