RL78 デバッグ・モニタなしで、オンチップ・デバッグ

RL78でデバッグ・モニタなし(フラッシュの書き換えなし)でオンチップ・デバックする方法を紹介します。
量産製品の不良解析をしていた時に見つけた裏技?です。

まず、オプションバイト0xC3番地に0x84(0x85)を設定して、オンチップデバッグを許可にしたHEXを用意します。
これをRFPなどのフラッシュプログラマーで書き込みます。
(デバッガからダウンロードするのはダメ)

次にデバッグツール(E1)のプロパティの「接続用設定」タブで
「フラッシュ」の「フラッシュ書き換えを許可する」=「いいえ」にします。

更に「ダウンロード・ファイル設定」タブで
「ダウンロード」の「ダウンロードするファイル」で「オブジェクトをダウンロードする」=「いいえ」にします。

この設定でメニューバーから「デバッグ」->「デバッグツールへダウンロード」でデバッガ起動すると、デバッグ・モニタなしでデバッガが起動できます。

ただし、この方法だとソフトウェアブレークが使えず、ハードウェアブレーク1つだけなので、とってもデバッグが大変になりますけれども
デバッグ時にフラッシュが書き換わるのが嫌な場合に使えると思います。

OrDXCPU9gTWNi0gU-0_A0222.gif

v1k7lyMRA2hZhXFp-1_A0223.gif

WrC2axl6Nu7un9cK_A0224.gif

  • RL78にE1を繋げると高速CRCの演算結果が変わってきますけども、この方法なら高速CRCの動作確認できますね!
    やっぱり、安全性の確認はOCDを使ってちゃんとやりたいですよね。

    FAQにも入ってますね!

    日本語FAQ No. 1010386

    英語FAQ No. 1010577

    同じ内容でもFAQナンバーって日本語と英語で共通ではないんですねー。

  • >デバッグ時にフラッシュが書き換わるのが嫌な場合に使えると思います。

    これ!

    なにか方法が無いかと思っていたところでした。

    ハードの故障であることは分かっているが、故障箇所を特定するためにE1を使いたい。

    でもフラッシュを書き換えたくない。

    方法が分からなかったのでE1を使わずにオシロとテスターで探しました。

    大変だった(^^;

  • ありがとうございます。早速試してみます。
  • CS+ for CC V5.00.00での動作イメージを再掲します。

     オンチップ・デバッグ・オプションバイトを0x84 もしくは 0x85に設定

     コンパイルして出来上がったHEXファイルをチップに書き込み

     デバッガの接続用設定でフラッシュ書き換え禁止にする

     同じく、ダウンロード・ファイル設定でオブジェクト(ROMデータ)をダウンロードしない設定にする

     ダウンロードしてデバッガと接続する