e2studioでの変数表示の異常について

お世話になります

e2studioでgcc for RXの環境設定とテストを行っていたところ

実際の変数のアドレスと変数のビューウィンドウやホバー表示が示すアドレスとが食い違っていて、

変数の値もそのアドレスの内容を表示してしまう症状が発生してしまっています。

実際のコードは以下の通りで

volatile int i = 0;

while{ i++; }

上記コードの逆アセンブルの内容は以下の通りでr0には最初0x69cが格納されていました

main:
fffe8880: sub #4, r0
LM11:
fffe8882: mov.l [r0], r5
fffe8884: add #1, r5
fffe8886: mov.l r5, [r0]
fffe8888: bra.b 0xfffe8882 <LM11>

mapファイルのustackは以下の通り

ustack         0x0000000000000700        0x0

メモリやレジスタを確認すると変数iは0x69cから4引いたアドレス0x698の中身がインクリメントされているのですが

変数のビューやホバーは画像の通りアドレス0x700の値を表示してしまいます。

また、変数を増やしていくと実際のアドレスとは逆方向にアドレスが伸びて行ってしまいます。

この症状はRX simulatorを使用しているときは発生せず、E2liteでターゲットに接続しているときのみ発生します

どなたか解決方法をご教授願えますでしょうか?

Parents
  • ななしき さん、こんにちは。NoMaYです。

    Debugビルド(RX Simulator向け)の設定をHardwareDebugビルド(E2Lite向け)の設定に合わせてみたところ、Debugビルド(RX Simulator向け)でも現象が発生しました。更に調べてみますね。

    修正した.cprojectファイル
    test_cproject_update_20230109.zip

    以下、e2 studioの現象発生時の画面コピーです。


     

Reply
  • ななしき さん、こんにちは。NoMaYです。

    Debugビルド(RX Simulator向け)の設定をHardwareDebugビルド(E2Lite向け)の設定に合わせてみたところ、Debugビルド(RX Simulator向け)でも現象が発生しました。更に調べてみますね。

    修正した.cprojectファイル
    test_cproject_update_20230109.zip

    以下、e2 studioの現象発生時の画面コピーです。


     

Children
No Data