スマートコンフィグレータとFITについて

e2Studioでスマートコンフィグレータを使用しています。

スマートコンフィグレータとFITの関係は、

スマートコンフィグレータの中にFITがある、という関係でしょうか?

いままで、CS+を使用していまして、PDGを使用していました。

それがスマートコンフィグレータにかわり、FITが追加された?

(PDG+FIT=スマートコンフィグレータ)

例えば、SCI Driver は FIT

SCI(SCIF)クロック同期モードは PDG

なのかな?と思いました。
ここまでが前置きで、

実際のところRS-232C通信を行おうとした時、何方を使用するのが正しいのかよくわからないのです。

r_sci_rx なら ASYNC モードにしてやれば

SCIFと同じような亊はできる。

当然使用するチャンネルによってFIFOが使用できるものなどは r_sci_rx 側でないと設定できないのですが、

特にそれらの機能を使用しない場合、どちらを使用しても同様の亊ができると考えて良いのでしょうか?

どちらを使用すれば良いのか悩んでいます。

もちろん設定の不備などはあるとは思いますが、例えばSCI2 を使用したい時に

r_sci_rx でASYCNに設定した場合は通信できなくて、SCIFの2(Config_SCI2)を使うと通信ができる。

どのように判断して使い分けるのがよいのでしょうか?

よろしくお願いいたします。

  • ka.makiharaさん

    シェルティです、こんにちは。ルネサスの中の人です。

    端的に表現すると「「ソフトウェアパッケージ‘=FIT+CG」をまるっと制御できるのがスマートコンフィグレータ」です。FITとCGの違いについては以下ページに最近まとめなおしました。本掲示板や社内のいろいろな方の意見を総合してまとめています。スマートコンフィグレータ上で青い四角のアイコンが付いているのがCG、オレンジの四角のアイコンが付いているのがFITになります。

    https://www.renesas.com/jp/ja/products/microcontrollers-microprocessors/rx-32-bit-performance-efficiency-mcus/software-tools/software

    それぞれ向き不向きがあるので、開発プロジェクトの特性に合わせて使い分けてください。

    PDGは残念ながら古いデバイス向け(古い世代のRXファミリ含む)ということで新しいRXファミリではサポートしていないです。

    以上です

  • ka.makiharaさん、こんにちは。NoMaYです。

    > もちろん設定の不備などはあるとは思いますが、例えばSCI2 を使用したい時に r_sci_rx でASYCNに設定した場合は通信できなくて、SCIFの2(Config_SCI2)を使うと通信ができる。どのように判断して使い分けるのがよいのでしょうか?

    これは設定間違いがある筈ですから、その状況にてFITとCGの使い分けについて思案するのは良くないような気がするのです。動いてしまえば、総じて/概ね、FITの方が楽チンなのではないでしょうか。ただ、FITのドキュメントにて未対応となっていることをしなければならなくなった時など、FITの多品種対応/多機能ゆえにFITのソースを改造するのは大変であることも少なくない筈であり、CGの簡素なソースの方が改造し易い(というかそもそも簡素なものなので増築し易いというか)こともあろうかと思うのです。

    また、多品種対応の為の冗長さ/多機能であることそれ自体、によりROMサイズへの影響はCGより大きいですので、ROMサイズが64Kとか、それより小さいとか、そのあたりだと楽チンさよりコードサイズを優先しないといけないというような選択が必要になることもあろうかと思うのです。例えば以下のスレッドでは、センサからデータを読むだけで(BSPモジュール込みですが)24Kとかなってました。(もっとも、いろいろな要因が絡んでいますので、今後改善されると思いますけれども。)

    RX MCUのROM/RAM usage sizeがRenesas QuickConnect IoTのsample programでボロ負け(very worse than)している件(RA MCUやRL78 MCUに比べて)
    japan.renesasrulz.com/cafe_rene/f/analog/7575/rx-mcu-rom-ram-usage-size-renesas-quickconnect-iot-sample-program-very-worse-than-ra-mcu-rl78-mcu

    でも、ひとつ思い出しましたけれど、FITは端子設定回りや割り込み回りでスマートコンフィグレータとの結合が弱かったような気がします。そちらでSCI2が動かないのも端子設定回りの問題かも知れません、、、

    # ちなみに、私の好みは、ソースの簡素さ、ゆえのCGの方です。自分が遊ぶ分には、それで事足りるというか。

    [追記]

    FITとCGの違いに関しては、CGの生い立ちの話をするのが良いかも知れません。CGの起源は、NECの78K0Sファミリという、ファミリ内で最大のROMサイズのものでも僅か8KバイトというマイコンのAppliletというツールだったと思います。そして、例えばUART通信であれば、ボーレートやらビット数やらの設定を動的に変えられるマイコン向けライブラリは普通に考え付くものだったのですが、何しろROMサイズが小さかったので、実際のユースケースでは動的に変えるということは余り無いことであり、ライブラリ内部に変更機能を持たせてライブラリサイズを大きくしてしまうよりも、コンフィグレーションGUIを用意しておいて変更する(そうしてソース上ではレジスタ設定決め打ちする)ことによりライブラリサイズ(というよりもプログラムサイズ)を小さくするようにしたツールでした。初期化関数の引数でのコールバック関数登録というスタイルでなく、直接ソースにユーザ記述部を用意してユーザに処理を記述させるスタイルなのも、その為です。(だと思います。関数ポインタを知らなかった、というのでは無いと思います。)

    怪我の功名というか、動的な自由度が無い/少ないデメリットの反面、GUIでの設定でほぼ確実に(基本機能が動作する)プログラムを作れるようになったもの、であったように思います。(だったと私は思っています。もっとも、不具合のせいで、そうは問屋が卸さなかった、ということはあったでしょうけれども。)

    FITは(悪い意味では無いのですけれども)一般的なマイコン向けライブラリですね。対して、CGは上のような感じですね。

    ルネサス マイクロコンピュータ 8ビット All Flash 78K0S, 78K0 マイクロコントローラ - パンフレット
    www2.renesas.cn/jp/ja/document/bro/8-bit-all-flash-78k0s-78k0-microcontrollers-pamphlet-r01cl0004ej0200
     

  • ka.makiharaさん、こんにちは。NoMaYです。

    > いままで、CS+を使用していまして、PDGを使用していました。
    > それがスマートコンフィグレータにかわり、FITが追加された?
    > (PDG+FIT=スマートコンフィグレータ)

    PDG2では、まず核の部分にRPDLと呼ばれるバイナリライブラリがあって、それ対する皮的な部分として、GUIによる設定に基づいて生成されるソースがある、という構成でした。私見ですが、イメージ的には、RPDLの後継≒FIT、のような立ち位置ではないかと思うのです。但し、FITに皮的な部分は提供されていません。他方、GUIによる設定に基づいて生成されるソースというのは、会社合併というイベントとの絡みもあって、CGという別の流れを汲むものに置き換えられました。

    ちなみに、会社合併前の様子を模式的に書くと、HEW+PDG2 vs CubeSuite+CG、というイメージかな、と思います。

    RX           -        PDG2核部分(RPDL)  PDG2皮部分
    78K0R        CG        -                -
    V850         CG        -                -
    合併前↑
    合併後↓
    RX           CG        FIT               -
    RL78         CG        -                -
    RH850        CG        AUTOSAR MCAL???   -???

     
    なお、RXは「「ソフトウェアパッケージ‘=.FIT+CG」をまるっと制御できるのがスマートコンフィグレータ」となっています。(RL78とRH850はスマートコンフィグレータが制御するのはCGのみとなっています。)

  • ka.makiharaさん、こんにちは。NoMaYです。

    ひとつ、ここまでで、漏れている話題に気付きました。ミドルウェアと呼ばれるものです。強引に模式的に書くと以下のような感じかなと思いました。

    FIT ≒ RPDLの後継+各種ミドルウェア(ether/graphics/ble/usb/fat/sdcard/eeprom/sensor/flash/firmware update/etc...)

    RX           -        PDG2核部分(RPDL)  PDG2皮部分  別扱いの各種ミドルウェア
    78K0R        CG        -                -          別扱いの各種ミドルウェア
    V850         CG        -                -          別扱いの各種ミドルウェア
    合併前↑
    合併後↓
    RX           CG        FIT               -          FIT
    RL78         CG        -                -          別扱いの各種ミドルウェア
    RH850        CG        AUTOSAR MCAL???   -???       別扱いの各種ミドルウェア???

     

  • NoMaYさん、シェルティさん、こんにちは。

    色々と情報ありがとうございます。

    暫くスマートコンフィグレータを使用して、お話を伺い、分かってきました。

    確かにCGで生成すると呼び出しが楽。FITだとパラメータが多いけど、設定を色々変えられる。

    CGだとGUIで設定できるので、GUIでやってしまえば、割とすぐ動作する。

    FITだと、関数の説明みながら、パラメータを色々試して・・・

    結局、何方を使用するかはその時次第かなぁ、と。

    スマートコンフィグレーターのスレッドが出来てたので、要望はそちらに出してみようかな。

  • ka.makiharaさん、NoMaYさん

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

    シェルティが書ききれていない範囲(PDG2などの過去経緯)をうまくNoMaYさんにまとめていただいていると思いました。NoMaYさん、いつも助かります。

    CGとFITは得手不得手があり「その時次第」というのはその通りと思います。シェルティもRXファミリでいろいろなシステム開発をしていますが、1個のプロジェクトでCGとFITを混在させて使ってますね。個人的には入門がH8マイコンやR8Cマイコンなどのローエンドからだったというのもあり、CGのほうがしっくりきますね。ただ、TCP/IPやファイルシステム、RTOSなどの「ソフトウェアスタック」を構成し、複数チーム・複数ボードへの展開を前提とした構成管理・コードバージョン管理を設計する必要がある場合はFITの方が楽ですね。まさに「その時次第」と思います。

    スマートコンフィグレータ周りなど要望については掲示板を適宜ウォッチして関係部門に展開することができますので、お申し付けください。可能な範囲で改善を進めてまいります。

    以上です