E1エミュレータを使ってRL78/G10をオンチップデバッグ中にプログラム実行を停止するとCPUとの通信が切れてしまいます。
この状態が頻発していて、まともに止まるのは数えるほどしかありません。
エミュレータとCPUは添付した画像の通りにしています。
配線に問題があるのか、それとも他に問題があるのか、教えていただけませんか?
CPU : R5F10Y16ASP
開発環境 : CS+ [CC]
エミュレータ : E1
origamiさん
プログラムが暴走していると、origamiさんのように強制ブレークしても戻ってこないことがあります。
ちなみに、ブレークポイントを設定した場合に正常にブレークできます?
Kirin様
浅学で申し訳ないのですがRL78/G10シリーズはブレークポイントを設定出来なかったと思うのですが、何か方法があるのですか?
ハードウェアブレークポイントを2箇所まで設定できますよ。
回答ありがとうございます。
週明けまでデバッグできる予定がないので、月曜にハードウェアブレイクポイントを試してみたいと思います。
チョコです。
RL78/G10でのハードウェアブレークポイントの張り方は他のデバイスのソフトウェアブレークポイントと
同じようにできます。ただ、2ポイントだけなので、3ポイント目を設定しようとしてすぐに叱られます。
表示メニューからイベントを表示してブレークポイントを確認できるようにしたほうがいいと思います。
あけましておめでとうございます。origamiです。
ハードウェアブレークを設定したところ、プログラムが停止しました。
ですがメニューバーの「停止」を実行すると失敗してしまいます。
やはりこれはプログラムが暴走しているのでしょうか?
たぶん、そーゆーことだと思います。
プログラムの暴走の原因として考えられるのは何ですか?
クロックの操作に誤りでもあるのかな・・・
スタックのサイズは大丈夫でしょうか?
E1が数バイト使用するので,スタックに余裕がないと停止できなくなる
可能性があります。
標準では,スタートアップ・ルーチン(r_vg_cstart.asm)の中で0x40に
設定されているはずです。
暴走して,スタックが深くなりすぎて,停止できない可能性があります。
割り込みの確認をしてみてください。(特に,WDTの割り込み)
>クロックの操作に誤りでもあるのかな・・・
少なくとも,ブレークポイントまではちゃんと動作しているのであれば,
その可能性は低いと思います。
上でコメントしましたが,まずはスタックを確認することをおすすめします。
(割り込みについては,ベクター・テーブルがきちんと設定できていないと,
暴走します。)
横から失礼。
ハード的要因はOKでしょうか?
電源、リセット回路・・・・等
私も当初、E1と上手く接続できませんでしたが、私の場合、リセット信号をプルアップしたら解消した経験があります。
マイコン側のリセット回路を接続していないのが、気になります。
PS:WDTは如何?