デバッグで、R_BSP_Init_RTC();で停止する原因

stlと申します。

RA2E1マイコンを使用しています。

e2 stdioでデバッグを実行すると、R_BSP_Init_RTC()内のFSP_HARDWARE_REGISTER_WAIT(R_RTC->RCR2_b.RESET, 0);で停止するのですが、原因について何か分かりますでしょうか?

FSPのバージョンを3.7から5.1に変更して初めてデバッグを行うと上記の問題が発生しました。

バージョン3.7のときは、問題は発生しません。

Parents Reply
  • stlさま

    ボード上に、サブクロック発振子(銀色の2mm位の太さの筒状の部品か、黒とか銀の長方形の面実装部品, 32.768kHz)が搭載されていない場合は、Not pupulatedに設定してください。

Children
  • tf様

    not pupulatedに変えたら、停止はしなくなりました。ただ、古いバージョンと同じプログラムを実行しているのですが、古い方だと動作している簡易SPIかもしくはタイマ関連の動作が上手くいかなくなりました。設定を変えたことが原因でしょうか?

  • まずはtf様のコメントに回答すべきだと思います。pupulatedの場合はサブクロックがあることを設定しています。
    付いているか?付いていないか?付いてないのに「付いている(pupulated)」設定では初期化で失敗してクロックが動作するまで関数で停止します。



    別の質問をさらにぶつけるのはその後にすべきだと思います。

  • stlさま

    ボードにサブクロックが搭載されていない→サブクロック発振しない設定(Not pupulated)

    にしても、動作には影響無いと思います。(SPIやタイマは、内蔵オシレータで動いているはずですので、サブクロックの設定での影響は無いはずです。)

    FSPは、3.xから4.xのバージョンアップで大きく変わったという記憶があります。3.xで作成したプロジェクトを、5.1に変更したのが何か影響しているという可能性もあります。

    (基本的には、FSPのバージョンが変わった場合でも、再度コード生成を行いビルドすれば問題は無いのですが。)

    5.1で新規にプロジェクトを作成して、SPIやタイマの設定を行い、src以下のフォルダを新規に作成したプロジェクトにコピーして、ビルド、実行してみるとどうでしょうか?

    (後は、ものすごく基本的で身も蓋もないアドバイスになってしまいますが、どの部分が期待通り動いていないのかを調べるという話になってしまいます。コールバック関数の所が変わっているのかも知れません。以前のFSPでは、例えばUARTはデフォルトでuser_uart_callback()が入っていましたが、現行のFSPでは、デフォルト「空」になっています。)

  • tfさま

    >>5.1で新規にプロジェクトを作成して、SPIやタイマの設定を行い、src以下のフォルダを新規に作成したプロジェクトにコピーして、ビルド、実行してみるとどうでしょうか?

    プロジェクトは、もともと5.1のほうで作ったものなので、そのあたりは問題ないと思います。

    >>どの部分が期待通り動いていないのかを調べるという話になってしまいます

    そうですね。確認をしてみます。