CCRXの-Lオプションについて

初めて質問させていただきます。
統合環境を用いずにコマンドのみを用いて、CCRXでコンパイルをしてRLINKで動的ライブラリとリンクをして.absファイルを生成することを目指しています。
現在必要な動的ライブラリを読み込むことができず、
```
E0562310:Undefined external symbol "__Stdout" referenced in <some path>\unity.obj
```
と怒られております。
組み込み用のテストフレームワークunityを用いてテストを書いているため、そこで用いるライブラリが読み込めていないものと推測しています。

質問1:
読み込む動的ライブラリのフォルダを指定するようなオプションはccrxには存在しないでしょうか?
CC-RX コンパイラ ユーザーズマニュアル (renesas.com)←こちらのマニュアルで調べたところ存在しないような気がします)

質問2:
もし存在しないなら、どのようにリンクさせればよいでしょうか?

質問3:
そもそもの話で恐縮ですが、ccrxで.exe形式の実行ファイルを出力することは可能でしょうか?(PC上でテストを走らせたいと考えている)

以上つまらない質問で申し訳ありません。
識者の方いらっしゃいましたらご鞭撻お願いいたします。

Parents
  • Sさん、こんにちは。NoMaYです。

    私自身は、ガチ、での組み込みシステム開発業務を行った経験は、殆ど無く、かつ、昔のこと、かつ、PC側からUSBで制御するもの、でしたので、PC上で簡単な独自バッチ言語で書かれたスクリプトファイルを実行させるツールを所属グループで作って、Pass/Fail等を出力させたり、詳細な実行ログを出力させて期待値とファイル比較ツールで比較したり、といったことをしていました。(なお、ツールは既に所属グループにあったものを使わせて貰っていました。)

    頂いたリプライで分かったのは、「PC上でテストを走らせたいと考えている」というの は、やっぱり「シミュレータで」というわけではなかったのですね。それで、とっさに幾つか探してみたスレッドとして以下のものがあります(気付いたものは シミュレータのものでしたがE2Liteエミュレータでも概ね同様だと思います)が、もう少しあれこれ考えてみます。(あと、この前のメールに書いたルネ サスさんの中の人のシェルティさんが、かふぇルネでリプライされていた投稿には、グーグルテスト、というようなツールがあるといったようなことが書かれて いた記憶があります。(そういう名前だったような記憶しています。なお、以前にちょっと検索したら有償ツールだったように記憶しています。)

    RX Simulator環境でコマンドラインからプロジェクトを実行する
    community-ja.renesas.com/cafe_rene/forums-groups/mcu-mpu/rx/f/forum5/7608/rx-simulator

    [GDB] Cannot execute this command while the selected thread is running
    community-ja.renesas.com/cafe_rene/forums-groups/tools/f/forum21/7986/gdb-cannot-execute-this-command-while-the-selected-thread-is-running

    printfをコマンドラインに表示させたい
    community-ja.renesas.com/cafe_rene/forums-groups/tools/f/forum21/8015/printf
     

  • NoMaY様、ご返信どうもありがとうございます。

    > PC上で簡単な独自バッチ言語で書かれたスクリプトファイルを実行させるツールを所属グループで作って、Pass/Fail等を出力させたり、詳細な実行ログを出力させて期待値とファイル比較ツールで比較

    こういったやり方も検討してみます。

    >「PC上でテストを走らせたいと考えている」というの は、やっぱり「シミュレータで」というわけではなかったのですね。

    Simulatorというものの役割を理解しておりませんでした。これは「アイス」と呼ばれる(PCと実機を中継しているようにみえる)デバイスのことで間違いないでしょうか?また、また、E2Studioでデバッガ起動した際に実行されるのはこのSimulator上という理解でよろしいでしょうか?初歩的な質問ばかりで申し訳ありません。

    最初はclangコンパイラでソースのコンパイルを試みたのですが、#define マクロの部分で複数エラーが生じてしまいました。(そしてそもそも別のコンパイラでコンパイルしてテストしてもあまり意味がないのかなと思いなおしました)

    上記リンクの”RX Simulator環境でコマンドラインからプロジェクトを実行する”の方は自分とやりたいことも似ていて大変参考になりました。改めてどうもありがとうございます。

Reply
  • NoMaY様、ご返信どうもありがとうございます。

    > PC上で簡単な独自バッチ言語で書かれたスクリプトファイルを実行させるツールを所属グループで作って、Pass/Fail等を出力させたり、詳細な実行ログを出力させて期待値とファイル比較ツールで比較

    こういったやり方も検討してみます。

    >「PC上でテストを走らせたいと考えている」というの は、やっぱり「シミュレータで」というわけではなかったのですね。

    Simulatorというものの役割を理解しておりませんでした。これは「アイス」と呼ばれる(PCと実機を中継しているようにみえる)デバイスのことで間違いないでしょうか?また、また、E2Studioでデバッガ起動した際に実行されるのはこのSimulator上という理解でよろしいでしょうか?初歩的な質問ばかりで申し訳ありません。

    最初はclangコンパイラでソースのコンパイルを試みたのですが、#define マクロの部分で複数エラーが生じてしまいました。(そしてそもそも別のコンパイラでコンパイルしてテストしてもあまり意味がないのかなと思いなおしました)

    上記リンクの”RX Simulator環境でコマンドラインからプロジェクトを実行する”の方は自分とやりたいことも似ていて大変参考になりました。改めてどうもありがとうございます。

Children
  • Sさん、こんにちは。NoMaYです。

    > Simulatorというものの役割を理解しておりませんでした。これは「アイス」と呼ばれる(PCと実機を中継しているようにみえる)デバイスのことで間違いないでしょうか?

    いえ、違うのです。PCとかタブレットとかの世界で言えば、QEMUシミュレータとかAndroidエミュレータとか、そういったものに相当します。「「アイス」と呼ばれる(PCと実機を中継しているようにみえる)デバイス」はE2LiteエミュレータとかE1エミュレータとかになります(他にも色々と種類があります)。

    > また、また、E2Studioでデバッガ起動した際に実行されるのはこのSimulator上という理解でよろしいでしょうか?

    いえ、違うのです。e2 studioでプロジェクトを作成した時のプロジェクト作成ウィザードの設定に依りますけれども、素朴にプロジェクトウィザードで設定していていけば、E2LiteエミュレータとかE1エミュレータとかになります。

    そのあたりの導入部に関しては、他の人の別スレッドにも書きましたが、ルネサスさんのビデオを御覧になってはどうでしょうか。以下のスレッドはRL78に関してでしたけれども、RXであればこちらのURLかなと思います。

    RL78/G23でRAMに保存したA/D変換値をCOM Port経由でPCに転送しcsvで保存したいです。
    community-ja.renesas.com/cafe_rene/forums-groups/mcu-mpu/rl78/f/forum18/9846/rl78-g23-ram-a-d-com-port-pc-csv

    RX Family Software & Tool Course
    www.renesas.com/jp/ja/software-tool/rx-software-tool-course

    このコースでは、RXファミリを利用した開発を始める方のために、ルネサス開発環境の基本機能やソリューション開発支援機能をわかりやすいビデオでご紹介しています。
    お客様のスムーズな開発のスタートにぜひご活用ください。



    ちなみに、私も、clangでは無くてMinGWですけれども、以下のことを試していたことがあります。(タイトルとは裏腹に実行出来るようにするとこまで持ち込みたかったのですけれども、今のところ尻切れトンボになっていますけれども。)

    RX SmartConfigurator FIT e2studioプロジェクトをMinGWでbuildしてみる(もちろん実行出来ませんけれど)
    community-ja.renesas.com/cafe_rene/forums-groups/tools/f/forum21/7220/rx-smartconfigurator-fit-e2studio-mingw-build
     

  • NoMaY様、ご返信どうもありがとうございます。

    > PCとかタブレットとかの世界で言えば、QEMUシミュレータとかAndroidエミュレータとか、そういったものに相当します。「「アイス」と呼ばれる(PCと実機を中継しているようにみえる)デバイス」はE2LiteエミュレータとかE1エミュレータとかになります

    なるほど、別の概念だったんですね。

    > e2 studioでプロジェクトを作成した時のプロジェクト作成ウィザードの設定に依りますけれども、素朴にプロジェクトウィザードで設定していていけば、E2LiteエミュレータとかE1エミュレータとかになります。

    デバッガ起動はデフォルトだとアイス上でおこなわれるということですね。

    リンク先のビデオ(むしろページ全体)非常に参考になりました。
    情報量が多いため、少し自分でも整理してみます。

    また進捗ありましたらこちらで報告させていただきます。
    基本的なところの確認までお時間を割いていただきどうもありがとうございました。