ma2013
2015年2月9日 15時26分
いつもお世話になっております。
MCSのマーです。
暴走対策として,
armadillo840のブートロード,カーネル範囲で,
watcg dog仕組を実装していますか?
以上,お願いいたします。
コメント
ma2013
at_ohsawa
暴走状態とは何を想定しているでしょうか。
Armadillo-840 では標準で watchdog timer を使用しています。
例えば、デバイスドライバの排他処理でのデッドロック等の理由で
長期にわたって割り込み禁止状態になった場合、
watchdog timer exceptionによりCPUがリセットされます。
watchdog timer の timeout は10sec、kickする周期は1secです。
kernelのブートプロセスに入る前からwatchdog timerによる監視は
有効です。
bootloaderの初期化処理で、watchdog timer の有効化と、
watchdog timer をkickするためのタイマーと、その割り込みハンドラ
をロードしています。
ただし、watchdog timerをkickするタイマーの割り込みハンドラが動く限りは
リセットされる事はありません。
従って、単純にCPUの使用率が100%になったり、優先度の低い特定のプロセス
にスケジュールしない等の状態は、単にCPUを使い過ぎているだけなので
リセットの対象外です。
togotoday
MCSマー様
ご連絡ありがとうございます。坂本です。
> 暴走対策として,
> armadillo840のブートロード,カーネル範囲で,
> watcg dog仕組を実装していますか?
ですが、特に意識しておりませんでした。
現状では、通信状況が過負荷のときにeth1のドライバーで
page allocation errorが発生し、そしてなぜか、eth1がイネーブルしたと
思われるwatch dog タイマーによりシステムにリセットがかかるような
状況です。
宜しくお願いします。
> いつもお世話になっております。
> MCSのマーです。
>
> 暴走対策として,
> armadillo840のブートロード,カーネル範囲で,
> watcg dog仕組を実装していますか?
>
> 以上,お願いいたします。
>
at_ohsawa
坂本 様
失礼いたします。
返信先のスレッドを下記と取り違えられていないでしょうか。
Armadillo-840 watch dog
https://armadillo.atmark-techno.com/forum/armadillo/1185
ma2013
坂本 様
MCSのマーです。
色々教えていただいてありがとうございました。
マイコンで暴走という言葉はよく聞きますが,
細かい内容はまだ分からないです。
ただ今知りたいのは,
暴走で想定外の無限ループに落ちた時の対処のことです。
即ち,ブートロード/カーネルの起動中,
想定外無限ループでシステムは止まってしまうことです。
宜しくお願いいたします。
> MCSマー様
>
> ご連絡ありがとうございます。坂本です。
>
> > 暴走対策として,
> > armadillo840のブートロード,カーネル範囲で,
> > watcg dog仕組を実装していますか?
>
> ですが、特に意識しておりませんでした。
> 現状では、通信状況が過負荷のときにeth1のドライバーで
> page allocation errorが発生し、そしてなぜか、eth1がイネーブルしたと
> 思われるwatch dog タイマーによりシステムにリセットがかかるような
> 状況です。
>
> 宜しくお願いします。
>
>
>
> > いつもお世話になっております。
> > MCSのマーです。
> >
> > 暴走対策として,
> > armadillo840のブートロード,カーネル範囲で,
> > watcg dog仕組を実装していますか?
> >
> > 以上,お願いいたします。
> >
togotoday
2015年2月9日 16時14分
大変、お世話になっております。坂本です。
Watch dogをdisableするには、カーネルのコンフィギュレーションと
BOOTパラメータの設定が必要ということですね。
了解いたしました。ありがとうございました。
> いつもお世話になっております。
> MCSのマーです。
>
> 暴走対策として,
> armadillo840のブートロード,カーネル範囲で,
> watcg dog仕組を実装していますか?
>
> 以上,お願いいたします。
>