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上でテストを走らせたいと考えている)

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

  • Sさん、こんにちは。NoMaYと申します。

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

    たぶん、ここから話を確認していった方が良いと思いました。まず、exe形式の実行ファイルを出力することは無理、です。たぶん、パソコン業務主体で今まで仕事をされて来たのかな、と思いましたけれども。次に確認したいことは、どのようなテストをされたいのでしょうか?RXマイコンのプログラムをPC上で走らせたい場合、シミュレータを使うのですけれども、実ハードウェア上でプログラムが動作したとしても、大半のプログラムはシミュレータ上で動作しないです。RXマイコンに諸々の周辺機能が内蔵されていますが、それらを操作するプログラムは殆ど全く動作しません。

    あるいは、どこそこのウェブページで紹介されていたようなことがしたくて、というリプライでも構わないです。

    あと、Unityということであれば、ひとまず統合開発環境e2 studioとの組み合わせになりますが、以下のドキュメントがあります。また、Google検索すると、個人ブログが幾つかありました。あと、かふぇルネに時々顔を出されるhirakuni45さんのブログもちょっとだけ掠っているようです。あと、同じくかふぇルネに時々顔を出されるルネサスさんの中の人のシェルティさん(hiroki.ishiguroさん)のGitHubリポジトリもありました。(お二人とも来週ぐらいまで待てばリプライがあるかも知れません。) 私はというと、統合開発環境/コマンドラインの違いの話は後回しにして、思ったことが出来そうなのかどうか、知りたいように思いました。

    e2 studioでのUnityの使用方法
    R20AN0313JJ0100 Rev.1.00 Page 9 2014.05.16
    www.renesas.com/jp/ja/document/apn/integrated-development-environment-e-studio-how-use-unity-e-studio-rev100

    Google検索: Renesas RX Unity
    www.google.com/search?q=Renesas+RX+Unity
     

  • 様、お返事どうもありがとうございます。お察しのとおり、これまでPCでの業務が多かったです。
    現在時間がないため、来週に正確にお返事させていただきます。

    さしあたり御礼まで。

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

    了解しました。それから、リプライした後になって、ちょっと思い浮かんだことがありました。来週にでも、と思います。

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

    ふと思い浮かんだのですけれども、上の話が、PC上で.exeプログラムのテストを自動実行させるようなツールを(過去の業務などで)使用していて、そのツールを使い続けたい、そのツールでRXマイコン向けのソフトウェアのテストの自動実行を運用したい、といった話なのであれば、そのテストツールの仕様との兼ね合いはありますけれども、やり方は思い浮かびます。

  • こんにちは、NoMaY様。


    > exe形式の実行ファイルを出力することは無理

    勉強になります。

    > 次に確認したいことは、どのようなテストをされたいのでしょうか?

    さしあたっては簡単なユニットテストのようなものから始めたいと考えております。引数と戻り値を複数のテストケースで確認するといった感じです。それがうまくいけば、組み込みに特有のレジスタ値を参照しているような関数のテストやもっと複雑なテストもやっていきたいです。
    追加で質問させていただきたいのですが、NoMaY様自身は関数のテストなどはどのようにされているのか、参考におうかがいしたいです。どのプラットフォーム上で(PC?実機?)、どのようなツールを用いて、など教えていただけるとありがたいです。

    > PC上で.exeプログラムのテストを自動実行させるようなツールを(過去の業務などで)使用していて、そのツールを使い続けたい、そのツールでRXマイコン向けのソフトウェアのテストの自動実行を運用したい、といった話なのであれば、そのテストツールの仕様との兼ね合いはありますけれども、やり方は思い浮かびます。

    社内ではPC,組み込み問わず既存テストツールは用いておりません。自分の独断で組み込み用のテストツールを新しく導入しようと模索しております。Unityに固執する必要はありません。しかしなにかしらの形でテスト自動運行はできるようにしたいです。

    いただいた情報、リンク含めて大変参考になりました。
    身近に詳しい人がいなかったため、とても助かりました。
    あらためてどうもありがとうございます。

  • 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環境でコマンドラインからプロジェクトを実行する”の方は自分とやりたいことも似ていて大変参考になりました。改めてどうもありがとうございます。

  • 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エミュレータとかになります。

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

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

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