E1エミュレータとの通信が途切れる

E1エミュレータを使ってRL78/G10をオンチップデバッグ中にプログラム実行を停止するとCPUとの通信が切れてしまいます。

この状態が頻発していて、まともに止まるのは数えるほどしかありません。

エミュレータとCPUは添付した画像の通りにしています。

配線に問題があるのか、それとも他に問題があるのか、教えていただけませんか?

CPU : R5F10Y16ASP

開発環境 : CS+ [CC]

エミュレータ : E1

Parents
  • origamiさん

    プログラムが暴走していると、origamiさんのように強制ブレークしても戻ってこないことがあります。

    ちなみに、ブレークポイントを設定した場合に正常にブレークできます?

Reply
  • origamiさん

    プログラムが暴走していると、origamiさんのように強制ブレークしても戻ってこないことがあります。

    ちなみに、ブレークポイントを設定した場合に正常にブレークできます?

Children
  • Kirin様

    浅学で申し訳ないのですがRL78/G10シリーズはブレークポイントを設定出来なかったと思うのですが、何か方法があるのですか?

  • origamiさん

    ハードウェアブレークポイントを2箇所まで設定できますよ。

  • Kirin様

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

    週明けまでデバッグできる予定がないので、月曜にハードウェアブレイクポイントを試してみたいと思います。

  • チョコです。

    RL78/G10でのハードウェアブレークポイントの張り方は他のデバイスのソフトウェアブレークポイントと

    同じようにできます。ただ、2ポイントだけなので、3ポイント目を設定しようとしてすぐに叱られます。

    表示メニューからイベントを表示してブレークポイントを確認できるようにしたほうがいいと思います。

  • あけましておめでとうございます。origamiです。

    ハードウェアブレークを設定したところ、プログラムが停止しました。

    ですがメニューバーの「停止」を実行すると失敗してしまいます。

    やはりこれはプログラムが暴走しているのでしょうか?

  • origamiさん

    たぶん、そーゆーことだと思います。

  • Kirin様

    プログラムの暴走の原因として考えられるのは何ですか?

    クロックの操作に誤りでもあるのかな・・・

  • チョコです。

    スタックのサイズは大丈夫でしょうか?

    E1が数バイト使用するので,スタックに余裕がないと停止できなくなる

    可能性があります。

    標準では,スタートアップ・ルーチン(r_vg_cstart.asm)の中で0x40に

    設定されているはずです。

    暴走して,スタックが深くなりすぎて,停止できない可能性があります。

    割り込みの確認をしてみてください。(特に,WDTの割り込み)

  • チョコです。

    >クロックの操作に誤りでもあるのかな・・・

    少なくとも,ブレークポイントまではちゃんと動作しているのであれば,

    その可能性は低いと思います。

    上でコメントしましたが,まずはスタックを確認することをおすすめします。

    (割り込みについては,ベクター・テーブルがきちんと設定できていないと,

    暴走します。)

  • 横から失礼。

    ハード的要因はOKでしょうか?

    電源、リセット回路・・・・等

    私も当初、E1と上手く接続できませんでしたが、私の場合、リセット信号をプルアップしたら解消した経験があります。

    マイコン側のリセット回路を接続していないのが、気になります。

    PS:WDTは如何?