[H8-ML(2043)] Re: ウォッチドッグタイマ
From: 舘野雄治 <webmaster@xxxxxxxxxxxx>
Date: 2002年07月09日(火)14時25分55秒
> 質問1
> ここで2の割り込みで叩く場合、コードやベクタは最終的には
> ROMに書かれる事になるでしょうから、暴走した場合にも
> 割り込みだけは平然と動き続ける、というケースを心配しているのですが、
> そのようなケースは現実にあり得るのでしょうか?

ある。というよりその方が多い。


> 質問2
> 上記とは別に、μITRON系のRTOSを使用したとします。
> この中で周期起動ハンドラでウォッチドッグを叩くとした場合、
> これは確実に暴走を検出できるのでしょうか?

上と同じ理由で全然できません。


タイマハンドラでWDTに餌をやりつつ、各タスクに対してタイマハンドラでWDTのような
ことをすればほぼ大丈夫だと思います。

具体的には各タスクにウオッチドッグカウンタ(以下WDC)を設け、割り込みハンドラ中
で「現在実行中」タスクのWDCをデクリメント、0になったら異常検出とし、各タスクで
WDCをある値(タイマが10ms間隔で500msにしたければ50)に設定することで「餌をやる」
事にすればいいかと。
なお、「現在実行中」タスクを知らなければならないのと優先度問題が存在するので、
uITRONの周期起動ハンドラやタスクでこれをやるのは×です。
# 周期起動ハンドラではできるかもしれませんが...


舘野雄治<webmaster@xxxxxxxxxxxx>
たろすけの部屋<http://www.tarosuke.net/>
スレッド概略
[2039(R)](起点)
 └[表示中]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]