先週、ルネサスの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 という選択肢は表示されない (ちなみに、以下の画面は情報ファイルを編集した後のものです)
シェルティさん、こんにちは。取り次ぎ&リプライ、どうもありがとうございました。そういうことだったのですね。そもそも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.htmwww.hokutodenshi.co.jp/.../CPU-RX_200.htmwww.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 Moduleswww.renesas.com/.../D6000997.htmlan_r01an2238jj0121_usb.zip
こんにちは。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.jsr_bsp_gr_citrus_v0.01.xmlr_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実行結果:
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
// 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(); }
ほやさん、こんにちは。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_ECHOdemo_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) modedemo_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_UARTdemo_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_UARTdemo_src\r_usb_rsk_lowpower.c(43): #endif /* OPERATION_MODE == USB_UART */demo_src\r_usb_rsk_lowpower.c(137): #if OPERATION_MODE == USB_UARTdemo_src\r_usb_rsk_lowpower.c(140): #endif /* OPERATION_MODE == USB_UART */demo_src\r_usb_rsk_lowpower.c(160): #if OPERATION_MODE == USB_UARTdemo_src\r_usb_rsk_lowpower.c(163): #endif /* OPERATION_MODE == USB_UART */demo_src\r_usb_rsk_scidriver.c(36): #if OPERATION_MODE == USB_UARTdemo_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_UARTdemo_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 modedemo_src\inc\r_usb_rsk_sci.h(88): #if OPERATION_MODE == USB_UARTdemo_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
>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"