Renesas Synergy™

FAQ 106669 : ウォッチドッグタイマのリフレッシュが意図しない箇所で発生して Communication Timeout Errorになります。 【M16C, M32C デバッグの場合】

以下の2つのケースが考えられます。

  1. ウォッチドッグタイマを使用していないにも関わらず、E8/E8aのエミュレータ設定ダイアログのファームウェア配置タブで、「WDTを使用したプログラムのデバッグを行う」チェックボックスをオンにしている場合

    ウォッチドッグタイマを使用しないプログラムをデバッグする場合はこのチェックボックスを必ずオフにしてください。

  2. E8/E8aの制限事項に該当している場合

    E8/E8aを使用して、ウォッチドッグタイマを使用したプログラムをデバッグする場合、E8/E8aのエミュレータ設定ダイアログのファームウェア配置タブで、「WDTを使用したプログラムのデバッグを行う」チェックボックスをオンにする必要があります。

    この時、ユーザプログラム停止中(ブレーク中)にウォッチドッグタイマのオーバフローが発生しないように、E8/E8aファームウェアが定期的にウォッチドッグタイマをリフレッシュします。
    このE8/E8aによるウォッチドッグタイマのリフレッシュはプログラム停止中のみに行われます。

    しかし、M32CおよびM16Cのウォッチドッグタイマの仕様では、リフレッシュ=WDT開始であるため、お客様のプログラムで未だウォッチドッグタイマを開始していないにも関わらず、ウォッチドッグタイマが動作してしまいます。

    以下の例を使用して説明します。

     プログラム例:

       Start:                  ③

          :

          :

         ループ処理            ②

          :

         ウォッチドッグタイマのリセット  ①

          :

          :

    Startはマイコンリセット後の開始番地です。この場合、マイコンの仕様としては、①のウォッチドッグタイマのリセット処理によりウォッチドッグタイマが動作を開始します。

    しかしながら、E8/E8aを使用してウォッチドッグタイマのデバッグを行う場合は、③のプログラム開始時点からウォッチドッグタイマが動作しています。

    このため②のようなループ処理などがあった場合、①に到達する前にウォッチドッグタイマによるリセットが発生し、CommunicationTimeout Errorとになる場合があります。

    このような場合には、デバッグ時に限り、①に到達する前にウォッチドッグタイマのリセット処理を入れてください。

適用製品

E8a
E8
他にご質問がございましたら、リクエストを送信してください