[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
(itron-club 1767) Re: dly_tsk(0)
- To: itron-club __at__ ertl.jp (itron-club ML)
- From: TAKADA Hiroaki <hiro __at__ ertl.jp>
- Date: Tue, 25 Oct 2005 01:09:05 +0900 (JST)
藤倉様
以下、あくまでも個人的な見解です。
> dly_tskのスペックについて質問です。
> 相対待ち時間dlytimを0でdly_tskを呼び出した場合の動作は、0でも自タスクを待
> ち状態に遷移させるとのことなので、
> 1) 次のインタバルタイマ割込みまで、待ち状態になる。
> 2) dly_tsk実行中にタイマ割込みが入れば、E_OKで直ぐに帰る。
> の二通りと考えて良いのでしょうか。
実質的にはそのように考えて差し支えないと思いますが、2)については、厳密
には次のようになります。
μITRON仕様上は、サービスコールの実行は不可分に行われるのが原則ですの
で、dly_tskの実行の途中にタイマ割込みが入る状況は規定されません。実装
上、dly_tskの実行途中でタイマ割込みを受け付ける場合には、dly_tskの実行
直前に受け付けた場合か、実行直後に受け付けた場合の、いずれかと一致すれ
ば良いということです(μITRON4.0仕様の3.5.3節のサービスコールの不可分
性の議論をご覧ください)。
上の2)の振舞いは、実行直後に受け付けた場合と一致しますので、差し支えあ
りません。逆に、さらに次のタイマ割込みまで待ち状態としても差し支えあり
ません。
高田広章
名古屋大学