[H8-ML(2055)] Re: ウォッチドッグタイマ
From: "Hirashita" <iced@xxxxxxxxxxxxxxx>
Date: 2002年07月09日(火)17時30分32秒
皆様、お世話になってます。ひやしたです。

どうも私の質問がRTOSを使用した場合と、ベタで書いたものとを
同時に質問してしまった事、及び「暴走」の意味合いが不明確だった事で
ご迷惑をおかけしてしまったようですね。申し訳有りません。

まず「暴走」ですが、可能性として最悪の事態を考えて、ITUなどの
タイマー割り込みは死ぬ可能性も存命する可能性も両者存在すると思っています。
ですので、どちらの場合にも確実にシステムリセットまで持っていきたいと
考えています。また、RTOSのデッドロックは人為的責任とします。

コードは現状でRTOSを使用しているので、RTOSで解決するなら楽です。
具体的にはミスポのNORTi3を使用しています。

例として三角関数一つを取り上げたのですが、実際にはループしてくるのに
2秒近くかかる浮動小数点演算のカタマリのタスク(但しリアルタイム性は要求されない)
が事実上のアイドルタスクとなっています。この中でWDTクリアは現実的ではありませんね。
その上の優先度にユーザーからのコマンドを受け付けるターミナルタスクが乗っています。
処理時間は長くても100ミリ秒です。
ここでhamayanさんのおっしゃるように、これよりもさらに優先度の高いタスクで
「WDTをクリアしてしばらく眠るタスク」を乗せるので安全ならば、作業量も
検証も楽だと(現状では)思っています。

ということで、質問として
1,暴走した場合にWDTを叩くタスクは確実にお亡くなりになるのか?
2,暴走しない場合にWDTを叩くタスクは確実にハードリアルタイムを満足するのか?
という事になるのですが、2は老舗の製品ですので心配不要かと思っています。
さて、1については皆様どのようにお考えでしょうか?

度重なる質問にて申し訳ありませんが、なにとぞ宜しくお願いします。

スレッド概略
[2050(R)](起点)
 └[表示中]
   └[2061(1)]


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


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