e2 studioのcompiler関連のBugではないかと思われる動作について

こんにちは。NoMaYです。

別スレッドのFreeRTOSのRTOSDemoプログラムを作っていて気付いたのですが、e2 studioのバグだと思われる現象に遭遇しました。e2 studioのプロジェクトのプロパティでCC-RXの設定を以下の画面コピーのように設定した場合に、CC-RXでは期待した通りにワーニングメッセージが表示されますが、e2 studioのエディタ上では条件コンパイル文によりコードが除外されていることになっています。一応、e2 studioのプロジェクトのプロパティで「Renesas Toolchain Builtin Language Settings」を確認してみたところ、実際に、e2 studioが組み込みマクロを間違えていることも確認出来ました。

現象再現プロジェクトのファイル一式(投稿用に作成し直して大幅に簡素化したものです)
e2studio_compiler_issues_20200714.zip

現象再現プロジェクトのコード

void main(void)
{
#if ( __TFU == 1 )
    int __tfu = 1;
#endif

#if ( __DBL8 == 1 )
    int __dbl8 = 1;
#endif
}

以下、画面コピーです。

CC-RXのワーニングメッセージが出ている行がe2 studioのエディタ上でグレー表示になってしまっている


e2 studioのプロジェクトのプロパティのCC-RXの設定



e2 studioのプロジェクトのプロパティの「Renesas Toolchain Builtin Language Settings」の内容が間違っている
(具体的には、__DBL8の定義が無く(代わりに__DBL4の定義がある)、__TFUの定義が無い、です。)


[参考リンク]

e2 studio バグリスト

e²studio 7.8 Known Issues List
List generated on 30/03/2020 15:14:31
www2.renesas.eu/_custom/software/ree_eclipse/e2studio7/docs/releasenotes/7.8.0/openissues.htm

e²studio 2020-04 Known Issues List
List generated on 14/04/2020 15:14:31
www2.renesas.eu/_custom/software/ree_eclipse/e2studio8/docs/releasenotes/2020_04/openissues.htm
 

  • こんにちは。NoMaYです。

    e2 studio 2022-07からCC-RHでのビルドが出来るようになったのですが、その他に気付いたこととして、CC-RXの場合にもCC-RLの場合にも生成されているrcpcファイルが、CC-RHの場合には生成されません。

    他方、CS+ for CCでのCC-RHの場合には、今まで生成されていなかったrcpeファイルが生成されるようになっていました。ただ、、、どうもe2 studio側にはCC-RHの場合のrcpeファイルをインポートする機能が実装されていないようなのですけれども、、、(もう少し探してみますけれども、、、)

    思うに、e2 studio 2022-07でのCC-RHのビルド対応は、通常の機能改善とは違うモチベーションがあったのかも知れないのかなぁ、という気もしたりして、、、RH850の超大型商談(数百万個級)が持ち上がって、先方が出して来た条件のひとつに、Eclipse系IDEで開発出来ること、みたいなのがあってのことだったりとか、、、

    以下、e2 studioのCC-RX/CC-RL/CC-RHの各場合とCS+ for CCのCC-RHでのプロジェクトフォルダの画面コピーです。

    e2 studio+CC-RXの場合:rcpcファイルが生成される
    e2 studio+CC-RLの場合:rcpcファイルが生成される
    e2 studio+CC-RHの場合:rcpcファイルは生成されない、、、


    CS+ for CC+CC-RHでのプロジェクトフォルダ

     

  • こんにちは。NoMaYです。

    前の投稿の続きですが、やっぱりe2 studioにはCS+ for CCでのCC-RHの場合のrcpeファイルをインポートする機能は実装されていないです。今までのCC-RXやCC-RLのrcpeファイルをインポートするものしか無いようですね。ダメモトでCC-RHのrcpeファイルをインポートしてみようとしましたがFinishボタンが押せませんでした。

    以下、e2 studioの画面コピーとCS+ for CC+CC-RHで生成したrcpeファイルです。

    今までのCC-RXやCC-RLのrcpeファイルをインポートする機能しか無い


    ダメモトでCC-RHのrcpeファイルをインポートしてみようとしましたがFinishボタンが押せません


    TestSCRH850.rcpe    (念の為にCS+ for CC 32bit版で保存し直したものです)

    TestSCRH850.rcpe.20220726.txt
    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    <MicomToolCommonProjectFile Version="1.00">
      <CreatorType Name="CubeSuite+" Version="V8.08.00  [10 Jun 2022]" />
      <Placeholders>
        <PlaceholderPrefix>%</PlaceholderPrefix>
        <PlaceholderPostfix>%</PlaceholderPostfix>
      </Placeholders>
      <Project Name="TestSCRH850" Type="Application">
        <Files>
          <Path>boot.asm</Path>
          <Path>cstart.asm</Path>
          <Path>iodefine.h</Path>
          <Path>sc_intprg-S1.c</Path>
          <Category Name="Smart Configurator">
            <Category Name="Config_UART0">
              <Path>src\smc_gen\Config_UART0\Config_UART0.c</Path>
              <Path>src\smc_gen\Config_UART0\Config_UART0.h</Path>
              <Path>src\smc_gen\Config_UART0\Config_UART0_user.c</Path>
            </Category>
            <Category Name="general">
              <Path>src\smc_gen\general\r_cg_cgc.c</Path>
              <Path>src\smc_gen\general\r_cg_cgc.h</Path>
              <Path>src\smc_gen\general\r_cg_cgc_user.c</Path>
              <Path>src\smc_gen\general\r_cg_intvector.c</Path>
              <Path>src\smc_gen\general\r_cg_macrodriver.h</Path>
              <Path>src\smc_gen\general\r_cg_main.c</Path>
              <Path>src\smc_gen\general\r_cg_systeminit.c</Path>
              <Path>src\smc_gen\general\r_cg_uart.h</Path>
              <Path>src\smc_gen\general\r_cg_userdefine.h</Path>
              <Path>src\smc_gen\general\r_smc_interrupt.c</Path>
              <Path>src\smc_gen\general\r_smc_interrupt.h</Path>
            </Category>
            <Category Name="r_pincfg">
              <Path>src\smc_gen\r_pincfg\Pin.c</Path>
              <Path>src\smc_gen\r_pincfg\Pin.h</Path>
            </Category>
          </Category>
        </Files>
        <DebugOptions>
          <DebugTool>Simulator</DebugTool>
          <ConnectSettings>
            <MainClock>320000000</MainClock>
          </ConnectSettings>
          <DebugToolSettings />
        </DebugOptions>
        <Device Series="RH850">R7F701684</Device>
        <BuildOptions Name="CC-RH" Version="V2.04.00">
          <BuildMode Name="DefaultBuild" Active="True">
            <LinkOrder>
              <Path>DefaultBuild\boot.obj</Path>
              <Path>DefaultBuild\cstart.obj</Path>
              <Path>DefaultBuild\Config_UART0.obj</Path>
              <Path>DefaultBuild\Config_UART0_user.obj</Path>
              <Path>DefaultBuild\r_cg_cgc.obj</Path>
              <Path>DefaultBuild\r_cg_cgc_user.obj</Path>
              <Path>DefaultBuild\r_cg_intvector.obj</Path>
              <Path>DefaultBuild\r_cg_main.obj</Path>
              <Path>DefaultBuild\r_cg_systeminit.obj</Path>
              <Path>DefaultBuild\r_smc_interrupt.obj</Path>
              <Path>DefaultBuild\Pin.obj</Path>
              <Path>DefaultBuild\sc_intprg-S1.obj</Path>
            </LinkOrder>
            <CommonOptions>
              <IncludePathForC>src\smc_gen\r_pincfg</IncludePathForC>
              <IncludePathForC>src\smc_gen\general</IncludePathForC>
              <IncludePathForC>src\smc_gen\Config_UART0</IncludePathForC>
              <IncludePathForC>.</IncludePathForC>
            </CommonOptions>
            <GeneralOptions>
              <SimultaneouslyBuild>True</SimultaneouslyBuild>
            </GeneralOptions>
            <CompileOptions>
              <Option>-Xobj_path=%BuildModeName%</Option>
              <Option>-Xcpu=g3kh</Option>
              <Option>-g</Option>
              <Option>-g_line</Option>
              <Option>-Isrc\smc_gen\r_pincfg</Option>
              <Option>-Isrc\smc_gen\general</Option>
              <Option>-Isrc\smc_gen\Config_UART0</Option>
              <Option>-I.</Option>
              <Option>-Xdbl_size=4</Option>
              <Option>-c</Option>
            </CompileOptions>
            <AssembleOptions>
              <Option>-Xobj_path=%BuildModeName%</Option>
              <Option>-Xcpu=g3kh</Option>
              <Option>-g</Option>
              <Option>-c</Option>
            </AssembleOptions>
            <LinkOptions>
              <Option>-debug</Option>
              <Option>-nocompress</Option>
              <Option>-NOOPtimize</Option>
              <Option>-output=%BuildModeName%\%ProjectName%.abs</Option>
              <Option>-library=v850e3v5\rhf4n.lib</Option>
              <Option>-library=v850e3v5\libmalloc.lib</Option>
              <Option>-list=%BuildModeName%\%ProjectName%.map</Option>
              <Option>-start=RESET,EIINTTBL.const/0,.const,.INIT_DSEC.const,.INIT_BSEC.const,.text,.data/00008000,.data.R,.bss,.stack.bss/FEDE8000</Option>
              <Option>-rom=.data=.data.R</Option>
              <Option>-stack</Option>
              <Option>-nologo</Option>
              <Option>-END</Option>
              <Option>-Input=%BuildModeName%\%ProjectName%.abs</Option>
              <Option>-output=%BuildModeName%\%ProjectName%.mot</Option>
              <Option>-form=stype</Option>
              <Option>-EXIt</Option>
            </LinkOptions>
            <IOHeaderGenerationOptions>
              <Option>-df=C:\Renesas\CS+\CC\Device\RH850\Devicefile\DR7F701684.DVF</Option>
              <Option>-o=C:\Renesas\GitHubDesktop\workspaces\workspace_e2v202207\TestSCRH850\iodefine.h</Option>
              <Option>-def=off</Option>
              <Option>-f</Option>
              <UpdateIOMode>None</UpdateIOMode>
            </IOHeaderGenerationOptions>
          </BuildMode>
        </BuildOptions>
        <Extension_SmcCodePartRH850>
          <CodeGeneratorData></CodeGeneratorData>
          <GenerateFileFolder>C:\Renesas\GitHubDesktop\workspaces\work_csplus\TestSCRH850</GenerateFileFolder>
          <SCFGFile>TestSCRH850.scfg</SCFGFile>
          <SmcExePath>C:\Renesas\SmartConfigurator\RH850\eclipse\SmartConfigurator.exe</SmcExePath>
          <CodeGeneratorFilesGuid>37508ca7-85ba-4502-a028-2ad7aa20d1f3</CodeGeneratorFilesGuid>
        </Extension_SmcCodePartRH850>
      </Project>
    </MicomToolCommonProjectFile>