いつもお世話になっております。
RX231マイコンでCAN通信の学習を試みております。
e2studioを使用しておりスマートコンフィグレータ内のCAN API for the RX200 seriesをダウンロードしました。
アプリケーションノートに従って、rscan_demo_rskrx231_gccをインポートしたのですが、ビルドを行うと r_bsp_config.hがエラーとなります。
何が不足しているのか不明なのですが、わかる方いらっしゃいますでしょうか?
そのままインポートをしただけではソースファイルが不足しているということでしょうか?
初歩的で申し訳ありませんが、よろしくお願いいたします。
rx231can.xlsx
黒枝豆さん、こんにちは。NoMaYです。> そのままインポートをしただけではソースファイルが不足しているということでしょうか?そういうことでは無い筈です。今しがたダウンロードして試してみましたが、私の手元ではビルド出来ました。画面コピーを見て気付いたのですが、エラーメッセージがCC-RXのもののようであり、そちらの状況がそもそも混乱しているように見受けられました。ひとまず余計なプロジェクトをワークスペースから削除して、もう一度クリーン&ビルドして、その後のそちらの状況を教えて頂けませんか?
NoMayさん いつもご丁寧にありがとうございます。
全て閉じて、再度インポートしてみましたがやはりエラーとなります。
r_bsp_config.hが存在しないような表記となりますね。
なかなか難しいですが引き続き調べて見ようと思います。
rs_can設定.xlsx
黒枝豆さん、こんにちは。NoMaYです。r_bsp_config.hはsrc/r_config[訂正15:20]src/smc_gen/r_configフォルダにある筈のファイルですね。セオリー的には次は以下の順番かな、とは思うのです。(1) r_bsp_config.hがあることを確認(2) コンソールウィンドウの内容を確認してrx-elf-gccの-Iオプションにr_configフォルダの指定があるかを確認(3) プロジェクトのプロパティでインクルードディレクトリリストにr_configフォルダの指定があるかを確認(4) ?あと、セオリー的では無いですが、経験値的には以下のようなものもあります。(A) ワークスペースフォルダ(やプロジェクトフォルダ)を浅い深さの全角文字も半角スペースも含まないディレクトリに変えてみる(B) e2 studioの最新版をインストールして試してみる
NoMaYさん こんにちは。
アドバイスありがとうございます。
色々探してこんな感じのマニュアルをみつけました。
おっしゃる通り、r_bsp_config.hがインポートしたものには存在しません。
r_bsp_config_reference.hを変更するように指示がありますが、改善はしませんでした。
NoMaYさんのアドバイスを元に試行錯誤してみようとおもいます。
rs_can設定2.xlsxプラットフォーム設定.xlsx
黒枝豆さん、こんにちは。NoMaYです。ごめんなさい、私、フォルダの階層をひとつ間違えました。すみません。誤)src/r_configフォルダにある筈のファイル正)src/smc_gen/r_configフォルダにある筈のファイルちなみに、マニュアルのその部分は、RXスマートコンフィグレータを使わない人向けの記載ですね、、、
えっ?そーなんですか。
ショックです(笑)無知なばかりに無駄な時間を過ごしました(笑)
インポートの内部を詳しく見ていこうと思います。
r_configの中を再度確認するとr_bsp_config.hが存在しました。
しかしながら何度ビルドしてもエラーとなるのは同じでした。
r_bsp.config.hの名前をr_bsp_config_a.hなど適当な名前に変更して再びr_bsp.config.hに変更するとビルド完了しました。
インポートだけなのにうまくいかないことがあるんだと勉強になりました。
ありがとうございました。
rs_can設定3sxs.xlsx
黒枝豆さん、こんにちは。NoMaYです。ファイル名を一度変えてから元に戻したらOKになった、というのはそうそう無い事例ですね。いや、そうでも無いかも。過去、私はRL78のGCCで、どういうわけなのか、恐らく中間生成ファイルであろうアセンブラソースに文法エラーがあるというアセンブルエラーでコンパイルに失敗する経験をしていますけど、何度かコンパイルを繰り返しているとコンパイルに成功しますし、再現条件が全く不明なこともあって、放置していたのですけど、そういうカテゴリの謎な問題なのかも知れないかも、と現時点では考えるようになりました。(ひょっとすると、GCCが使っているライブラリのどれかにロジック的な不具合が存在している可能性もあるのかも知れないかも。)#脅そうとしているわけではないですけれども、明日、あるいは1週間後、さらには忘れた頃、再発するようになるかも知れないかも。(漠然とですが、そういうタイプのトラブル、なのかも?と考えるようになりました。)[追記]よくよく考えてみると、そういうトラブルがありながら触り続けているなんて、私は度胸がありますよね、、、でも、一般的な事例として、パソコンの調子が悪いというタイプのトラブルはしばしばある話で、単にそちらの系統のことかも知れませんし、、、
ご丁寧に解説いただきありがとうございます。
デスクトップとノートの二台体制で今日見比べていたのですが、同じ結果でした。
私のやり方が間違っているかもしれないし、経験がないのでなんとも言えませんが......
また再発するようであれば怖いですね。悩ましいものですね(笑)
ツールチェインのバージョンです。
ノートは8.3.0.202104でした。
また経験談等、アドバイスいただけると嬉しいです。
ツールチェインバージョン.xlsx
黒枝豆さん、こんにちは。NoMaYです。2台のパソコンで同じ症状でしたか、、、うむむむ、、、
黒枝豆さん、こんにちは。NoMaYです。あっ、このサンプルプロジェクトではHardwareDebugフォルダに丸ごと、ルネサスさんの担当者さんがビルドした時のファイルが、メイクファイルも含めて残っていますね、、、-Iオプションの引数はその担当者さんのパスになっていましたから、ひょっとしたら、私はたまたま何か意識していない手順のせいでメイクファイルが再生成されて、-Iオプションの引数が私の環境のパスに変化してビルド出来たのかも知れません、、、逆に、黒枝豆さんの場合、2台のパソコンともメイクファイルが再生成されていなかったのかも知れません、、、確証を得るとすると、こんな感じかと思いました。(1) プロジェクトフォルダを削除して、もう一度もともとの手順でやってみる(2) 同じ症状になると思われます(3) コンソールウィンドウで-Iオプションのパスを確認する(4) メイクファイルが再生成されていなければ頓珍漢なパスになってしまっていると予想されます
親身になって考えてくださりありがとうございます。
コンソールウィンドウ オプションのパスとはどこで見れますか??
アイコン等完全には把握できておらず、申し訳ございません。(汗)
黒枝豆さん、こんにちは。NoMaYです。> (3) コンソールウィンドウで-Iオプションのパスを確認するすみません、GCCを使われている方で、これで話が通じないことにジェネレーションギャップのショックを受けています。コンソールウィンドウに、以下のような文字列が表示されませんでしたか?その文字列の中の、例えば-I"C:\\Renesas\\GitHubDesktop\\workspaces\\workspace_e2v202201\\rscan_demo_rskrx231_gcc\\src\\demo"という部分のことなのですけれども。あるべき状態では、今ビルドしようとしている環境でのパスになる筈ですが、何らかの原因で、過去ルネサスさんの担当者さんがビルドした時のパスのままになっているのではないだろうか、という可能性を懸念しています。(以下で赤文字になっているのは私が文字色を変更したことによるものです。) (もちろん、そちらではビルドに失敗していますので、そちらでは最後まで実行されていないのですけれども。)
Extracting support files...12:14:00 **** Build of configuration HardwareDebug for project rscan_demo_rskrx231_gcc ****make -j2 all 'rx-elf-gcc -O0 -ffunction-sections -fdata-sections -Wstack-usage=100 -g2 -mcpu=rx230 -misa=v2 -mlittle-endian-data -std=gnu99 -I"C:\\Renesas\\GitHubDesktop\\workspaces\\workspace_e2v202201\\rscan_demo_rskrx231_gcc\\src\\demo" -I"C:\\Renesas\\GitHubDesktop\\workspaces\\workspace_e2v202201\\rscan_demo_rskrx231_gcc\\src\\smc_gen\\r_rscan_rx" -I"C:\\Renesas\\GitHubDesktop\\workspaces\\workspace_e2v202201\\rscan_demo_rskrx231_gcc\\src\\smc_gen\\r_rscan_rx\\src" -I"C:\\Renesas\\GitHubDesktop\\workspaces\\workspace_e2v202201\\rscan_demo_rskrx231_gcc\\src\\smc_gen\\r_bsp" -I"C:\\Renesas\\GitHubDesktop\\workspaces\\workspace_e2v202201\\rscan_demo_rskrx231_gcc\\src\\smc_gen\\r_config" -I"C:\\Renesas\\GitHubDesktop\\workspaces\\workspace_e2v202201\\rscan_demo_rskrx231_gcc\\src\\smc_gen\\general" -I"C:\\Renesas\\GitHubDesktop\\workspaces\\workspace_e2v202201\\rscan_demo_rskrx231_gcc\\src\\smc_gen\\r_pincfg" -Wa,-adlnh="r_rscan_rx.lst" -MMD -MP -MF"src/smc_gen/r_rscan_rx/src/r_rscan_rx.d" -MT"src/smc_gen/r_rscan_rx/src/r_rscan_rx.o" "../src/smc_gen/r_rscan_rx/src/r_rscan_rx.c" -c -o "src/smc_gen/r_rscan_rx/src/r_rscan_rx.o"'途中省略'rx-elf-gcc -O0 -ffunction-sections -fdata-sections -Wstack-usage=100 -g2 -mcpu=rx230 -misa=v2 -mlittle-endian-data -std=gnu99 -I"C:\\Renesas\\GitHubDesktop\\workspaces\\workspace_e2v202201\\rscan_demo_rskrx231_gcc\\src\\demo" -I"C:\\Renesas\\GitHubDesktop\\workspaces\\workspace_e2v202201\\rscan_demo_rskrx231_gcc\\src\\smc_gen\\r_rscan_rx" -I"C:\\Renesas\\GitHubDesktop\\workspaces\\workspace_e2v202201\\rscan_demo_rskrx231_gcc\\src\\smc_gen\\r_rscan_rx\\src" -I"C:\\Renesas\\GitHubDesktop\\workspaces\\workspace_e2v202201\\rscan_demo_rskrx231_gcc\\src\\smc_gen\\r_bsp" -I"C:\\Renesas\\GitHubDesktop\\workspaces\\workspace_e2v202201\\rscan_demo_rskrx231_gcc\\src\\smc_gen\\r_config" -I"C:\\Renesas\\GitHubDesktop\\workspaces\\workspace_e2v202201\\rscan_demo_rskrx231_gcc\\src\\smc_gen\\general" -I"C:\\Renesas\\GitHubDesktop\\workspaces\\workspace_e2v202201\\rscan_demo_rskrx231_gcc\\src\\smc_gen\\r_pincfg" -Wa,-adlnh="main.lst" -MMD -MP -MF"src/demo/main.d" -MT"src/demo/main.o" "../src/demo/main.c" -c -o "src/demo/main.o"''rx-elf-gcc -O0 -ffunction-sections -fdata-sections -Wstack-usage=100 -g2 -mcpu=rx230 -misa=v2 -mlittle-endian-data -o "rscan_demo_rskrx231_gcc.elf" ./src/smc_gen/r_rscan_rx/src/r_rscan_rx.o ./src/smc_gen/r_pincfg/Pin.o ./src/smc_gen/r_bsp/mcu/rx231/mcu_clocks.o ./src/smc_gen/r_bsp/mcu/rx231/mcu_init.o ./src/smc_gen/r_bsp/mcu/rx231/mcu_interrupts.o ./src/smc_gen/r_bsp/mcu/rx231/r_bsp_vbatt.o ./src/smc_gen/r_bsp/mcu/rx231/vecttbl.o ./src/smc_gen/r_bsp/mcu/all/dbsct.o ./src/smc_gen/r_bsp/mcu/all/lowlvl.o ./src/smc_gen/r_bsp/mcu/all/lowsrc.o ./src/smc_gen/r_bsp/mcu/all/mcu_locks.o ./src/smc_gen/r_bsp/mcu/all/r_bsp_common.o ./src/smc_gen/r_bsp/mcu/all/r_bsp_cpu.o ./src/smc_gen/r_bsp/mcu/all/r_bsp_interrupts.o ./src/smc_gen/r_bsp/mcu/all/r_bsp_locking.o ./src/smc_gen/r_bsp/mcu/all/r_bsp_mcu_startup.o ./src/smc_gen/r_bsp/mcu/all/r_bsp_software_interrupt.o ./src/smc_gen/r_bsp/mcu/all/r_rx_intrinsic_functions.o ./src/smc_gen/r_bsp/mcu/all/reset_program.o ./src/smc_gen/r_bsp/mcu/all/resetprg.o ./src/smc_gen/r_bsp/mcu/all/sbrk.o ./src/smc_gen/r_bsp/board/generic_rx231/hwsetup.o ./src/smc_gen/general/r_cg_hardware_setup.o ./src/smc_gen/general/r_smc_cgc.o ./src/smc_gen/general/r_smc_cgc_user.o ./src/smc_gen/general/r_smc_interrupt.o ./src/demo/main.o -T "C:/Renesas/GitHubDesktop/workspaces/workspace_e2v202201/rscan_demo_rskrx231_gcc/src/linker_script.ld" -Wl,--start-group -lm -lc -lgcc -Wl,--end-group -nostartfiles -Wl,-e_PowerON_Reset -Wl,-M=rscan_demo_rskrx231_gcc.map'rx-elf-gcc @"rscan_demo_rskrx231_gcc.elf.in"rx-elf-objcopy "rscan_demo_rskrx231_gcc.elf" -O srec -I elf32-rx-be-ns "rscan_demo_rskrx231_gcc.mot"12:14:26 Build Finished. 0 errors, 2 warnings. (took 26s.53ms)
黒枝豆さん、こんにちは。NoMaYです。先日のビルドに成功した時の画面コピーとして頂いたrs_can設定3sxs.xlsxを見直して気になったのですが、もしかしたら、いきなり Nothing to be done for 'all' が表示されただけで、先ほど私が投稿したようなものはコンソールウィンドウに表示されなかった、ということがあったりしますか?[追記]夜遅くになって気付いたのですけれども、先日「メイクファイルが再生成されていなかったのかも知れません」と書いたのですけれども、何のことかさっぱり分からない、という伝わり方ではなかったかなと気付きました。(これが伝わるためには、メイクというツールの存在とか、メイクが動作する仕組みとか、e2 studioがメイクを使っていることとか、あれこれと分かっていないといけないですものね。)
コンソールウィンドウがどこにあるのか理解できました。
成功パターンの表示をコピーしましたので、今から削除して再度インポートをやり直してみます。
後程、貼り付けしてみますね。
よろしくお願いいたします。