RA6M5でのRTCリセットについて

皆様はじめまして。サトと申します。

今回AlphaProject製の評価基板を使用して、RTSの機能を使用しようとしているのですが、

クロックおよびカウントモードの設定ができません。

ルネサス製以外のコードのため、すべてを書くことができないのですが、下記のようなコードを実行しています。

R_RTC->RCR4 = 0;

//200μs遅延

R_RTC->RCR2 = 0;

FSP_HARDWARE_REGISTER_WAIT(R_RTC->RCR2_b.START, 0);
FSP_HARDWARE_REGISTER_WAIT(R_RTC->RCR2_b.CNTMD, 0);

R_RTC->RCR2_b.RESET = 1;

FSP_HARDWARE_REGISTER_WAIT(R_RTC->RCR2_b.RESET, 0);

RA6M5 Group ユーザズマニュアル ハードウェア編では、上記を行うとRCR2.RESETビットが0になるようなのですが、

実行すると、一番下の行で止まってしまい、本来リセットがかかるはずの下記レジスタに次のような値が入っています。

RMINCP0:0x0e

RHRCP0:0x28

RDAYCP1:0x30

RDAYCP2:0x02

RMONCP:0x02

なにか要因が分かる方がいらっしゃいましたら、ご回答お願いいたします。

  • 記載されているコードを実際に実行してみましたが、最後の行で止まることはなく、またレジスタも初期化されていました。

    FSP ConfigrationのBSPタブの設定で、

    Subclock Populated -> Popurated

    設定になっていますでしょうか?

    サブクロックが発振していない気がします。(サブクロックの発振を止めて実行したところ、

    FSP_HARDWARE_REGISTER_WAIT(R_RTC->RCR2_b.RESET, 0);

    の行で止まってしまいました。)

     FSPのサブクロックの設定と、実際にRTCのクロック(XCOUT)が発振しているか、その辺りがポイントかと思うのですが。

  • tf様

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

    指摘箇所確認したところ、Populatedになっていました。サブクロック水晶のハンダを確認してみようとは思うのですが、

    それとは別にe2 studioでXCIN、XCOUTが発振しているかを確認する方法はありますでしょうか。

  • サト様

    例えば、AGTタイマは、クロックソースとしてサブクロックを選択可能です。

    AGTタイマをサブクロックでカウントさせてカウンタ値が変わるか、アンダーフローやコンペアマッチ割り込みが掛かるか等で、サブクロックが動作しているかどうかをデバッガ上で観測することは出来ると思います。

    (オシロがあれば、オシロで当たってみるのが一番早いかとは思います。サブクロックは結構発振がシビアですので、オシロのプローブを当てることで周波数が変動したり、振幅が減る事はありますが、発振しているかどうかは判ると思います。)