yuuki-takeguchi
2023年4月28日 16時28分
お世話になっております。竹口と申します。
現在Armadillo-IoT G3 にてWDTを使用し、プログラムの異常検出を行いたいと考えており、
C言語記述のプログラムで以下機能の実装を試みておりますが、
タイムアウト値が10秒のままで時間指定ができない状態、またWDTクリアも制御できませんでした。
1.WDTのタイムアウト時間の設定
2.WDTのクリア処理
3.WDTの停止処理
上記機能を搭載するにあたって推奨される実装内容などがありましたら教えていただけないでしょうか。
また、Armadillo内部には/dev/watchdogと、/dev/watchdog0が存在しております。
以下のフォーラムを確認しますとどちらも同一とのことですがどちらを制御すればよろしいでしょうか?
https://armadillo.atmark-techno.com/forum/armadillo/3937
以上です。
お手数をおかけしますがよろしくお願いします。
コメント
at_keitaro.takahashi
高橋です。
追記ですが、ソフトウェアウォッチドッグが有効になっているか確認するには、Armadillo上で以下のコマンドを使用してください。
zcat /proc/config.gz |grep SOFT_WATCHDOG
・有効の場合
root@armadillo:~# zcat /proc/config.gz |grep SOFT_WATCHDOG CONFIG_SOFT_WATCHDOG=y
・無効の場合
root@armadillo:~# zcat /proc/config.gz |grep SOFT_WATCHDOG # CONFIG_SOFT_WATCHDOG is not set
また、ソフトウェアウォッチドッグのデバイスファイルは/dev/watchdog1となります。
yuuki-takeguchi
お世話になっております。竹口です。
ご返信が大変遅くなり申し訳ございません。
ご指摘いただきましたソフトウェアウォッチドッグタイマの設定を有効にする対応策で解決させることができました。
お手数をお掛けしました。ありがとうございました。
> 高橋です。
>
> 追記ですが、ソフトウェアウォッチドッグが有効になっているか確認するには、Armadillo上で以下のコマンドを使用してください。
>
> zcat /proc/config.gz |grep SOFT_WATCHDOG
>
> ・有効の場合
>
root@armadillo:~# zcat /proc/config.gz |grep SOFT_WATCHDOG > CONFIG_SOFT_WATCHDOG=y >
> ・無効の場合
>
root@armadillo:~# zcat /proc/config.gz |grep SOFT_WATCHDOG > # CONFIG_SOFT_WATCHDOG is not set >
>
> また、ソフトウェアウォッチドッグのデバイスファイルは/dev/watchdog1となります。
at_keitaro.takahashi
2023年5月8日 17時03分
高橋です。
> 現在Armadillo-IoT G3 にてWDTを使用し、プログラムの異常検出を行いたいと考えており、
> C言語記述のプログラムで以下機能の実装を試みておりますが、
> タイムアウト値が10秒のままで時間指定ができない状態、またWDTクリアも制御できませんでした。
> 1.WDTのタイムアウト時間の設定
> 2.WDTのクリア処理
> 3.WDTの停止処理
>
> 上記機能を搭載するにあたって推奨される実装内容などがありましたら教えていただけないでしょうか。
ソフトウェアウォッチドッグを有効にして使用するのが良いかと思います。
有効にする手順については、ご記載いただいたフォーラム(https://armadillo.atmark-techno.com/forum/armadillo/3937)
の手順をご参照ください。
また、以下のフォーラムも参考になるかと思います。
https://armadillo.atmark-techno.com/forum/armadillo/3610
なお、ソフトウェアウォッチドッグを有効にする際に必要なコンフィギュレーションについては、
今後のアップデートにて標準で有効にすることを検討しています。
> また、Armadillo内部には/dev/watchdogと、/dev/watchdog0が存在しております。
> 以下のフォーラムを確認しますとどちらも同一とのことですがどちらを制御すればよろしいでしょうか?
> https://armadillo.atmark-techno.com/forum/armadillo/3937
どちらも同じものであるため、同じように使用できます。
同じものが2つある経緯については、linuxが複数のwatchdogに対応した時のcommit
(https://github.com/torvalds/linux/commit/45f5fed30a6460ec58f159ff297a29…)
をご参照ください。
個人的には、使用したいwatchdog(watchdog0、watchdog1など)を明示的に指定して使用するのが良いかと思います。
以上、よろしくお願いいたします。