”かふぇルネ“はルネサス製品に関してユーザ同士が自由に会話をするツールであり、回答者はルネサス社内外の方たちとなります。ルネサス製品やソリューションに関して正式な回答をご希望の場合は、ルネサス技術サポート問合せをご使用ください。

RL78/G1CのUSBポート使用について

現在 RL78/G1C(R5F10KGC)のUSBポートのファンクション機能を使用して、PC(ホスト)と通信をしたいと考えています。

具体的にはTera term等を利用してPC側からコマンドを送信して、コマンド受信したらRL78を搭載したマイコン基板側で所定の動作を実行したいと考えています。

初心者なもので何か良いサンプルコード的なものがありましたらご紹介頂けないでしょうか。よろしくお願いいたします。

  • RL78/G1C のサンプルコードは参照されましたか?

  • ご回答ありがとうございます。参照させていただいてます。少し難易度が高めだったので書かせていただきました。まずはpc側にマイコンを認識させるところから始めたいと思ってます。
    SYSCFGレジスタを0x419に設定してみたのですが、現時点で認識出来ておりません。何か他に設定が必要なレジスタはありますでしょうか。お手数おかけしますがよろしくお願いします。
  • サンプルコードを動作させるだけで PC と接続できますが、なんでその通りにされないんですか?
  • hiroさん、こんにちは。NoMaYと申します。

    藤田さんの仰ることも、もっともだと思ってはいますが、現実には、以下の2点で困惑するのですよね。

    (1) サンプルプログラムがCS+でビルド出来ない
    (2) サンプルプログラムでRTOSだと思われるタスクという概念が使われていて理解が難しそう

    以下、画面コピーです。

    ドキュメントには以下のようにすれば良いと書いてあるが、、、


    そのようにしてもCS+でビルド出来ない


    フォルダやファイルは以下の通り


    ドキュメントにて「予めご理解ください」と言われても、、、


    正直なところスケジューラだのタスクだのメールボックスだの何のことか分からなくて立ち往生するのです


    [リンク]

    RL78/G1Cサンプルコード
    www.renesas.com/.../rl78g1c.html#sampleCodes

    USB Peripheral Communications Device Class Driver (PCDC) using Basic Mini Firmwareアプリケーションノート
    www.renesas.com/.../r01an0555jj0215_usb.pdf

    Renesas USB MCU USB Peripheral Communications Device Class Driver (PCDC) using Basic Mini Firmwareダウンロード
    www.renesas.com/.../D3017763.html

    ルネサス設計支援情報検索: RL78/G1C
    www.renesas.com/.../keyword-search.html#genre=designsupport&q=RL78/G1C

    Rulz検索: RL78/G1C
    japan.renesasrulz.com/search?group=31&q=RL78/G1C

    ルネサスFAQ検索: RL78/G1C
    support.renesas.com/.../search?utf8=%E2%9C%93&commit=%E6%A4%9C%E7%B4%A2&query=RL78/G1C

  • NoMaY さん

    > (1) サンプルプログラムがCS+でビルド出来ない
    この件についてですが、

    CS+に取り込む時に「~ファイルをまとめてバックアップする」のチェックが
    入っているとうまく行かない事があります。このチェックを外してみてはいかがでしょう?

    (下記のFAQ参照)e² studioでは正常にビルドできるプロジェクトをCS+にインポートした所、 CS+ではビルドに失敗してしまいました。どうすれば良いでしょうか?
    support.renesas.com/.../221609887-FAQ-1011811

  • fujita nozomu さん、NoMaYさん

    ご回答ありがとうございます。

    サンプルプログラムはダウンロードしたのですが、
    私の理解レベルが低い状態でして、使用している環境下でどのファイルをどのように使用して良いかまったく分からない状況だったのであのようなコメントになってしまいました。
    申し訳ありません。
  • ほやさん、こんにちは。NoMaYです。大変ありがとうございました。

    教えて頂いたやり方で、CS+に取り込む時に「~ファイルをまとめてバックアップする」のチェックを外してみたところ、すんなりとビルド出来るようになりました!

    [画面コピー]



    また、教えて頂いた下記FAQの内容を自分なりに確認してみました。

    e² studioでは正常にビルドできるプロジェクトをCS+にインポートした所、 CS+ではビルドに失敗してしまいました。どうすれば良いでしょうか?
    support.renesas.com/hc/.../221609887-FAQ-1011811

    上記のチェックが付いている場合、プロジェクトフォルダより更に1階層深いディレクトリ内にファイルを展開するため、実際のソースコードの階層がプロジェクトの設定内容と一致しなくなった結果ビルドが成功しない場合があります。


    ビルド出来た時(チェックを外した場合)のCS+のインクルードパス設定とプロジェクトファイルの場所

    e2 studioのrcpcプロジェクトファイルから引き継いだインクルードパス


    CS+のmtpjプロジェクトファイルの場所


    ビルド出来なかった時(チェックを外さなかった場合)のCS+のインクルードパス設定とプロジェクトファイルの場所

    e2 studioのrcpcプロジェクトファイルから引き継いだインクルードパス → 変わらず


    CS+のmtpjプロジェクトファイルの場所 → フォルダ1つ深い階層に生成されている → ビルド出来る筈が無い!!!!!!!!!


    ビルド出来る為にはCS+のインクルードパスが以下のように自動変換されなければならない筈だと思いました。

    誤)

    %ProjectFolder%/src
    %ProjectFolder%/src/HwResource/inc
    %ProjectFolder%/src/PCDC/inc
    %ProjectFolder%/src/SmplMain/APL
    %ProjectFolder%/src/USBSTDFW/inc

    正)

    %ProjectFolder%/../src
    %ProjectFolder%/../src/HwResource/inc
    %ProjectFolder%/../src/PCDC/inc
    %ProjectFolder%/../src/SmplMain/APL
    %ProjectFolder%/../src/USBSTDFW/inc

    [追記]

    そもそも、CS+のmtpjプロジェクトファイルをフォルダ1つ深い階層に生成する必然性はあったのだろうか???

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

    たぶん、以下のMOTファイルをRL78/G1C(R5F10KGC)に焼けば、エコーバックサンプルプログラムが動く筈です。(当方特有の事情によりCC-RL V1.02を使用しています。) なお、Windowsデバイスドライバ(infファイル)のインストールに関しては、別スレッドですが、こちらこちらが参考になるかと思います。(infファイルは an_r01an0555jj0215_usb\reference\cdc_inf\CDC_Demo.inf です。)

    Pcdc_RL78G1C.mot

    それで、これが動いた場合、この後どうしましょうか?  納期までに必要充分な品質のプログラムを作らないといけないと思いますが、2つ前の投稿に書きました (2) サンプルプログラムでRTOSだと思われるタスクという概念が使われていて理解が難しそう、の件は残っているように思います。(ただ、あくまで、私の印象ではありますが。)

    正直に言うと、昔のRXマイコンのUSBドライバ(FITになる前のUSBドライバ)が同じような作りになっていまして、その頃に、わけが分からずに放置してしまったことがあります。今回、良い機会だと思い、当時のRXマイコンのUSBドライバのソースをもう一度見てみようとは思っているところなのですが、逆に言うと、この後は余りお役に立てないかも知れないです。(あと、今更ですが、実は、私はRL78/G1Cの基板を1つも持っていません。)

    このサンプルプログラムで進むのがいいのか、hiroさんのもともとの投稿のレジスタ直接操作で進むのがいいのか、、、

  • NoMaYさん
    どうにかなったようで、何よりです。

    > そもそも、CS+のmtpjプロジェクトファイルをフォルダ1つ深い階層に生成する必然性はあったのだろうか???
    はい。そこが核心だと思います。

    もしアーカイブする都合でフォルダにまとめたのだとしても、それをそのままプロジェクトに使う必要はないのだし。
  • hiroさん、こんにちは。NoMaYです。

    すみません。自分が昔のRXマイコンのUSBドライバで一度挫けてしまったことがあったので、変なことを言ってしまったように思います。(そもそも、挫けてしまったのは自分の能力不足ですね。) また、スレッドの出だしで少し回り道することになったようなところもあって、何か考え過ぎてしまったような気もします。ひとまずRL78/G1Cのサンプルプログラムには辿り付けて、どのファイルをどのように使用して良いかまったく分からない状況は脱することが出来ると思いますので、素朴に考えれば、このサンプルプログラムでやってみるのが良いですよね。(他の(ルネサスさん以外の)サンプルプログラムより使っている方々は多い筈ですし。(というか他にはサンプルプログラムは無いかも知れないですし。)) 失礼しました。

  • わわいです
    まずはそのCPUを使った評価ボードで、USBが動作する状態のものを探してみればどうでしょうか。そういうのならソースもついてくるでしょうし、実際に動いている状態で、お望みの修正を加えていけば、理解も早いのではないかと思います。
  • 皆様

    詳細なアドバイスありがとうございます。
    とりあえずサンプルプログラムをダウンロードしてPC側で接続を認識するところまではできました。
    わわいさんのおっしゃるとおり修正を加えながら理解を深めていこうかと思います。