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 という選択肢は表示されない (ちなみに、以下の画面は情報ファイルを編集した後のものです)


Parents
  • 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ファイルの中にこのような定義があったのですね。
    この調査内容は独自のボードへ展開するときに参考になります。
    ボードでフィルタがかけられるのは確かに変わった仕様ですね^^;
Reply
  • NoMaYさん
    XMLファイルの中にこのような定義があったのですね。
    この調査内容は独自のボードへ展開するときに参考になります。
    ボードでフィルタがかけられるのは確かに変わった仕様ですね^^;
Children
No Data