RX Simulator環境でコマンドラインからプロジェクトを実行する

こんにちは。

ハギと申します。

RX Simulatorでコマンドラインからプロジェクトを実行することは可能なのでしょうか。

最終的にやりたいことは、「Github Actionsを使ってGithubにpushをしたら、self hosted環境でユニットテストを自動で実行する」というようなことです。

現在、GUIのe2studioのRX Simulator環境でユニットテストを行い、Renesas Debug Virtual Consoleに結果を表示するということはできています。

また、コマンドラインでビルドは以下のページによると可能とのこと。

https://ja-support.renesas.com/knowledgeBase/17797621

よって、後はコマンドラインからテストの実行さえできればやりたいことができそうな気がしていますが、このようなことは可能なのでしょうか。

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

    実は、Renesas RX Simulatorというシミュレータは、それ単体で実行可能なEXEファイルとして存在していなくて、それ自体とは別に入れ物となるEXEファイルが必要となるDLLファイルとして存在するのです。その入れ物となるEXEファイルが、GUI版やコンソール版のCS+のEXEファイルだったり、e2-server-gdb.exeだったり、という仕組みです。

    ですので、e2 studioの場合、ハギさんがイメージされたものはe2-server-gdb.exeが一番近いのですが、これを操作するコマンドは、GDBリモートシリアルプロトコルと呼ばれるインターフェイスで、人が直接扱えるようなシロモノでは無かったりします。このプロトコルは、GDBという上位階層のソフトウェア(人が操作する)とGDBSERVERという下位階層として使われるソフトウェアとのインターフェイスの為のプロトコルとしてデザインされていて、そういう事情でGDBからでないとe2-server-gdb.exeは人には扱えないです。

    それで、rx-elf-run.exeというのはRenesas RX Simulatorとは別物のシミュレータです。命令シミュレータですが、そういえば今回の用途では、こちらを使うことも出来る筈ではありますけど、私は使うノウハウを持っていなくて自分にとって良く分からないシミュレータ、というのが正直なところです、、、

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

    あと、rx-elf-run.exeのシミュレータについて付け加えておくと、実は、同じシミュレータがrx-elf-gdb.exeにも組み込まれているのです。以下の画面コピーのように target sim コマンドで、そのシミュレータでもデバッグが出来ることになっています。(ただ、シミュレータの機能はRenesas RX Simulatorよりも貧弱です。どのぐらいのことまでなら出来るのかということについては私はちょっと把握してないです。)


     

  • NoMaYさん

    ハギです。

    ご説明ありがとうございます。

    RX Simulatorとrx-elf-run.exeは別物でRX Simulatorは直接使えないんですね。

    NoMaYさんに調査していただいたgdbを使う方法で試してみます。