(toppers-users 2786) Re: メールボックスの機能について

TAKADA Hiroaki hiro @ ertl.jp
2008年 8月 7日 (木) 13:29:09 JST


杉山様

身近なところから指摘を受けたのですが、標準の sample1.h のように 
MAIN_PRIORITY が一番高くなっていると、私が前のメールで説明したような動
きになりません。私の説明は、MAIN_PRIORITY が一番低いと想定していました。

MAIN_PRIORITY が一番高いと、次のようになります。このストーリーだと2番
目のメッセージを優先度の低いタスクが受信します。

(1) main_taskが起動
(2) act_tsk(TASK1)で優先度の低いタスクが起動。
(3) act_tsk(TASK2)で優先度の高いタスクが起動。
(4) act_tsk(TASK3)で送信タスクが起動。
(5) slp_tsk()で優先度の高いタスクに切り替わる。
(6) 優先度の高いタスクが、メールボックス受信待ちになる。優先度の低いタ
    スクに切り替わる。
(7) 優先度の低いタスクが、メールボックス受信待ちになる。送信タスクに切
    り替わる。
(8) 送信タスクが最初に送信したメッセージは、最初にメールボックス待ちに
    なった優先度の高いタスクが受信する(TA_TFIFO属性なので)。
(9) 優先度の高いタスクはメッセージを表示し、再びメールボックス受信待ち
    になる。送信タスクに切り替わる。
(10) 送信タスクが2番目に送信したメッセージは、先にメールボックス待ちに
    なった優先度の低いタスクが受信する(TA_TFIFO属性なので)。

高田広章
名古屋大学

> 名古屋大学の高田 さま
> 
>  早速のレスありがとうございました。
> 表示のタイミングについては、大きな勘違いをしていたようで、お恥ずか
> しい限りでです。
> ご指摘の通りTA_TPRIに変更すると、受信は優先度の高いタスクのみに
> なることを確認しました。
> 
> パケットの数の件も、大変参考になりました。ありがとうございました。
>        ======================================================
>       _|  __|
>     _/_| _/_| E-mail:sugiyama @ ap.chugoku-pc.ac.jp 
>    _/ _|_/ _| 中国能力開発大学校 生産情報システム技術科
>   _/  __/  _| 杉山 誠
>  _/        _|akoto.Sugiyama  ================================
> 
> 
> 
>