こんにちは。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 ListList generated on 30/03/2020 15:14:31www2.renesas.eu/_custom/software/ree_eclipse/e2studio7/docs/releasenotes/7.8.0/openissues.htme²studio 2020-04 Known Issues ListList generated on 14/04/2020 15:14:31www2.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版で保存し直したものです)
<?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>