e2 studioの式ビューの表示が間違っていたので調べてみようと思います(expression view is wrong)

こんにちは。NoMaYです。

最近、以下のスレッドに関わったのですが、e2 studioの式ビューの表示が間違っていたので調べることにしました。

__sectop(), __secend()でセンションの値を取得することができません。
community-ja.renesas.com/cafe_rene/forums-groups/mcu-mpu/rl78/f/forum18/9544/__sectop-__secend/46666#46666

以下、そのスレッドのe2 studioの画面コピーです。(e2 studio 2022-07+CC-RL V1.11+最適化無しでビルド)

サンプルプログラムのe2 studio FWUpdateSample projectのフォルダ
r11an0227ej0312-rl78-lora/samples/project/e2studio/rl78g23-128pfpb_sx126x/FWUpdateSample/


以下、同じくそのスレッドでe2 studioのDebugger Consoleで確認してみた時の値です。

rl78-elf-gdb内では正しく認識されていますね。(高度に専門的な話になるけれども、rl78-elf-gdb側のMIコマンドの値返却処理がバグっている?、のかなぁ、、、)

p dsec_table
$2 = {{rom_sectop = 0x11e1 " ", <incomplete sequence \230>, rom_secend = 0x1506 " \006ク\004\061スク\002ィ\004\\\001\b\\\340\b1^", <incomplete sequence \230>, ram_sectop = 0xf4759 <R_RFD_Init> ""}, {rom_sectop = 0x1506 " \006ク\004\061スク\002ィ\004\\\001\b\\\340\b1^", <incomplete sequence \230>, rom_secend = 0x15b2 " \004\230\001掌", ram_sectop = 0xf4a7e <R_RFD_EraseCodeFlashReq> ""}, {rom_sectop = 0x15b2 " \004\230\001掌", rom_secend = 0x1709 <R_RFD_EraseDataFlashReq> " \004\230\001\360\f\020ク\002ネ", ram_sectop = 0xf4b2a <R_RFD_SetExtraBootAreaReq> ""}, {rom_sectop = 0xc96 "マx", rom_secend = 0x11e1 " ", <incomplete sequence \230>, ram_sectop = 0xf4c81 <R_CFlash_ResetFW> ""}}

[関連リンク]

RL78/G23, RL78/G14 Firmware Update over LoRaWAN® Sample Application
PDF
www.renesas.com/jp/ja/document/apn/firmware-update-over-lorawan-sample-application-rev312

LoRa(R)-based Wireless Software Package(V3.12)
ZIP
www.renesas.com/jp/ja/document/scd/lorar-based-wireless-software-packagev312
 

Parents
  • サンプルプロジェクトのプロパティを何気なく見ていたところ-far_romオプションが設定されていることに気付いたので、ものは試しということで、先ほど新規に作成したプロジェクトでも設定してみたところ、なんと、現象が再現してしまいました。現象が再現するプロジェクトのファイル一式を以下のzipファイルに固めました。ここから先はルネサスさんにて不具合解析をされるのが効率的かと思われます。



    e2studio_expression_view_issue_20220917.zip
    e2studio_expression_view_issue_20220918.zip    [追記] 2022/09/18 更新しました

    以下、e2 studioの画面コピーです。

    サンプルプロジェクトでは-far_romオプションが設定されていた


    先ほど新規に作成したプロジェクトでも-far_romオプションを設定してみた


    現象が再現した


    [追記] 2022/09/18

    この際ですので、もう少し調べてみました。-far_romオプション設定時、式ビューの表示で、以下のnormalの表示は正しいものでしたが、array[0]の表示は間違っていました。ちなみに、その場合には、Debugger Consoleの表示でも同様に、normalの表示は正しいものでしたが、array[0]の表示は間違っていました。(ですので、単に、「rl78-elf-gdb側のMIコマンドの値返却処理がバグっている?、のかなぁ、、、」では済まないようです、、、)

    const unsigned short normal = 1234;
    const unsigned short array[1] = { 2345 };
    volatile unsigned short debug; /* volatile is intended for debug purpose. */

    void main(void)
    {
        debug = array[0];
        while(1);
    }

     
    以下、e2 studioの画面コピーです。



    ちなみに、CC-RLの-far_romオプションというのは以下の画面コピーの仕様のコンパイルオプションです。

    以下、CC-RLのヘルプの画面コピーです。


     

Reply
  • サンプルプロジェクトのプロパティを何気なく見ていたところ-far_romオプションが設定されていることに気付いたので、ものは試しということで、先ほど新規に作成したプロジェクトでも設定してみたところ、なんと、現象が再現してしまいました。現象が再現するプロジェクトのファイル一式を以下のzipファイルに固めました。ここから先はルネサスさんにて不具合解析をされるのが効率的かと思われます。



    e2studio_expression_view_issue_20220917.zip
    e2studio_expression_view_issue_20220918.zip    [追記] 2022/09/18 更新しました

    以下、e2 studioの画面コピーです。

    サンプルプロジェクトでは-far_romオプションが設定されていた


    先ほど新規に作成したプロジェクトでも-far_romオプションを設定してみた


    現象が再現した


    [追記] 2022/09/18

    この際ですので、もう少し調べてみました。-far_romオプション設定時、式ビューの表示で、以下のnormalの表示は正しいものでしたが、array[0]の表示は間違っていました。ちなみに、その場合には、Debugger Consoleの表示でも同様に、normalの表示は正しいものでしたが、array[0]の表示は間違っていました。(ですので、単に、「rl78-elf-gdb側のMIコマンドの値返却処理がバグっている?、のかなぁ、、、」では済まないようです、、、)

    const unsigned short normal = 1234;
    const unsigned short array[1] = { 2345 };
    volatile unsigned short debug; /* volatile is intended for debug purpose. */

    void main(void)
    {
        debug = array[0];
        while(1);
    }

     
    以下、e2 studioの画面コピーです。



    ちなみに、CC-RLの-far_romオプションというのは以下の画面コピーの仕様のコンパイルオプションです。

    以下、CC-RLのヘルプの画面コピーです。


     

Children
No Data