API関数

大変基礎的な質問で恐縮ですが、
①スマートコンフィグレータで生成されたコードの中の関数
②FITモジュールで取り込んだ時の関数
はどういった違いがあるのでしょうか?どちらもAPI関数と呼ばれるものでしょうか。

例えばスマートコンフィグレータでの関数では足りず、FITモジュールを使ったほうが良いなど

あるのでしょうか?

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

    どちらもAPI関数と呼ばれるものです。以前に他の方に以下のようなリプライをしたことがあります。もともと両者で住み分けることを前提として開発されたものでは無いのですで、以下に書いた「CGとFITで役割が重複するコンポーネントがある」点に関しては総論を言うことは難しくて、コンポーネント毎に両者のAPI関数を比較してみるしかない気がします。

    例)

    ・CGでSCIのリングバッファを実装するのは厄介だが、FITではSCIは最初からリングバッファ対応である
    ・CGのIICのAPI関数は不充分なのだろうけれど平易だが、FITのIICのAPI関数は仕様完全対応なのだろうけれど難解である

    ただ、(私の思い込みかも知れませんけど)以下の太字部分の好き嫌いで使い分けられているのではないかなぁ、という気がしています。

    以下、引用+αです。

    > Smart Configurator と FIT という言葉の使い分け方がまだ良く分かっていませんが

    他に、CGという言葉も出てきますよ。単純に書くと、こんな感じですかね。

    Smart Configurator = CG(コード生成) + FIT(Firmware Integration Technology) + α

    FITを先に見つけた人にとって分かり難いだろうと思うのは以下の点ではないかと思います。

    ・ マイコンのベーシックな機能の操作に関してCGとFITで役割が重複するコンポーネントがある
    ・ (高度な機能を操作するようなミドルウェアと呼ばれるものに関してはFITのみで提供される)
    ・ Smart Configuratorでは役割が重複する一部のFITに関してはデフォルト設定で非表示にしている(GPIOもそうです)

    CGとFITには(私の印象では)以下のような差異がありますので、一部のFITを非表示にするまでも無いと思ったりすることもありますが、現状、デフォルト設定がそうなっていますので、必要に応じてその設定を解除すれば良いと思います。

    CGのメリット

    ・GUIによるドライバ設定を直感的だと好む人には有難い
    ・マイコン内蔵周辺レジスタ操作コードが剥き出しのマイコン感溢れるソースコードを好む人には有難い
    ・機能が少ないマイコンではコードサイズが小さい(と思う)
    ・処理が軽い

    CGのデメリット

    ・マイコンを変更する時に面倒(GUI上でマイコン型番変更をして必要に応じて入力し直すのが面倒)

    FITのメリット

    ・GUIによるドライバ設定を面倒臭いと嫌う人には有難い
    ・マイコン内蔵周辺レジスタ操作コードを隠蔽してくれるライブラリAPIを使うことを好む人には有難い
    ・マイコンを変更するときにやや楽(設定の大半はソース上なのでGUI上で入力し直すのは僅か)

    FITのデメリット

    ・機能が少ないマイコンではコードサイズはCGより大きくなる(と思う)
    ・CGよりは処理が重い

    FITのメリット(番外編)

    ・最近のFITは対応マイコンを絞り込んだのでCGとの差は無いですが少し前のFITは殆どのRXマイコンに対応していた。
    (たぶん、それらは今もダウンロード出来ると思う。ただし、RXスマートコンフィグレータ未対応ですが。)

    [関連リンク]

    RX71M の汎用 I/O 設定がうまく出来ません
    japan.renesasrulz.com/cafe_rene/f/forum5/6370/rx71m-i-o/35207#35207
     

  • NoMaYさん
    大変分かりやすいご説明ありがとうございました
Reply Children
No Data