RL78G23 データフラッシュ デバッグで固まる

はじめまして、RL78G23でデータフラッシュの動作をCS+でデバッグをしております。
RENESAS_RFD_RL78_Type01_V1.10を組み込み、データフラッシュへの書込みは出来てるのですが、
書込み中(シーケンサ制御中)にブレークポイントで処理を停止させると、ステップ実行が出来ない状況です。

データフラッシュのデバッグはこういうものなのでしょうか。

Parents
  • D70116(ルネサス中の人)です。

    RL78/G23ではセルフ・プログラミング中にブレークをするときに専用のRAMエリアの確保が必要です。

    CS+をお使いの場合、「フラッシュのセルフ・プログラミングを行う」が「はい」になっていないと確保がされません。
    設定はどうなっていますか?

  • D70116様
    ご連絡ありがとうございます。
    「フラッシュのセルフ・プログラミングを行う」は「はい」に設定している状態です。

    データ・フラッシュ・プログラミング・モードに変更するため、
    PFCMD(フラッシュ・プロテクト・コマンド・レジスタ)にA5Hを書き込んだところで
    ステップ実行がきかなくなります。

    以下の記載がありましたので、ステップ実行できないという振る舞いが正しいのでしょうか。

    E1/E20/E2エミュレータ, E2エミュレータLite ユーザーズマニュアル別冊 (RL78接続時の注意事項) P.44
    3.5. フラッシュメモリ
    3.5.1. セルフプログラミング機能のデバッグに関する注意事項
    (2) セルフプログラミング途中のブレーク
    セルフプログラミング途中に強制ブレーク以外のブレークは可能ですが、ブレーク時点からのス
    テップ実行できません。セルフプログラミング途中の強制ブレークでは、E1/E20/E2/E2Liteでの制
    御ができなくなる場合があります。

  • eclipse様

    ご連絡ありがとうございます。少し条件を見落としておりました。STEP実行をされたい…という事だったのですね。そうしますと、チョコ様が書かれたように、またマニュアルにありますように、ブレーク時点からのステップ実行は出来ない仕様です。(その場からRUNで再開は可能です)
    お手数ですが、ブレーク位置を変更するあるいはシミュレータでデバッグをお願いできますでしょうか。

  • チョコです。

    D70116さん(V30さんと呼んでもいいですかね)。

    シミュレータでこのような場合(ハードやそれを制御しているシーケンサ)のデバッグができるのですかね。

    以上

  • D70116(V30)です。

    改めて確認いたしました。先の回答を訂正させてください。
    チョコさんのおっしゃる通り、シミュレータでは当該部分のステップ実行は可能ですが、内部のシミュレーション(セルフプログラミング)まではシミュレーションできません。

    あくまでもプログラムの流れをステップ実行で確認できる(RAM, SFRに書いた値は確認できる)になります。
    よって、実際にデータフラッシュメモリの値が書き換わる事を確認する場合は、エミュレータしか方法がなく、先に記載しましたブレークした後に再開しか手法がありません。

    不確かな情報申し訳ありませんでした。

  • チョコです。

    D70116(V30)さん、ご確認有難うございました。

    ちなみに、わたしが現役のエンジニアだったときには8ビットのD70008(V10)までで、16ビットは使ったことはありませんでした。

    以上

Reply
  • チョコです。

    D70116(V30)さん、ご確認有難うございました。

    ちなみに、わたしが現役のエンジニアだったときには8ビットのD70008(V10)までで、16ビットは使ったことはありませんでした。

    以上

Children
No Data