【CS+】リセット時に再起動させたくない

初めまして。登録名 コン太 と申します。よろしくお願いいたします。

初心者質問で恐縮ですが、

CS+とE1デバッガでのデバッグ方法についてご存知の方がいらっしゃればお教えいただけませんでしょうか。

メモリ不正アクセスなどでリセット要因が発生した場合、再起動してしまうのでどこでなぜそうなったかがわかりません。

解析のためリセット要因が発生した箇所でプログラムを止めるような設定にはできないものでしょうか。

あるいは再起動するにしてもリセット要因について解析の手がかりになるデータを出力しておくような事はできませんでしょうか。

使用しているマイコンはRX631になります。

それっぽい設定の「CPUリセット後に指定シンボル位置まで実行する」を「いいえ」にしても

やはり再起動してしまいました。

ご存知の方がいらっしゃいましたら、ご回答のほどよろしくお願いいたします。

Parents
  • コン太さん、こんにちは。NoMaYと申します。

    まず、本題から外れますが、RL78とRXがごっちゃになっていないでしょうか?メモリ不正アクセスでリセットが掛かる仕組みは、RL78には用意されていますがRXには用意されていなかった、と思うのです。(ひょっとするとトラッステッドメモリ領域(だったかな?)とかですと、そうなのかも知れませんが、RX631には無かったと思うのです。)

    なので、コン太さんの手元で、リセットが発生したように見える現象、というのは、単にそう見えているというだけでは無いだろうか?とも考えられ、そうなると相談された内容それ自体は策にならないかも知れないです。

    他方、(ふたつ目の相談内容と関わる話ではありますが)プログラムが変な箇所へ飛んでいってしまう現象の解析に一般的に使用されるデバッグ技法に、フル機能ICE(一般的にはその機能があることがフル機能ICEのあかし)もしくはオンチップデバッグ機能(その機能が無いことも多い)のひとつである、トレース機能を有効にしてトレース結果をチェックする、というものがあります。

    たしか、RX631のオンチップデバッグ機能にもあったと思いますので、ヘルプやマニュアルを見てみてはどうでしょうか?それで、それでも良く分からなかった、ということであれば、その旨、リプライを下さい。(ちょっと諸般の事情でRX631では私の手元で試せないと思っていますが、手元のRX65Nで試せるだろうと思っています。)

  • NoMaY様

    コン太です。

    (なぜか名前がヘンな表示になってしまっていますが、よくわからないってか気にしていないのでそのままにしています)

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

    まずRL78とRXがごっちゃということではなく、単に知らなかったというハナシです。

    リセットが発生しているように見えるだけというのも、何か不明な要因で処理がアタマに飛ぶということが

    あればその可能性もあるかと思います。何分それがよくわからないので。

    トレース機能ですが、確かにRX631にはそうした端子があるようです。

    しかしE20の38ピンが必要なのかなと思ったのですがどうなのでしょう。

    これは持ち合わせていないので、現状は試すことができません。

    E1の14ピンやそれ以外でトレースの情報を取得する方法があるようでしたらご教示いただけると幸いです。

    それとリセット要因発生(だとして)そこで処理を止める、という使い方は今回の組み合わせではできない、ということですね。

    オンチップデバッグ機能についてはもう少し勉強したいと思います。

    お時間とっていただきありがとうございました。

Reply
  • NoMaY様

    コン太です。

    (なぜか名前がヘンな表示になってしまっていますが、よくわからないってか気にしていないのでそのままにしています)

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

    まずRL78とRXがごっちゃということではなく、単に知らなかったというハナシです。

    リセットが発生しているように見えるだけというのも、何か不明な要因で処理がアタマに飛ぶということが

    あればその可能性もあるかと思います。何分それがよくわからないので。

    トレース機能ですが、確かにRX631にはそうした端子があるようです。

    しかしE20の38ピンが必要なのかなと思ったのですがどうなのでしょう。

    これは持ち合わせていないので、現状は試すことができません。

    E1の14ピンやそれ以外でトレースの情報を取得する方法があるようでしたらご教示いただけると幸いです。

    それとリセット要因発生(だとして)そこで処理を止める、という使い方は今回の組み合わせではできない、ということですね。

    オンチップデバッグ機能についてはもう少し勉強したいと思います。

    お時間とっていただきありがとうございました。

Children