RX231 スマートコンフィグ CANAPI ファームウェアについて

いつもお世話になっております。

RX231マイコンでCAN通信の学習を試みております。

e2studioを使用しておりスマートコンフィグレータ内のCAN API for the RX200 seriesをダウンロードしました。

アプリケーションノートに従って、rscan_demo_rskrx231_gccをインポートしたのですが、ビルドを行うと r_bsp_config.hがエラーとなります。

何が不足しているのか不明なのですが、わかる方いらっしゃいますでしょうか?

そのままインポートをしただけではソースファイルが不足しているということでしょうか?

初歩的で申し訳ありませんが、よろしくお願いいたします。

rx231can.xlsx

  • 黒枝豆さん、こんにちは。NoMaYです。

    あっ、このサンプルプロジェクトではHardwareDebugフォルダに丸ごと、ルネサスさんの担当者さんがビルドした時のファイルが、メイクファイルも含めて残っていますね、、、-Iオプションの引数はその担当者さんのパスになっていましたから、ひょっとしたら、私はたまたま何か意識していない手順のせいでメイクファイルが再生成されて、-Iオプションの引数が私の環境のパスに変化してビルド出来たのかも知れません、、、

    逆に、黒枝豆さんの場合、2台のパソコンともメイクファイルが再生成されていなかったのかも知れません、、、

    確証を得るとすると、こんな感じかと思いました。

    (1) プロジェクトフォルダを削除して、もう一度もともとの手順でやってみる
    (2) 同じ症状になると思われます
    (3) コンソールウィンドウで-Iオプションのパスを確認する
    (4) メイクファイルが再生成されていなければ頓珍漢なパスになってしまっていると予想されます

  • NoMaYさん こんにちは。

    親身になって考えてくださりありがとうございます。

    コンソールウィンドウ オプションのパスとはどこで見れますか??

    アイコン等完全には把握できておらず、申し訳ございません。(汗)

  • 黒枝豆さん、こんにちは。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がメイクを使っていることとか、あれこれと分かっていないといけないですものね。)

  • NoMaYさん こんにちは。

    コンソールウィンドウがどこにあるのか理解できました。

    成功パターンの表示をコピーしましたので、今から削除して再度インポートをやり直してみます。

    後程、貼り付けしてみますね。

    よろしくお願いいたします。

  • NoMaYさん こんにちは。

    先程、削除して再度インポートしてみました。

    エラーがこのようになっているのですが、内部の詳細まで私ではわかりません。(笑)

    r_bsp_config.h と r_rscan_rx_config.hを名前を変更して元に戻すとビルド完了となりました。

    う~んです。

    rs_canビルド例.xlsx

  • 黒枝豆さん、こんにちは。NoMaYです。

    添付して頂いたファイルを見ました。私は、以下はe2 studioの不具合として、ルネサスさんに調べて貰うしかないかな、と思い始めました。ポイントは、私の場合と黒枝豆さんの場合とで、インポート後の-Iオプションに関して、r_configフォルダのパスの有無が何故か異なる、という問題です。(私の方にはあって、黒枝豆さんの方には無い、のです。何故か、あるべき筈のパスが欠落してしまっているのです。) この後、私に出来ることといったら、そちらのプロジェクトフォルダにある.cprojectファイルを送って頂いて、中を調べることで、e2 studioのプロジェクトの設定として欠落しているかどうか(たぶん欠落していると思うのですが)の確証を取るぐらいかな、と思いました。

    私の場合:

    -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"

     
    黒枝豆さんの場合: (ビルド失敗時のものだけでなく、成功時のものもこのままでした)

    -I"C:\\Users\\X-XXXXXXX\\e2_studio\\workspace\\rscan_demo_rskrx231_gcc\\src\\demo" 
    -I"C:\\Users\\X-XXXXXXX\\e2_studio\\workspace\\rscan_demo_rskrx231_gcc\\src\\smc_gen\\general"
    -I"C:\\Users\\X-XXXXXXX\\e2_studio\\workspace\\rscan_demo_rskrx231_gcc\\src\\smc_gen\\r_pincfg"
    -I"C:\\Users\\X-XXXXXXX\\e2_studio\\workspace\\rscan_demo_rskrx231_gcc\\src\\smc_gen\\r_rscan_rx"
    -I"C:\\Users\\X-XXXXXXX\\e2_studio\\workspace\\rscan_demo_rskrx231_gcc\\src\\smc_gen\\r_rscan_rx\\src"
    -I"C:\\Users\\X-XXXXXXX\\e2_studio\\workspace\\rscan_demo_rskrx231_gcc\\src\\smc_gen\\r_bsp"

     
    次に「r_bsp_config.h と r_rscan_rx_config.hを名前を変更して元に戻すとビルド完了となりました。」への仮説ですが、以下の仮説を立てました。(ただし、私の手元では、意図的にr_configのインクルードパスを削除してやると同様なインクルードファイルエラーになりますが、その状態でそのような操作をしても以下のようなソースの変化はありませんでした。この辺りは、e2 studioのバージョンとか過去のワークスペースの設定履歴とかにも依存して挙動が変わるのかも知れません。)

    (0) 記憶では、e2 studio(というかEclipse)にはe2 studio上でヘッダファイルの位置や名前を変更すると、それに追従してe2 studioが自動的に#include文の内容を修正する、という機能があったと記憶しています。(正直なところ、私にはちょっと敬遠したいような機能、ではありますけれども。)

    (1) 名前を変更する前、ソース上の元々の#include文は以下の通りです。

    例) rscan_demo_rskrx231_gcc\src\smc_gen\r_bsp\board\generic_rx231\r_bsp.h

    #include    "r_bsp_config.h"

     
    (2) それが以下のようなものに自動修正されているかも知れません(他のソースに関しても全て同様にです)

    例) rscan_demo_rskrx231_gcc\src\smc_gen\r_bsp\board\generic_rx231\r_bsp.h

    #include    "C:\\Users\\X-XXXXXXX\\e2_studio\\workspace\\rscan_demo_rskrx231_gcc\\src\\smc_gen\\r_config\\r_bsp_config.h"

     

  • NoMaYさん こんにちは。

    今確認しましたらおっしゃる通りに名前の変更で#include の後が変更になってますね。

    かなり奥深いですねー。ビルド、デバッグは出来てそうなので波形を計測してみようと思います。

    もうこうなってくると、ルネサスに直接確認するしか方法がないんですね。

    .cprojectがドラッグアンドドロップ出来ません(*_*)

    エクセルはドロップ出来るんですけどねーCold sweat

    rs_canファイル.xlsx

  • 黒枝豆さん、こんにちは。NoMaYです。

    今しがた気になったのですが、インクルードパスの追加方法も分からないですよね。e2 studioの使い方ガイドみたいなものを探して中を見てみたのですが、残念ながら、その辺の説明が無かったです、、、他に何か無いか探してみます、、、

    統合開発環境 e2 studio 2020-04、e2 studio v7.8 ユーザーズマニュアル 入門ガイド
    Rev.1.00 2020.05
    ルネサスマイクロコントローラ RX, RL78, RH850 ファミリ
    www.renesas.com/jp/ja/document/man/e-studio-integrated-development-environment-users-manual-getting-started-guide-rx-rl78-rh850-family
    「インクルード」や「マクロ」の文字列を検索してもヒットしない、、、

    [関連リンク]

    Google検索: e2 studio 入門
    www.google.com/search?&q=e2+studio+入門

    [追記]

    e² studioのチュートリアルがどこにあるか
    ja-support.renesas.com/knowledgeBase/17797685

    [追記その2]

    って、これだけですか、、、


    e2 studio ユーザーガイド > 全般 > チュートリアル > GCC for Renesas RX チュートリアル

    GCC for Renesas RX サンプルプログラム

    CPU Type リンク 説明

    RX71M RX71M blinky Demo 本サンプルは、LEDの点滅のデモです。本サンプルはコード生成を使用し、RX71M RSKボードで動作します。

    サンプル・アプリケーションを実行するには、以下のステップに従ってください。

    1. アプリケーションをダウンロードしてください。アプリケーションは、*.zip ファイルです。

    2. 新しいワークスペースを作るか、既存のワークスペースで [ファイル -> インポート -> 一般 -> '既存プロジェクトをワークスペースへ’] を開き、"次へ" をクリックしてください。

    3. アプリケーションが *.zip ファイルであるため、ダウンロードしたアプリケーションをインポートするためには 'アーカイブ・ファイルの選択' と '参照' をクリックし、ZIPファイルを選択してから、"完了" をクリックしてください。

    4. ファイルが解凍されていた場合、一つのワーキング・ディレクトリ内で解凍されたことを確認してください。次に、保管したアプリケーションを選ぶために "ルート・ディレクトリーの選択" と "参照" をクリックしてから、"完了" をクリックしてください。

    詳細については、e2 studioチュートリアルを参照ください。


    e2 studioチュートリアルって何?どんな内容?どこにあるのかな?まさかこれのことなのかなぁ、、、


    e2 studio ユーザーガイド > 全般

    チュートリアル

    内容
    ・LLVM for Renesas RL78 Tutorial
    ・Renesas RL78ファミリ用Cコンパイラパッケージ ツールチェーン チュートリアル
    ・GCC for Renesas RL78 チュートリアル
    ・GCC for Renesas RX チュートリアル
    ・Renesas RXファミリ用C/C++コンパイラパッケージ ツールチェーン チュートリアル


  • NoMaYさん こんにちは。

    いつも大変お世話になっております。

    かふぇルネの返信で.cproject等の貼り付けが出来ないので困ってますJoy

    エクセルは貼り付けが出来るのですが、、、、、

    e2studioのマニュアルありがとうございます。

    熟読したいと思いますGrinning