[Armadillo:09305] Re: Armadillo840でのハードウェアウォッチドッグの利用について

柳沢智之 email@hidden
2013年 11月 15日 (金) 14:36:29 JST


柳沢です。

回答ありがとうございます。

Linuxではユーザランドからハードウェアウォッチドックにアクセスするイン
ターフェースは
現状のところサポートされていないということですね。

ソースコードの修正が必要なら採用は厳しいです。ソフトウェアウォッチドック
の方を検討してみます。
丁寧な説明ありがとうございました。


(2013/11/12 18:19), 伊藤透 wrote:
> 伊藤です。
>
>> ハードウェアウォッチドックタイマを利用するにはどうすればよいのでしょうか?
> ハードウェアウォッチドッグタイマーは、Hermit-At(ブートローダー)と
> Linuxカーネルで使用されています。もしハードウェアウォッチドッグタイマーを
> 使用するには、以下のような対応が考えられます。
>
> - Hermit-Atのウォッチドッグタイマー無効化、もしくはソースの変更
> - Linuxカーネルのドライバーを修正
>
> 以下、使用方法の詳細です。
>
> ■ Hermit-Atのソースの変更
> Hermit-Atでは、src/target/driver/rma1_wdt.cファイルにて
> ウォッチドッグタイマーの設定等をしています。必要であれば、
> このソースを変更してください。
>
> ■ Hermit-Atのウォッチドッグタイマー無効化
> Hermit-Atで、ハードウェアウォッチドッグタイマーを使用しないように
> するには、以下のコンフィギュレーションを変更してください。
>
> ====================================
> Hermit-At Configuration
> Target Configurations  --->
>   Support Devices  --->
>     [ ]   Support for RMA1 Watchdog Timer (RWDT)    ← 無効化
> ====================================
> Hermit-Atのビルドは、「Armadillo-840 製品マニュアル」の
> 「ブートローダーをビルドする」をご参照ください。
>
> ■ Linuxカーネルのドライバーを修正
> Linuxカーネルのハードウェアウォッチドッグドライバーのソースは、
> drivers/watchdog/sh_mobile_wdt.cファイルになります。
> ユーザーランドからハードウェアウォッチドッグタイマーを使用するには
> このドライバーを修正する必要があるかと思います。
>
>> システムを再起動する要請があって、ハードウェアウォッチドックタイマの機能
>> を使ってリセットを行おうと検討しております。
> 上記の用途ですと、ソフトウェアウォッチドッグタイマーでも
> 実現可能かと思いますが、いかがでしょうか?
>
> ハードウェアウォッチドッグタイマーは、Linuxカーネルが正常に
> 動作していない場合に再起動することを狙いとして使用しています。
> そのため、ユーザーランドから制御することをあまり想定しておらず、
> 前述の通りにハードウェアウォッチドッグタイマーを
> 使用しようとすると手間がかかります。
>
> したがいまして、アプリケーションが正常に動作しない時に
> 再起動をしたい場合等は、簡単に使えるソフトウェアウォッチドッグタイマーを
> おすすめします。
>
> ソフトウェアウォッチドッグタイマーは、以下の手順で使用できます。
>
> 1. アプリケーションプログラムで、/dev/watchdogをopen()すると、
>    ソフトウェアウォッチドッグタイマーが有効になります。
> 2. 以後、/dev/watchdogに任意の文字(大文字のV以外)をwrite()すると、
>    ソフトウェアウォッチドッグタイマーがキックされます。
> 3. 一定時間(標準では60秒間)ソフトウェアウォッチドッグタイマーが
>    キックされず、タイムアウトした場合、システムがリブートします。
>
> 以下のような手順で、動作確認ができます。
> (※: ソフトウェアウォッチドッグを有効にしたLinuxカーネルをお使いください)
> ==============================================
> [email@hidden (ttySC2) ~]# echo "" > /dev/watchdog
> # ソフトウェアウォッチドッグタイマーを有効化
> watchdog: Software Watchdog: watchdog did not stop!
> [email@hidden (ttySC2) ~]# softdog: Initiating system reboot
> # 60秒後に自動的に再起動がかかる
> Hermit-At v3.2.3 (Armadillo-840/nor) compiled at 15:35:03, Jul 03 2013
> hermit>
> ==============================================
>
> 一度有効化したソフトウェアウォッチドッグタイマーを、
> 無効化するには大文字のVを/dev/watchdogにwrite()します。
>
> 以下のような手順で、動作確認ができます。
> (※: ソフトウェアウォッチドッグを有効にしたLinuxカーネルをお使いください)
> ==============================================
> [email@hidden (ttySC2) ~]# echo "" > /dev/watchdog
> # ソフトウェアウォッチドッグタイマーを有効化
> watchdog: Software Watchdog: watchdog did not stop!
> [email@hidden (ttySC2) ~]# echo "V" > /dev/watchdog
> # ソフトウェアウォッチドッグタイマーを無効化
> [email@hidden (ttySC2) ~]#
> # 60秒経過後も再起動しない
> ==============================================
>
> 以上、ご参考になりましたら幸いです。
>
> 2013年11月7日 13:12 柳沢智之 <email@hidden>:
>> 柳沢です。
>> 回答ありがとうございます。
>>
>>> ハードウェアウォッチドッグタイマーは、どのような用途で 使用しようとし
>>> ていますか?
>> システムを再起動する要請があって、ハードウェアウォッチドックタイマの機能
>> を使ってリセットを行おうと検討しております。
>>
>>> /dev/watchdogは、カーネルコンフィギュレーションでソフトウェア ウォッチ
>>> ドッグタイマーを有効にすることで使用できます。
>> /dev/watchdogはソフトウェアウォッチドックを利用するためのインターフェー
>> スということでしょうか。
>> ハードウェアウォッチドックタイマを利用するにはどうすればよいのでしょうか?
>>
>>
>> (2013/11/06 11:51), 伊藤透 wrote:
>>> 伊藤です。
>>>
>>>> Armadillo840でハードウェアウォッチドックを利用したいのですが、
>>>> /dev/watchdogが存在しないため利用できません。
>>> Armadillo-840はデフォルトでハードウェアウォッチドッグタイマーが
>>> 有効になっています。
>>>
>>> /dev/watchdogは、カーネルコンフィギュレーションでソフトウェア
>>> ウォッチドッグタイマーを有効にすることで使用できます。
>>>
>>> ソフトウェアウォッチドッグタイマーは、以下のカーネルコンフィギュレーションで
>>> 有効にできます。
>>> ==========================================
>>> Linux/arm 3.4-at5 Kernel Configuration
>>>   Device Drivers  --->
>>>     [*] Watchdog Timer Support  --->
>>>       <*>   Software watchdog                 ← チェックを入れる
>>> ==========================================
>>>
>>> ハードウェアウォッチドッグタイマーは、どのような用途で
>>> 使用しようとしていますか?
>>>
>>> 2013年11月2日 21:30 柳沢智之 <email@hidden>:
>>>> 初めまして。柳沢と申します。
>>>>
>>>> Armadillo840でハードウェアウォッチドックを利用したいのですが、
>>>> /dev/watchdogが存在しないため利用できません。
>>>>
>>>> make menuconfigでWatchdog Timer Supportを下記のように設定してビルドしな
>>>> おしてみた のですが、
>>>> それでも/dev/watchdogが存在しないようです。
>>>>
>>>> │ │ --- Watchdog Timer Support │ │
>>>> │ │ -*- WatchDog Timer Driver Core │ │
>>>> │ │ [ ] Disable watchdog shutdown on close │ │
>>>> │ │ *** Watchdog Device Drivers *** │ │
>>>> │ │ < > Software watchdog │ │
>>>> │ │ <*> Synopsys DesignWare watchdog │ │
>>>> │ │ <*> Max63xx watchdog │ │
>>>> │ │ <*> SH-Mobile watchdog │ │
>>>> │ │ *** USB-based Watchdog Cards *** │ │
>>>> │ │ < > Berkshire Products USB-PC Watchdog │ │
>>>>
>>>> Armadillo840でハードウェアウォッチドックを利用するにはどうしたらよいので
>>>> しょうか?
>>>> それともArmadillo840ではハードウェアウォッチドックは利用できないのでしょ
>>>> うか?
>>>>
>>>> ご存知の方がおられましたら、教えていただけないでしょうか。
>>>> よろしくお願いします。
>>>> _______________________________________________
>>>> armadillo mailing list
>>>> email@hidden
>>>> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>>>>
>>>
>> _______________________________________________
>> armadillo mailing list
>> email@hidden
>> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>>
>
>




armadillo メーリングリストの案内