RL78 STOPモードのデバッグに関して

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

現在、以下の環境で開発を行っています。

CPU:RL78/F14(100pin)

開発環境:CS+ for CA,CX V4.00.00  [05 Dec 2016]

エミュレータ:E1

上記環境で「STOPモード」による低消費電力機能を実現しようとしているのですが、

「STOP()」コマンドでE1は以下の様に動作するのが正しいのでしょうか?

・ステップ実行の場合、「STOP()」から抜けてこない。

・「STOP()」コマンドの次の命令にブレークポイントを設定した場合、

  割込みが発生するまで次の命令でブレークは発生しない。

現状は、ステップ実行で「STOP()」を通り過ぎ、ブレークも発生します。

「STOP()」を通過した後の「割り込み要求フラグ・レジスタ」を確認しても

全て「0」にはなっているのですが、他に「STOP()」を解除する要因が有るのでしょうか?

あるいは、E1での「STOPモード」のデバッグは何か

特別な事をお行う必要が有るのでしょうか?

 

 

  • チョコです。
    STOP()をステップ実行でデバッグすることはできないはずです。
    ステップ実行のブレーク機能が割り込みそのものなので,ブレークが掛かったことでSTOPが解除されて
    しまいます。
    STOP()を含むプログラムをデバッグするにはSTOP()のところはステップ実行は使わないで,STOP()の次に
    ブレークポイントを設定して,RUN/BREAKさせてください。STOP()(HALT()も同じ)以外の部分はステップ実行
    しても構いません。
  • calzs1969 です。
    ありがとうございました、ご指摘通り「STOP()」でのブレークを外すと
    次の命令にはブレークしませんでした。

    後は「タイマーRJ」割込みで「STOPモード」が解除されるかどうかを試してみます。
  • 参考としてステップ実行に関するCS+オンラインヘルプのURLをご紹介しておきます。

    tool-support.renesas.com/.../db_kinou_prog26.html