RL78のソフトリセット

こんにちは、SANSと申します。

 

RL78/L1Cを使って開発を進めていますが、起動時にリセットがかかってしまいmain()に戻る→少し処理が進んでまたmain()に戻るというループする挙動をします。

H/Wに問題はないようです(問題ないというのは推測ですが、少なくともVDDは安定しています)。

このようにソフト的にリセットが掛けられてしまう状況って何がありますか。

何でも良いので考えられる要因が思い当れば列挙して頂きたく。

ちなみにWDTはOFFにしています。

 

曖昧な質問であることは承知していますが、宜しくお願いします。

Parents
  • リセット要因は確認されてますか?
  • いえ、特定できていません。
  • SANSさん NAKAといいます。
    fujita nozomu先生が確認して欲しいと言われているのは、RESF(リセット・コントロール・フラグ・レジスタ)を確認してみたら?ということではないでしょうか?WDTなのか?不正命令なのか?RAMパリティエラーなのか?不正メモリアクセスなのか?LVDなのか?とかの状態が残っていると思います。RL78/L1Cにはないのでしょうか?
  • 回答の意図を読み取れませんでした、すみません。
    RESFは確認済みで、特にフラグは立っていませんでいた。
    仕様書によるとフラグが立っていないときは外部リセットと書いていますが、これは何を指すのでしょうか。
  • はじめまして、Hosです。

    外部リセットはRESET端子に信号を入力してCPUをリセットすることを指します。
    RESET端子の信号を確認してみましょう。
    ハードウェアマニュアルの24章に詳しい記載がありますね。

    また、1点気になったのですがSANSさんがRESFを確認する前のタイミングで、すでにRESFをクリアしていたのでALL 0に見えているといったことはないですか。
    ハードウェアマニュアルでは「RESFレジスタのデータを読み出すことにより,TRAP, WDTRF, RPERF, IAWRF, LVIRFフラグはクリアされます。」とあります。
    コード生成でリセット要因確認にチェックを入れていると、R_CGC_Get_ResetSourceで読み込んでしまっていたりします。
  • > いえ、特定できていません。

    リセット要因確認の際のタイミングについては下記のスレッドが参考になると思います。
    『RL78/G14 リセット要因 RESFについて』
    japan.renesasrulz.com/.../rl78-g14-resf
  • Hosさん

    RESFを正しく出力できました。2度呼び出しており、それがフラグ無しに見えてしまっているのが原因でした。
    リセットの内容はRAMパリティエラーでした。
    おかげさまで一歩前進しました。
    ありがとうございます。
  • ありがとうございます、参考にします。
Reply Children
No Data