e2 studio v5.4.0のFIT ConfiguratorでFIT RSPIドライバをRX631のプロジェクトに組み込めないのは何か変だと思うのですが、、、

先週、ルネサスのRSPIに関してCS+コード生成プラグイン(RX113)とPDG2(RX631)を触ってみたのですが、この際、FITも触っておこうとe2 studio (v5.4.0.015)を立ち上げてみました。ところが、以下の画面コピーの様に、RX63N (RDKRX63N, RSKRX63N)ではFIT RSPIドライバーの名前が使用可能モジュール一覧に表示されてプロジェクトに組み込めるのですが、RX631 (RDKRX631, RSKRX631)では表示されずに組み込めないようになっていました。

調べてみると、FIT RSPIドライバーに含まれる情報ファイル(xmlファイル)に以下の様に、RX63Nのボードはあれど、RX631のボードは無い、ことによると分かりました。とは言え、良く良く考えてみると、そもそもRX63NとRX631のどちらにも内蔵周辺機能としてRSPIは含まれている訳ですので、これって何か変だと思うのですが、、、

[情報ファイル]

ファイル名: r_rspi_rx_v1.60.xml
内容(抜粋):
  <target>
    <family>RX</family>
    <series>RX700</series>
    <series>RX600</series>
    <series>RX200</series>
    <series>RX100</series>
    <group>RX110</group>
    <group>RX111</group>
    <group>RX113</group>
    <group>RX130</group>
    <group>RX210</group>
    <group>RX231</group>
    <group>RX230</group>
    <group>RX23T</group>
    <group>RX24T</group>
    <group>RX24U</group>
    <group>RX62N</group>
    <group>RX62T</group>
    <group>RX63N</group>
    <group>RX631</group>
    <group>RX64M</group>
    <group>RX65N</group>
    <group>RX71M</group>
    <board>RSKRX110</board>
    <board>RSKRX111</board>
    <board>RSKRX113</board>
    <board>RSKRX130</board>
    <board>RSKRX210</board>
    <board>RSKRX231</board>
    <board>RSKRX230</board>
    <board>RSKRX23T</board>
    <board>RSKRX24T</board>
    <board>RSKRX24U</board>
    <board>RDKRX62N</board>
    <board>RSKRX63N</board>
    <board>RDKRX63N</board>
    <board>RSKRX64M</board>
    <board>RSKRX65N</board>
    <board>RSKRX71M</board>
  </target>

[画面コピー]

RX63N (RDKRX63N, RSKRX63N)ではFIT RSPIドライバーの名前が使用可能モジュール一覧に表示される



RX631 (RDKRX631, RSKRX631)ではFIT RSPIドライバーの名前が使用可能モジュール一覧に表示されない



ちなみに、e2 studioを英語モードで起動しても同じ状況でした。なお、情報ファイル(xmlファイル)をエディタで直接編集してRDKRX631とRSKRX631を追加すると、それぞれのボードを選択した時にFIT RSPIドライバーの名前が使用可能モジュール一覧に表示されるようになることは確認しました。ただ、私が試そうとしているのは、がじぇるねのGR-CITRUSであり、RDKやRSKでは無いカスタムボードということになる筈ですが、そのようなボードを扱うことが出来なくなっているのでは?、という疑問も別途あります、、、(FIT BSPモジュールのドキュメントを読むと、以前はボードの選択肢に Any という選択肢が表示されたようなのですが、今は以下のように Any という選択肢は表示されません、、、)

[画面コピー]

ボードの選択肢に Any という選択肢は表示されない (ちなみに、以下の画面は情報ファイルを編集した後のものです)


  • NoMaYさん

    こんにちは、シェルティです。

    本件、FIT関連のドライバ開発者に連絡してみました。
    RX631のRSKは存在しないので書いてないとのことでした。
    Anyに相当する(何のボードでもFITモジュール取り込みが可能となる)オプションが
    今後復活予定、とのことでした。ご報告いただき感謝いたします、とのことです。

    現状、プルダウンで選択できるボード(主にRSKボード)以外は、
    FITコンフィグレータでうまくプラグインできないですね。
    この場合は、手作業でIDEにFITモジュールのソースコード登録するか
    XMLを改造するか、が対策になりそうです。

    以上です
  • シェルティさん、こんにちは。取り次ぎ&リプライ、どうもありがとうございました。

    そういうことだったのですね。そもそもRSKRX631やRDKRX631というボードは存在しなかったのですね。この際ですので確認してみましたが、これら以外にも、RX100シリーズとしてはRSKRX110という存在しないボードが表示されますし、RX200シリーズとしてはRSKRX230という存在しないボードが表示されます。(これはFITモジュールのxmlファイルに記述があるからなのですが、、、)

    前回の投稿でFIT Configuratorを触っていて感じたのですが、RXファミリの1つのグループに対して少なくとも1つは何らかのボードが表示されて欲しい、というユーザインターフェイスというか操作感というか、つい頭がそういう挙動を期待してしまうような振る舞いがあります。その観点で考えてみると、今回のRX631も含め、あくまで例えばの話ですが、以下のボードが表示されるようになっていると良かったのかなぁ?と思いました。

    RX110 → HSBRX110-48 (北斗電子)
    RX230 → HSBRX230F100 (北斗電子)
    RX621 → HSBRX621-A (北斗電子)
    RX631 → HSBRX631C (北斗電子)
    RX634 … 残念ながら何一つボードが無い?
    RX651 … 残念ながら何一つボードが無い?

    あと、思うに、FIT Configuratorやxmlファイルの設計に以下のように根本的な勘違いがあるのではないかなぁ、という気がしました。

    (1) FITは内蔵周辺機能に対するドライバなのだから、使用可能モジュール一覧に表示するモジュールを取捨選択する基準は、ボード名称(例えばRSKRX63Nとか)ではなく、マイコンのグループ名(例えばRX63Nとか)でなければならない、のではないでしょうか、、、

    (2) 同じ理由(FITは内蔵周辺機能に対するドライバである)から、本来、ボード名称はFIT BSPモジュールの情報ファイル(xmlファイル)にのみ記述されるべきで、個々の周辺機能モジュールにボード名称が記述されているのは何かおかしい、ような気がします、、、

    (参) もし、このような点が見直されて行ったとすると、将来、ユーザ作成のカスタムBSPモジュール(xmlファイルとzipファイルのペア、例えば、r_bsp_gr_citrus_v0.01.xmlとr_bsp_gr_citrus_v0.01.zipのペアとか)をFIT Configurator上で自由に追加出来るようにする、といった機能拡張へ進めるかも知れません、、、

    以下、情報ファイルの抜粋や画面コピーなどです。

    [情報ファイル]

    赤色の文字で示したボードは世の中に存在しない。

    ファイル名: r_bsp_v3.50.xml
    内容(抜粋):
            <board>HSBRX21AP</board>
            <board>RDKRX62N</board>
            <board>RDKRX631</board>
            <board>RDKRX63N</board>
            <board>RPBRX111</board>
            <board>RSKRX110</board>
            <board>RSKRX111</board>
            <board>RSKRX113</board>
            <board>RSKRX130</board>
            <board>RSKRX210</board>
            <board>RSKRX220</board>
            <board>RSKRX230</board>
            <board>RSKRX231</board>
            <board>RSKRX23T</board>
            <board>RSKRX24T</board>
            <board>RSKRX24U</board>
            <board>RSKRX610</board>
            <board>RSKRX62G</board>
            <board>RSKRX62N</board>
            <board>RSKRX62T</board>
            <board>RSKRX630</board>
            <board>RSKRX631</board>
            <board>RSKRX63N</board>
            <board>RSKRX63T_144PIN</board>
            <board>RSKRX63T_64PIN</board>
            <board>RSKRX64M</board>
            <board>RSKRX65N</board>
            <board device_compatibility="RX651,RX65N">RSKRX65N</board>
            <board>RSKRX71M</board>
            <board>RSSKRX23T</board>

    [画面コピー]

    RSKRX110は世の中に存在しない


    RSKRX230は世の中に存在しない


    RDKRX631とRSKRX631は世の中に存在しない


    [リンク]

    ルネサスアメリカ
    www.renesas.com/en-us/.../boards-and-kits.html

    ルネサス日本
    www.renesas.com/ja-jp/.../boards-and-kits.html

    北斗電子
    www.hokutodenshi.co.jp/.../CPU-RX_100.htm
    www.hokutodenshi.co.jp/.../CPU-RX_200.htm
    www.hokutodenshi.co.jp/.../CPU-RX_600.htm

    [余談]

    以下のような作業を自動化する冗談半分(半分は冗談ですが半分は本気)のバッチファイルスクリプトファイルを作り始めました。(2017/06/05変更)

    ・ Etherモジュール以外で<group>RX63N</group>は有れど<group>RX631</group>が無ければ追加する
    ・ 一旦<group>RX631</group>を削除して<group>RX63N</group>の前の行に<group>RX631</group>を追加する
      但し、Ether/BSP(標準/カスタム)モジュールでは、そのままにしておく
       これって、ひょっとして不具合なのかも? 疑わしきモジュール ⇒ gpio? irq? mpc? rspi_smstr? sci_iic?

    ・ BSPモジュール以外で<group>RX631</group>が記述されているファイルに<board>GR_CITRUS_RX631</board>を追加する
    ・ <board>RSKRX63N</board>の次の行に<board>GR_CITRUS_RX631</board>を追加する
      但し、Ether/BSP(標準/カスタム)モジュールでは、そのままにしておく
       これはFIT Configuratorやxmlファイルの設計が正しければ不要だった筈だと思う、、、
       ちなみに _RX631 付きな理由はFIT Configuratorがボード名称の文字列でRX600系/RX200系/RX100系などと判定する為

    ・別途作成したr_bsp_gr_citrus_v0.01.xmlとr_bsp_gr_citrus_v0.01.zipを以下へコピーする
       <e2 studioインストールフォルダ>\FITModules\

    うまく行くかなぁ、、、

    [画面コピー]

    ひとまず手作業で上記ファイルを修正/作成して試してみた([コードの生成]ボタンで組み込んでみた)
    (変な赤色のマークが付くのは標準では無い(GR-CITRUS用に今回作った)BSPモジュールを使っていることによるらしい)





    [追記]

    FIT USBモジュールをボタン1つでGR-CITRUSに組み込めるようになるかも知れないとは思うものの、FIT USBモジュールには以前に投稿した問題がありますので、思惑通りには行きそうに無いですが、、、

    FIT USBモジュールをRX631用にコンパイルするとコンパイルエラーになる
    japan.renesasrulz.com/.../fit-usb-rx631

    ちなみに、使用したモジュールがバージョンアップされたようでして、以下のURLとファイル名に変わっていました。(まだ私はダウンロードしていませんので内容が変わっているかも知れません。)

    USB Peripheral Communications Devices Class Driver (PCDC) Using Firmware Integration Technology Modules
    www.renesas.com/.../D6000997.html
    an_r01an2238jj0121_usb.zip

  • NoMaYさん

    シェルティです、こんにちは。

    詳細な解説ありがとうございます。とても参考になります。
    FITコンフィグレータでボードが有ったり無かったりするのは、
    作りこみをした時期にも依存しそうですね。
    これもFIT関連のドライバ開発者に連絡してみます。

    「FIT Configuratorやxmlファイルの設計に以下のように根本的な勘違い」というのは
    私も(1)(2)(参)について完全に同意です。
    ボードに関するコンフィグを上手にジェネリックにすることと、
    ルネサスリファレンスのRSKボードであればボードに適合したBSPが標準で存在することと、
    ユーザボードやパートナー製ボードであればボードに適合したBSPが簡単にカスタムできること、
    この辺りが整備できてこれば、良い感じですね。

    あとですが、RXマイコンではコード生成とFITが融合して「スマートコンフィグレータ」で
    デバイスドライバ設定、端子設定、クロック設定、ミドルウェア設定が統合されてくると聞いています。現状のボード関連の不整合修正と共にきれいに仕上がってくるのを期待したいところです。


    以上です
  • NoMaYさん
    XMLファイルの中にこのような定義があったのですね。
    この調査内容は独自のボードへ展開するときに参考になります。
    ボードでフィルタがかけられるのは確かに変わった仕様ですね^^;
  • こんにちは。NoMaYです。

    まずシェルティさんにお礼をさせて下さい。このスレッドが「かふぇルネ」5周年記念!プリーズポストキャンペーンの優秀Post賞の1つに選ばれたのですが、これもシェルティさんのリプライあってのことだと思っています。さらに、別スレッドのGR-CITRUS(RX631)でのFIT USBモジュールに関してのシェルティさんのリプライも、選考された方々のこちらのスレッドへのプラス評価に大きく寄与したに違いないと思っています。どうもありがとうございました。

    それで、今回、(e2 studioのFIT Configuratorで正式にサポートされている訳では無いのですが、且つ、標準のBSPの構成も逸脱して) カスタムBSPを作る真似事を実際にGR-CITRUSでやってみました。ただ、標準FITモジュールのXMLファイルをスクリプトで書き換える(後述)などしていますので、試す場合には、事前に <e2 studioのインストールフォルダ>\FITModules\ をバックアップしておいて下さい。(なお、バックアップしなくても、FITModulesフォルダ以下を削除してFITモジュールを再度ダウンロードしても復元出来る筈です。)

    FITModulesフォルダに解凍するファイル: add_my_gr_citrus_rx631.zip
    内容:
    add_my_gr_citrus_rx631.js
    r_bsp_gr_citrus_v0.01.xml
    r_bsp_gr_citrus_v0.01.zip (解凍せずにzipのまま使います)

    ビルド用プロジェクトファイル: RX631_RSPI_FIT_BSP_trial_20170604.zip
    内容(概略):
    e2 studio (V5.4.0)のプロジェクトファイル一式(当方特有の事情でCC-RX V2.03を使用)
    ただし、FIT Configuratorの[コードの生成]で追加されるソースは除外しています。
    それらはRenesasの許諾を得ずに配布することは出来ないものだと考えているからです。
    そう考えていながら、実は、r_bsp_gr_citrus_v0.01.zipには標準のBSPモジュールから
    コピペしたファイル(及び修正したファイル)が含まれていたり、冒頭の件のGR-CITRUS
    (RX631)でのFIT USBモジュールのスレッドでダウンロードしたサンプルプログラムから
    コピペしたメインルーチン周りのファイル(及び修正したファイル)が含まれていたりして、
    お叱りを受ける可能性もあるのですが。

    手順は以下の通りです。

    (1) ファイルをFITModulesフォルダに解凍する
    (2) 標準FITモジュールのXMLファイルをスクリプトで書き換える(後述)
    (3) e2 studioを起動する
    (4) ビルド用プロジェクトをインポートする
    (5) FIT Configuratorの[コードの生成]ボタンでソースを追加する
    (6) ビルドする

    今回、標準のBSPの構成を逸脱して、GR-CITRUS用にコンフィグレーション済みのUSB関連ヘッダファイルやUSB関連の端子を設定する関数を記述したCファイルをGR-CITRUSのカスタムBSP(もどき)に含めるようにしてみました。残念ながら、FITモジュールをインストールする順番次第では、コンフィグレーション済みのUSB関連ヘッダファイルがFIT USBモジュールのデフォルトのヘッダファイルで上書きされてしまうのですが、運良く、以下の画面コピーのようにするとGR-CITRUSのカスタムBSP(もどき)が最後にインストールされるようになりましたので、それで対処(回避)する事にしました。

    FITモジュールの順番に関してGR-CITRUSのカスタムBSP(もどき)を一番下にする


    FIT Configuratorの[コードの生成]ボタンでソースを追加した後でビルドしたところ


    コンフィグレーション済みのUSB関連ヘッダファイルをGR-CITRUSのカスタムBSP(もどき)に含めた


    USB関連の端子を設定する関数を記述したCファイルをGR-CITRUSのカスタムBSP(もどき)に含めた


    直感でr_bsp直下にもr_bsp_config_readme.txtを置きr_bsp_config_reference.hも直下へ移した


    r_usb_pcdc_echo_apl.cでUSB関連の端子を設定する関数を削除しヘッダファイルをインクルード


    CC-RX V2.03のビルドエラー(依存関係をスキャンして.dファイルを生成するオプション時)に対処


    [コードの生成]でソース追加する前(RX631_RSPI_FIT_BSP_trial_20170604.zipのインポート直後)


    もしr_bspフォルダやr_configフォルダやr_pincfgフォルダが[ビルドから除外]されていたら解除


    なお、FITモジュールの順番に関してGR-CITRUSのカスタムBSP(もどき)を最後にすれば問題無いのですが、以下の2番目の画面コピーのような順番にしてしまうと、コンフィグレーション済みのUSB関連ヘッダファイルがFIT USBモジュールのデフォルトのヘッダファイルで上書きされてしまいました。

    GR-CITRUSのカスタムBSP(もどき)が一番下ならコンフィグレーション済みヘッダファイルになる


    GR-CITRUSのカスタムBSP(もどき)の順番を変えて上に持ってくると、、、


    コンフィグレーション済みヘッダファイルがデフォルトのヘッダファイルで上書きされてしまう


    今まで後回しにして来た、標準FITモジュールのXMLファイルを書き換える自作スクリプト(add_my_gr_citrus_rx631.js)ですが、Windowsのコマンドプロンプトを開き、<e2 studioのインストールフォルダ>\FITModules\ に移動し、以下のようにWindowsの標準コマンドであるcscriptコマンドを実行します。(事前に <e2 studioのインストールフォルダ>\FITModules\ をバックアップしておいて下さい。なお、バックアップしなくても、FITModulesフォルダ以下を削除してFITモジュールを再度ダウンロードしても復元出来る筈です。)

    実行するコマンド:
    cscript -nologo add_my_gr_citrus_rx631.js

    実行結果:

    2451.e2_FIT_Configurator_61.txt
    Microsoft Windows [Version 6.1.7601]
    Copyright (c) 2009 Microsoft Corporation.  All rights reserved.
    
    >cd /d C:\Renesas\e2_studio_5\FITModules
    
    >cscript -nologo add_my_gr_citrus_rx631.js
    Processing r_byteq_v1.60.xml
    Processing r_can_rx_v2.10.xml
    Processing r_cmtw_rx_v1.20.xml
    Processing r_cmt_rx_v3.10.xml
    Processing r_dac_rx_v3.00.xml
    Processing r_dmaca_rx_v1.04.xml
    Processing r_dtc_rx_v2.07.xml
    Processing r_eeprom_riic_rx_v1.40.xml
    Processing r_eeprom_sci_iic_rx_v1.30.xml
    Processing r_eeprom_spi_v2.33.xml
    Processing r_elc_rx_v1.10.xml
    Processing r_flash_rx_v2.10.xml
    Processing r_flash_spi_v2.33.xml
    Processing r_gpio_rx_v2.20.xml
    Processing r_irda_sci_rx_v1.01.xml
    Processing r_irq_rx_v2.10.xml
    Processing r_iwdt_rx_v1.70.xml
    Processing r_jpegd_rx_v2.06.xml
    Processing r_jpege_rx_v1.01.xml
    Processing r_lcdc_rx_v1.00.xml
    Processing r_longq_v1.60.xml
    Processing r_lpc_rx_v1.40.xml
    Processing r_lpt_rx_v1.11.xml
    Processing r_lvd_rx_v2.20.xml
    Processing r_mpc_rx_v2.20.xml
    Processing r_pdc_rx_v2.00.xml
    Processing r_ptp_light_rx_v1.11.xml
    Processing r_ptp_rx_v1.12.xml
    Processing r_qspi_smstr_rx_v1.09.xml
    Processing r_riic_rx_v2.00.xml
    Processing r_rscan_rx_v1.10.xml
    Processing r_rspi_rx_v1.60.xml
    Processing r_rspi_smstr_rx_v1.13.xml
    Processing r_rtc_rx_v2.50.xml
    Processing r_s12ad_rx_v2.20.xml
    Processing r_s2_rx_v3.04.xml
    Processing r_scifa_smstr_rx_v1.09.xml
    Processing r_sci_iic_rx_v2.00.xml
    Processing r_sci_rx_v1.90.xml
    Processing r_src_api_rx_v1.11.xml
    Processing r_ssi_api_rx_v1.20.xml
    Processing r_sys_time_rx_v1.00.xml
    Processing r_t4_driver_rx_v1.06.xml
    Processing r_t4_rx_v2.06.xml
    Processing r_tfat_driver_rx_v1.03.xml
    Processing r_tfat_rx_v3.03.xml
    Processing r_uid_rx_v1.00.xml
    Processing r_usb_basic_mini_v1.02.xml
    Processing r_usb_basic_v1.20.xml
    Processing r_usb_hcdc_mini_v1.02.xml
    Processing r_usb_hcdc_v1.20.xml
    Processing r_usb_hhid_mini_v1.02.xml
    Processing r_usb_hhid_v1.20.xml
    Processing r_usb_hmsc_mini_v1.02.xml
    Processing r_usb_hmsc_v1.20.xml
    Processing r_usb_pcdc_mini_v1.02.xml
    Processing r_usb_pcdc_v1.20.xml
    Processing r_usb_phid_mini_v1.02.xml
    Processing r_usb_phid_v1.20.xml
    Processing r_usb_pmsc_mini_v1.02.xml
    Processing r_usb_pmsc_v1.20.xml
    Processing r_vbatt_rx_v1.01.xml
    Processing r_wdt_rx_v1.00.xml
    


    自作スクリプトの内容:
    add_my_gr_citrus_rx631.js
    4527.add_my_gr_citrus_rx631.js.utf-8.txt
    // This code is in the public domain. You may use, modify or distribute it freely.
    // e2 studioのFITModulesフォルダのxmlファイルを加工してカスタムボードを追加するスクリプト
    // 各種ドキュメントサイト:
    // Windowsスクリプトテクノロジ https://msdn.microsoft.com/ja-jp/library/cc392483.aspx
    // JScriptオブジェクト https://msdn.microsoft.com/ja-jp/library/cc392032.aspx
    // JScriptメソッド https://msdn.microsoft.com/ja-jp/library/cc392030.aspx
    // searchメソッド https://msdn.microsoft.com/ja-jp/library/cc410015.aspx
    // replaceメソッド https://msdn.microsoft.com/ja-jp/library/cc409988.aspx
    // RegExpオブジェクト https://msdn.microsoft.com/ja-jp/library/cc427721.aspx
    // 正規表現の構文 https://msdn.microsoft.com/ja-jp/library/cc392020.aspx
    // FileSystemObjectオブジェクト https://msdn.microsoft.com/ja-jp/library/cc428071.aspx
    // Filesコレクション https://msdn.microsoft.com/ja-jp/library/cc427964.aspx
    // Fileオブジェクト https://msdn.microsoft.com/ja-jp/library/cc428069.aspx
    // ADO APIリファレンス https://msdn.microsoft.com/ja-jp/library/cc408215.aspx
    // ADO Stream https://msdn.microsoft.com/ja-jp/library/cc364272.aspx
    // ADO 列挙定数 → Windowsフォルダで adojavas.inc または adobvs.inc を検索する
    
    var adTypeText = 2; // ADO StreamTypeEnum 列挙定数
    var adSaveCreateOverWrite = 2; // ADO SaveOptionsEnum 列挙定数
    var adWriteLine = 1; // ADO StreamWriteEnum 列挙定数
    var adReadLine = -2; // ADO StreamReadEnum 列挙定数
    
    var search_not_found = -1;
    
    var fso = new ActiveXObject("Scripting.FileSystemObject");
    var srcstrm = new ActiveXObject("ADODB.Stream");
    var dststrm = new ActiveXObject("ADODB.Stream");
    
    var charset = "utf-8";
    
    var files;
    var file;
    var module;
    var line;
    
    for (files = new Enumerator(fso.GetFolder(".").files); !files.atEnd(); files.moveNext())
    {
        // XMLファイル以外に対しては何もしない
        file = files.item().Name;
        if (file.search(/^([^\\]+)_v[^.]+\.[^.]+\.xml$/) == search_not_found)
        {
            continue;
        }
    
        // ETHERモジュール, BSPモジュール, BSP_GR_CITRUSモジュールに対しては何もしない
        module = RegExp.$1;
        if (module == "r_ether_rx" || module == "r_bsp" || module == "r_bsp_gr_citrus")
        {
            continue;
        }
    
        WScript.Echo( "Processing " + file );
    
        srcstrm.Type = adTypeText;
        srcstrm.Charset = charset;
        srcstrm.Open();
    
        srcstrm.LoadFromFile(file);
    
        dststrm.Type = adTypeText;
        dststrm.Charset = charset;
        dststrm.Open();
    
        while(!srcstrm.EOS)
        {
            line = srcstrm.ReadText(adReadLine);
    
            if (line.search(/(.*<group>)RX631(<\/group>.*)/) != -1)
            {
                // 一旦<group>RX631</group>を削除する
                continue;
            }
            else if (line.search(/(.*<group>)RX63N(<\/group>.*)/) != -1)
            {
                // <group>RX63N</group>の前の行に<group>RX631</group>を追加する
                dststrm.WriteText(RegExp.$1 + "RX631" + RegExp.$2, adWriteLine);
                dststrm.WriteText(RegExp.$1 + "RX63N" + RegExp.$2, adWriteLine);
                continue;
            }
            else if (line.search(/(.*<board>)RSKRX63N(<\/board>.*)/) != -1)
            {
                // <board>RSKRX63N</board>の次の行に<board>GR_CITRUS_RX631</board>を追加する
                dststrm.WriteText(RegExp.$1 + "RSKRX63N" + RegExp.$2, adWriteLine);
                dststrm.WriteText(RegExp.$1 + "GR_CITRUS_RX631" + RegExp.$2, adWriteLine);
                continue;
            }
    
            dststrm.WriteText(line, adWriteLine);
        }
    
        srcstrm.Close();
    
        dststrm.SaveToFile(file, adSaveCreateOverWrite);
    
        dststrm.Close();
    }
    


    [追記]

    先程書いたCC-RX V2.03のビルドエラー(依存関係をスキャンして.dファイルを生成するオプション時)のことですが、冒頭の件のGR-CITRUS(RX631)でのFIT USBモジュールのスレッドでダウンロードしたサンプルプログラムからコピペしたr_usb_pcdc_apl.hで発生します。同じバージョンのCC-RXでCS+でビルドした時には問題無かったのですが、e2 studioでビルドすると以下のようにエラーになります。 [訂正:正確な事は次の投稿に書きました。] ソースをよくよく見ると、#if OPERATION_MODE == USB_UART の行では、まだ USB_UART が定義されていないので、それが関係しているのかも、とは思いますが、、、

    'Scanning and building file: ../src/r_usb_pcdc_echo_apl.c'
    'Invoking: Scanner and Compiler'
    ccrx  -MM -MP -output=dep="src/r_usb_pcdc_echo_apl.d" -MT="src/r_usb_pcdc_echo_apl.obj" -MT="src/r_usb_pcdc_echo_apl.d" -lang=c99   -include="E:\tools\micom\Renesas\CS_~1\CC\CC-RX\V203~1.00/include","C:\Renesas\cspproj\RX631_RSPI_FIT\r_bsp","C:\Renesas\cspproj\RX631_RSPI_FIT\r_pincfg","C:\Renesas\cspproj\RX631_RSPI_FIT\r_rspi_rx","C:\Renesas\cspproj\RX631_RSPI_FIT\r_rspi_rx\src","C:\Renesas\cspproj\RX631_RSPI_FIT\r_usb_basic","C:\Renesas\cspproj\RX631_RSPI_FIT\r_usb_basic\src\driver\inc","C:\Renesas\cspproj\RX631_RSPI_FIT\r_usb_basic\src\hw\inc","C:\Renesas\cspproj\RX631_RSPI_FIT\r_usb_pcdc","C:\Renesas\cspproj\RX631_RSPI_FIT\r_usb_pcdc\src\inc","C:\Renesas\cspproj\RX631_RSPI_FIT\r_config"  -debug -nomessage -isa=rxv1 -fpu -nologo  -define=__RX=1   "../src/r_usb_pcdc_echo_apl.c"
    ../src/r_usb_pcdc_apl.h(43):E0520005:Could not open source file "r_sci_rx_if.h"
    ../src/r_usb_pcdc_apl.h(44):E0520005:Could not open source file "r_usb_rsk_sci.h"
    src/subdir.mk:24: recipe for target 'src/r_usb_pcdc_echo_apl.obj' failed
    make: *** [src/r_usb_pcdc_echo_apl.obj] Error 1


    ちなみに、プロジェクトのフォルダ名の一部が cspproj となっているのはe2 studioのFIT ConfiguratorでコンフィグレーションしたプロジェクトをCS+で読み込むようにしたら何か楽が出来るだろうかと試すつもりもあったからです、、、

  • NoMaYさん
    #if OPERATION_MODE == USB_UART の中身がグレーになっていないので、#includeは生きていると思います。
    (だからエラーが出たのだと思いますが)
    include 参照するパスが通っていないか、ヘッダ同士の位置関係が変更されたためにヘッダファイルのファイル参照に問題が生じたと考えられます。
  • ほやさん、こんにちは。NoMaYです。

    リプライをありがとうございます。そして、申し訳ありません、自分のポカミスに1つ気付きました。そして、ルネサスさんのポカミスも確定ではないかと思い始めました。

    前の投稿で、CS+でビルドした時には問題無かった、と書いたのですが、実はCS+でビルドしていた時には、これら2つのヘッダファイルは存在していたのです。それを、今回、条件コンパイルによりインクルードされなくなる(筈の)ヘッダファイルであると考えて、プロジェクトに含めていなかったのです。そんな大事な違いが有ったにも関わらず、CS+では出来ていたけれどもe2 studioでは出来なくなった、などと言ってしまったのは私の大ポカでした。

    r_usb_pcdc_apl.h

    #if OPERATION_MODE == USB_UART
    #include "r_sci_rx_if.h"
    #include "r_usb_rsk_sci.h"
    #endif /* OPERATION_MODE == USB_UART */

    #if defined(USE_LPW)
    #include "r_usb_rsk_lowpower.h"
    #endif /* defined(USE_LPW) */


    /******************************************************************************
     Macro definitions
     ******************************************************************************/
    #define USE_USBIP0              (USB_IP0)       /* USB0 module */
    #define USE_USBIP1              (USB_IP1)       /* USB1 module */

    #define USB_ECHO                (0)             /* Loop back(Echo) mode */
    #define USB_UART                (1)             /* USB Serial(VCOM) converter mode */

    コーディングした人の意図としては、この条件コンパイル文で、OPERATION_MODE が USB_UART では無い場合には2つのヘッダファイルをインクルードしないようにしたつもりだったと思います。今回、OPERATION_MODE は別のヘッダファイルで以下のようにしていますので、意図通りであるならばインクルードされることは無い筈でした。

    r_usb_pcdc_apl_config.h

    /** [Select PCDC Demo sample Application mode]
     *  USB_ECHO              : Loop back(Echo) mode
     *  USB_UART              : USB Serial(VCOM) converter mode
     */
    #define OPERATION_MODE  (USB_ECHO)

    ですが、先程の条件コンパイル文の位置においては USB_ECHO も USB_UART も #define されておらず(実際に #define されている箇所は条件コンパイル文よりも下にあり)、コーディングした人の意図とは異なる振る舞いになっている、ということだと考えられます。これは、ルネサスさんのポカミスだと思うのです、、、

    今CS+で再確認したのですが、CS+でも2つのヘッダファイルを取り除いたところ、以下の画面コピーのようにコンパイルエラーになりました。

    2つのファイルが存在する場合にはコンパイルエラーにならない


    2つのファイルを取り除いた場合にはコンパイルエラーになるが、それはコーディングした人の意図とは異なると思います


    [追記]

    念の為、CS+でビルドしていたプロジェクトで USB_ECHO と USB_UART をgrepしてみたのですが、上に書いた r_usb_pcdc_apl.h でしか #define されていませんでした。

    USB_ECHOをgrep

    demo_src\r_usb_pcdc_echo_apl.c(35): #if OPERATION_MODE == USB_ECHO
    demo_src\r_usb_pcdc_echo_apl.c(144): #endif  /* OPERATION_MODE == USB_ECHO */
    demo_src\inc\r_usb_pcdc_apl.h(55): #define USB_ECHO                (0)             /* Loop back(Echo) mode */
    demo_src\inc\r_usb_pcdc_apl_config.h(51):  *  USB_ECHO              : Loop back(Echo) mode
    demo_src\inc\r_usb_pcdc_apl_config.h(54): #define OPERATION_MODE  (USB_ECHO)

    USB_UARTをgrep

    demo_src\r_usb_pcdc_uart_apl.c(35): #if OPERATION_MODE == USB_UART
    demo_src\r_usb_pcdc_uart_apl.c(268): #endif  /* OPERATION_MODE == USB_UART */
    demo_src\r_usb_rsk_lowpower.c(40): #if OPERATION_MODE == USB_UART
    demo_src\r_usb_rsk_lowpower.c(43): #endif /* OPERATION_MODE == USB_UART */
    demo_src\r_usb_rsk_lowpower.c(137): #if OPERATION_MODE == USB_UART
    demo_src\r_usb_rsk_lowpower.c(140): #endif /* OPERATION_MODE == USB_UART */
    demo_src\r_usb_rsk_lowpower.c(160): #if OPERATION_MODE == USB_UART
    demo_src\r_usb_rsk_lowpower.c(163): #endif /* OPERATION_MODE == USB_UART */
    demo_src\r_usb_rsk_scidriver.c(36): #if OPERATION_MODE == USB_UART
    demo_src\r_usb_rsk_scidriver.c(267): #endif /* OPERATION_MODE == USB_UART */
    demo_src\inc\r_usb_pcdc_apl.h(39): #if OPERATION_MODE == USB_UART
    demo_src\inc\r_usb_pcdc_apl.h(42): #endif /* OPERATION_MODE == USB_UART */
    demo_src\inc\r_usb_pcdc_apl.h(56): #define USB_UART                (1)             /* USB Serial(VCOM) converter mode */
    demo_src\inc\r_usb_pcdc_apl_config.h(52):  *  USB_UART              : USB Serial(VCOM) converter mode
    demo_src\inc\r_usb_rsk_sci.h(88): #if OPERATION_MODE == USB_UART
    demo_src\inc\r_usb_rsk_sci.h(92): #endif  /* OPERATION_MODE == USB_UART */
  • NoMaYさん

    こんにちは、シェルティです。

    2017/6/5 4:17 にいただいたレスから見落としていました。申し訳ありません。

    レスではお礼をいただき感激しております。わたしもいつもNoMaYさんはじめ
    かふぇルネに書き込んでいる皆様の情報をありがたく頂戴しております。
    何か私のもっているノウハウなりが皆様のお役に立ちましたら幸いです。
    また何か気づきがありましたら、書き込みさせていただきます。

    あと、USBのマクロのお話はUSBドライバを作っているメンバーに
    確認してみたいと思います。フィードバックがありましたらまた書き込みます。

    以上です

  • シェルティさん、こんにちは。NoMaYです。リプライありがとうございます。

    それで、USBのマクロ(USB_ECHOとUSB_UART)の件ですが、実は以下のことを知った時に、この件をCS+で試していて、理由は見当が付いています。

    CC-RXでWarning Levelを上げるOptionはインフォメーションメッセージ出力オプションだと知ったので試してみました

    実際にワーニングレベルを上げてみたところ以下のワーニングが表示されました。

    demo_src/inc/r_usb_pcdc_apl.h(39):M0520193:Zero used for undefined preprocessing identifier "USB_ECHO"
    demo_src/inc/r_usb_pcdc_apl.h(39):M0520193:Zero used for undefined preprocessing identifier "USB_UART"

    ちなみに、同様なワーニングが表示される箇所は他にもありました。

    r_sci_rx\src\targets\rx63n\../../r_sci_rx_private.h(80):M0520193:Zero used for undefined preprocessing identifier "SCI_CFG_FIFO_INCLUDED"

    以下は、こちらで試してみた時のビルドログです。

    rx631_fit_usb_pcdc_smpl_info_msg.log

    3113.rx631_fit_usb_pcdc_smpl_info_msg.log.txt
    >r_usb_pcdc\src\r_usb_pcdc_api.c r_usb_pcdc\src\r_usb_pcdc_driver.c r_usb_basic\src\hw\r_usb_creg_abs.c r_usb_basic\src\hw\r_usb_creg_access.c r_usb_basic\src\hw\r_usb_dma.c r_usb_basic\src\hw\r_usb_hostelectrical.c r_usb_basic\src\hw\r_usb_hreg_abs.c r_usb_basic\src\hw\r_usb_hreg_access.c r_usb_basic\src\hw\r_usb_preg_abs.c r_usb_basic\src\hw\r_usb_preg_access.c r_usb_basic\src\hw\r_usb_rx_mcu.c r_usb_basic\src\driver\r_usb_cdataio.c r_usb_basic\src\driver\r_usb_clibusbip.c r_usb_basic\src\driver\r_usb_hbc.c r_usb_basic\src\driver\r_usb_hcontrolrw.c r_usb_basic\src\driver\r_usb_hdriver.c r_usb_basic\src\driver\r_usb_hhubsys.c r_usb_basic\src\driver\r_usb_hintfifo.c r_usb_basic\src\driver\r_usb_hinthandler_usbip0.c r_usb_basic\src\driver\r_usb_hinthandler_usbip1.c r_usb_basic\src\driver\r_usb_hlibusbip.c r_usb_basic\src\driver\r_usb_hmanager.c r_usb_basic\src\driver\r_usb_hscheduler.c r_usb_basic\src\driver\r_usb_hsignal.c r_usb_basic\src\driver\r_usb_hstdfunction.c r_usb_basic\src\driver\r_usb_pbc.c r_usb_basic\src\driver\r_usb_pcontrolrw.c r_usb_basic\src\driver\r_usb_pdriver.c r_usb_basic\src\driver\r_usb_peptable.c r_usb_basic\src\driver\r_usb_pintfifo.c r_usb_basic\src\driver\r_usb_pinthandler_usbip0.c r_usb_basic\src\driver\r_usb_plibusbip.c r_usb_basic\src\driver\r_usb_psignal.c r_usb_basic\src\driver\r_usb_pstdfunction.c r_usb_basic\src\driver\r_usb_pstdrequest.c r_usb_basic\src\driver\r_usb_usbif_api.c r_sci_rx\src\targets\rx63n\r_sci_rx63n.c r_sci_rx\src\targets\rx63n\r_sci_rx63n_data.c r_sci_rx\src\r_sci_rx.c r_pincfg\r_pinset.c r_byteq\src\r_byteq.c r_bsp\mcu\rx63n\cpu.c r_bsp\mcu\rx63n\locking.c r_bsp\mcu\rx63n\mcu_clocks.c r_bsp\mcu\rx63n\mcu_init.c r_bsp\mcu\rx63n\mcu_interrupts.c r_bsp\mcu\rx63n\mcu_locks.c r_bsp\mcu\all\r_bsp_common.c r_bsp\board\rskrx63n\dbsct.c r_bsp\board\rskrx63n\hwsetup.c r_bsp\board\rskrx63n\lowlvl.c r_bsp\board\rskrx63n\lowsrc.c r_bsp\board\rskrx63n\resetprg.c r_bsp\board\rskrx63n\sbrk.c r_bsp\board\rskrx63n\vecttbl.c demo_src\main.c demo_src\r_usb_pcdc_descriptor.c demo_src\r_usb_pcdc_echo_apl.c demo_src\r_usb_pcdc_uart_apl.c demo_src\r_usb_rsk_lowpower.c demo_src\r_usb_rsk_scidriver.c r_bsp\board\rskrx63n\rxsdbgsig.c
    r_usb_pcdc\src\r_usb_pcdc_api.c(71):M0520826:Parameter "data1" was never referenced
    r_usb_pcdc\src\r_usb_pcdc_driver.c(99):M0520826:Parameter "data1" was never referenced
    r_usb_pcdc\src\r_usb_pcdc_driver.c(99):M0520826:Parameter "data2" was never referenced
    r_usb_pcdc\src\r_usb_pcdc_driver.c(141):M0520826:Parameter "data1" was never referenced
    r_usb_pcdc\src\r_usb_pcdc_driver.c(141):M0520826:Parameter "data2" was never referenced
    r_usb_basic\src\hw\r_usb_creg_abs.c(379):M0523034:Conversion in argument
    r_usb_basic\src\hw\r_usb_creg_access.c(50):M0520826:Parameter "port" was never referenced
    r_usb_basic\src\hw\r_usb_creg_access.c(438):M0520826:Parameter "port" was never referenced
    r_usb_basic\src\hw\r_usb_creg_access.c(470):M0520826:Parameter "port" was never referenced
    r_usb_basic\src\hw\r_usb_creg_access.c(1992):M0520826:Parameter "data" was never referenced
    r_usb_basic\src\hw\r_usb_creg_access.c(2131):M0523033:Precision lost
    r_usb_basic\src\driver\r_usb_cdataio.c(193):M0520826:Parameter "error_code" was never referenced
    r_usb_basic\src\driver\r_usb_cdataio.c(209):M0520826:Parameter "p_ctrl" was never referenced
    r_usb_basic\src\driver\r_usb_cdataio.c(469):M0523034:Conversion in argument
    r_usb_basic\src\driver\r_usb_cdataio.c(489):M0523034:Conversion in argument
    r_usb_basic\src\driver\r_usb_cdataio.c(519):M0523033:Precision lost
    r_usb_basic\src\driver\r_usb_pdriver.c(305):M0523033:Precision lost
    r_usb_basic\src\driver\r_usb_pdriver.c(431):M0520826:Parameter "con_num" was never referenced
    r_usb_basic\src\driver\r_usb_pdriver.c(451):M0520826:Parameter "con_num" was never referenced
    r_usb_basic\src\driver\r_usb_pdriver.c(526):M0520826:Parameter "con_num" was never referenced
    r_usb_basic\src\driver\r_usb_pdriver.c(801):M0520111:Statement is unreachable
    r_usb_basic\src\driver\r_usb_pdriver.c(840):M0520111:Statement is unreachable
    r_usb_basic\src\driver\r_usb_pdriver.c(880):M0520111:Statement is unreachable
    r_usb_basic\src\driver\r_usb_pdriver.c(1208):M0520826:Parameter "ptr" was never referenced
    r_usb_basic\src\driver\r_usb_pdriver.c(1208):M0520826:Parameter "data1" was never referenced
    r_usb_basic\src\driver\r_usb_pdriver.c(1208):M0520826:Parameter "data2" was never referenced
    r_usb_basic\src\driver\r_usb_pdriver.c(1223):M0520826:Parameter "preq" was never referenced
    r_usb_basic\src\driver\r_usb_pdriver.c(1223):M0520826:Parameter "ctsq" was never referenced
    r_usb_basic\src\driver\r_usb_pdriver.c(1242):M0523033:Precision lost
    r_usb_basic\src\driver\r_usb_pdriver.c(1265):M0520826:Parameter "ptr" was never referenced
    r_usb_basic\src\driver\r_usb_pdriver.c(1281):M0520826:Parameter "ctrl" was never referenced
    r_usb_basic\src\driver\r_usb_pdriver.c(1312):M0520826:Parameter "data2" was never referenced
    r_usb_basic\src\driver\r_usb_pdriver.c(1400):M0520826:Parameter "ptr" was never referenced
    r_usb_basic\src\driver\r_usb_pdriver.c(1400):M0520826:Parameter "data1" was never referenced
    r_usb_basic\src\driver\r_usb_pdriver.c(1400):M0520826:Parameter "data2" was never referenced
    r_usb_basic\src\driver\r_usb_pdriver.c(1422):M0520826:Parameter "ptr" was never referenced
    r_usb_basic\src\driver\r_usb_pdriver.c(1422):M0520826:Parameter "data1" was never referenced
    r_usb_basic\src\driver\r_usb_pdriver.c(1422):M0520826:Parameter "data2" was never referenced
    r_usb_basic\src\driver\r_usb_pdriver.c(1440):M0520826:Parameter "ptr" was never referenced
    r_usb_basic\src\driver\r_usb_pdriver.c(1440):M0520826:Parameter "data1" was never referenced
    r_usb_basic\src\driver\r_usb_pdriver.c(1440):M0520826:Parameter "data2" was never referenced
    r_usb_basic\src\driver\r_usb_pdriver.c(1456):M0520826:Parameter "ptr" was never referenced
    r_usb_basic\src\driver\r_usb_pdriver.c(1456):M0520826:Parameter "data1" was never referenced
    r_usb_basic\src\driver\r_usb_pdriver.c(1456):M0520826:Parameter "data2" was never referenced
    r_usb_basic\src\driver\r_usb_pdriver.c(1472):M0520826:Parameter "ptr" was never referenced
    r_usb_basic\src\driver\r_usb_pdriver.c(1472):M0520826:Parameter "data1" was never referenced
    r_usb_basic\src\driver\r_usb_pdriver.c(1472):M0520826:Parameter "data2" was never referenced
    r_usb_basic\src\driver\r_usb_pinthandler_usbip0.c(65):M0523033:Precision lost
    r_usb_basic\src\driver\r_usb_plibusbip.c(93):M0520826:Parameter "pipe" was never referenced
    r_usb_basic\src\driver\r_usb_plibusbip.c(417):M0520009:Nested comment is not allowed
    r_usb_basic\src\driver\r_usb_psignal.c(87):M0523034:Conversion in argument
    r_usb_basic\src\driver\r_usb_pstdrequest.c(52):M0523076:Function declarations should have prototype
    r_usb_basic\src\driver\r_usb_pstdrequest.c(53):M0523076:Function declarations should have prototype
    r_usb_basic\src\driver\r_usb_pstdrequest.c(60):M0523076:Function declarations should have prototype
    r_usb_basic\src\driver\r_usb_pstdrequest.c(65):M0523076:Function declarations should have prototype
    r_usb_basic\src\driver\r_usb_pstdrequest.c(125):M0523077:Called function should have prototype
    r_usb_basic\src\driver\r_usb_pstdrequest.c(128):M0523077:Called function should have prototype
    r_usb_basic\src\driver\r_usb_pstdrequest.c(131):M0523077:Called function should have prototype
    r_usb_basic\src\driver\r_usb_pstdrequest.c(153):M0523077:Called function should have prototype
    r_usb_basic\src\driver\r_usb_pstdrequest.c(1282):M0520826:Parameter "req" was never referenced
    r_usb_basic\src\driver\r_usb_pstdrequest.c(1293):M0520826:Parameter "req" was never referenced
    r_usb_basic\src\driver\r_usb_pstdrequest.c(1390):M0520826:Parameter "req" was never referenced
    r_usb_basic\src\driver\r_usb_usbif_api.c(234):M0520111:Statement is unreachable
    r_usb_basic\src\driver\r_usb_usbif_api.c(966):M0520826:Parameter "state" was never referenced
    r_usb_basic\src\driver\r_usb_usbif_api.c(1538):M0523034:Conversion in argument
    r_usb_basic\src\driver\r_usb_usbif_api.c(1733):M0523034:Conversion in argument
    r_usb_basic\src\driver\r_usb_usbif_api.c(1746):M0520111:Statement is unreachable
    r_usb_basic\src\driver\r_usb_usbif_api.c(1748):M0523034:Conversion in argument
    r_sci_rx\src\targets\rx63n\../../r_sci_rx_private.h(80):M0520193:Zero used for undefined preprocessing identifier "SCI_CFG_FIFO_INCLUDED"
    r_sci_rx\src\targets\rx63n\../../r_sci_rx_private.h(92):M0520193:Zero used for undefined preprocessing identifier "SCI_CFG_FIFO_INCLUDED"
    r_sci_rx\src\targets\rx63n\../../r_sci_rx_private.h(107):M0520193:Zero used for undefined preprocessing identifier "SCI_CFG_FIFO_INCLUDED"
    r_sci_rx\src\targets\rx63n\../../r_sci_rx_private.h(123):M0520193:Zero used for undefined preprocessing identifier "SCI_CFG_FIFO_INCLUDED"
    r_sci_rx\src\targets\rx63n\r_sci_rx63n.c(545):M0520826:Parameter "cb_args" was never referenced
    r_sci_rx\src\targets\rx63n\../../r_sci_rx_private.h(80):M0520193:Zero used for undefined preprocessing identifier "SCI_CFG_FIFO_INCLUDED"
    r_sci_rx\src\targets\rx63n\../../r_sci_rx_private.h(92):M0520193:Zero used for undefined preprocessing identifier "SCI_CFG_FIFO_INCLUDED"
    r_sci_rx\src\targets\rx63n\../../r_sci_rx_private.h(107):M0520193:Zero used for undefined preprocessing identifier "SCI_CFG_FIFO_INCLUDED"
    r_sci_rx\src\targets\rx63n\../../r_sci_rx_private.h(123):M0520193:Zero used for undefined preprocessing identifier "SCI_CFG_FIFO_INCLUDED"
    r_sci_rx\src\r_sci_rx_private.h(80):M0520193:Zero used for undefined preprocessing identifier "SCI_CFG_FIFO_INCLUDED"
    r_sci_rx\src\r_sci_rx_private.h(92):M0520193:Zero used for undefined preprocessing identifier "SCI_CFG_FIFO_INCLUDED"
    r_sci_rx\src\r_sci_rx_private.h(107):M0520193:Zero used for undefined preprocessing identifier "SCI_CFG_FIFO_INCLUDED"
    r_sci_rx\src\r_sci_rx_private.h(123):M0520193:Zero used for undefined preprocessing identifier "SCI_CFG_FIFO_INCLUDED"
    r_sci_rx\src\r_sci_rx.c(70):M0520193:Zero used for undefined preprocessing identifier "SCI_CFG_FIFO_INCLUDED"
    r_sci_rx\src\r_sci_rx.c(98):M0520193:Zero used for undefined preprocessing identifier "SCI_CFG_FIFO_INCLUDED"
    r_sci_rx\src\r_sci_rx.c(104):M0520193:Zero used for undefined preprocessing identifier "SCI_CFG_FIFO_INCLUDED"
    r_sci_rx\src\r_sci_rx.c(116):M0520193:Zero used for undefined preprocessing identifier "SCI_CFG_FIFO_INCLUDED"
    r_sci_rx\src\r_sci_rx.c(303):M0520193:Zero used for undefined preprocessing identifier "SCI_CFG_FIFO_INCLUDED"
    r_sci_rx\src\r_sci_rx.c(472):M0520193:Zero used for undefined preprocessing identifier "SCI_CFG_FIFO_INCLUDED"
    r_sci_rx\src\r_sci_rx.c(620):M0523033:Precision lost
    r_sci_rx\src\r_sci_rx.c(770):M0520193:Zero used for undefined preprocessing identifier "SCI_CFG_FIFO_INCLUDED"
    r_sci_rx\src\r_sci_rx.c(1069):M0520193:Zero used for undefined preprocessing identifier "SCI_CFG_FIFO_INCLUDED"
    r_sci_rx\src\r_sci_rx.c(1114):M0520193:Zero used for undefined preprocessing identifier "SCI_CFG_FIFO_INCLUDED"
    r_sci_rx\src\r_sci_rx.c(1444):M0520193:Zero used for undefined preprocessing identifier "SCI_CFG_FIFO_INCLUDED"
    r_sci_rx\src\r_sci_rx.c(1534):M0520193:Zero used for undefined preprocessing identifier "SCI_CFG_FIFO_INCLUDED"
    r_sci_rx\src\r_sci_rx.c(1594):M0520193:Zero used for undefined preprocessing identifier "SCI_CFG_FIFO_INCLUDED"
    r_sci_rx\src\r_sci_rx.c(1675):M0520193:Zero used for undefined preprocessing identifier "SCI_CFG_FIFO_INCLUDED"
    r_sci_rx\src\r_sci_rx.c(1732):M0520193:Zero used for undefined preprocessing identifier "SCI_CFG_FIFO_INCLUDED"
    r_sci_rx\src\r_sci_rx.c(1791):M0520193:Zero used for undefined preprocessing identifier "SCI_CFG_FIFO_INCLUDED"
    r_sci_rx\src\r_sci_rx.c(1845):M0520193:Zero used for undefined preprocessing identifier "SCI_CFG_FIFO_INCLUDED"
    r_pincfg\r_pinset.h(39):M0523076:Function declarations should have prototype
    r_pincfg\r_pinset.c(44):M0523076:Function declarations should have prototype
    r_bsp\mcu\all\r_bsp_common.c(96):M0520826:Parameter "loop_cnt" was never referenced
    C:\Renesas\an_r01an2238jj0120_usb\workspace\RX63N/demo_src/inc/r_usb_pcdc_apl.h(39):M0520193:Zero used for undefined preprocessing identifier "USB_ECHO"
    C:\Renesas\an_r01an2238jj0120_usb\workspace\RX63N/demo_src/inc/r_usb_pcdc_apl.h(39):M0520193:Zero used for undefined preprocessing identifier "USB_UART"
    C:\Renesas\an_r01an2238jj0120_usb\workspace\RX63N/demo_src/inc/r_usb_rsk_sci.h(88):M0520193:Zero used for undefined preprocessing identifier "USB_ECHO"
    C:\Renesas\an_r01an2238jj0120_usb\workspace\RX63N/demo_src/inc/r_usb_rsk_sci.h(88):M0520193:Zero used for undefined preprocessing identifier "USB_UART"
    demo_src\r_usb_pcdc_echo_apl.c(46):M0520082:Storage class is not first
    C:\Renesas\an_r01an2238jj0120_usb\workspace\RX63N/demo_src/inc/r_usb_pcdc_apl.h(39):M0520193:Zero used for undefined preprocessing identifier "USB_ECHO"
    C:\Renesas\an_r01an2238jj0120_usb\workspace\RX63N/demo_src/inc/r_usb_pcdc_apl.h(39):M0520193:Zero used for undefined preprocessing identifier "USB_UART"
    C:\Renesas\an_r01an2238jj0120_usb\workspace\RX63N/demo_src/inc/r_usb_rsk_sci.h(88):M0520193:Zero used for undefined preprocessing identifier "USB_ECHO"
    C:\Renesas\an_r01an2238jj0120_usb\workspace\RX63N/demo_src/inc/r_usb_rsk_sci.h(88):M0520193:Zero used for undefined preprocessing identifier "USB_UART"
    C:\Renesas\an_r01an2238jj0120_usb\workspace\RX63N/demo_src/inc/r_usb_pcdc_apl.h(39):M0520193:Zero used for undefined preprocessing identifier "USB_ECHO"
    C:\Renesas\an_r01an2238jj0120_usb\workspace\RX63N/demo_src/inc/r_usb_pcdc_apl.h(39):M0520193:Zero used for undefined preprocessing identifier "USB_UART"
    C:\Renesas\an_r01an2238jj0120_usb\workspace\RX63N/demo_src/inc/r_usb_rsk_sci.h(88):M0520193:Zero used for undefined preprocessing identifier "USB_ECHO"
    C:\Renesas\an_r01an2238jj0120_usb\workspace\RX63N/demo_src/inc/r_usb_rsk_sci.h(88):M0520193:Zero used for undefined preprocessing identifier "USB_UART"
    


    恐らくUSBドライバを作っているメンバーの方々の社内規定では「ワーニングレベルを最高にしてコンパイルすること」(ワーニングメッセージを全て解消する必要は無いが全て問題無いことは確認しておくこと)というのはあるのではないかと思いますが、CC-RXがそういう仕様だったので、そのような規定をすり抜けてしまったのではないだろうかと思うのです、、、

  • NoMaYさん

    こんにちは、シェルティです。

    本件、USBドライバの開発チームに確認したところ、ご指摘通りと見解いただきました。
    次の版(10月くらいにリリース予定)で直すとのことでした。
    いつも有効なフィードバックをいただき感謝いたします、とのことです。

    以上です