RL78 SmartConfiguratorで気になった点とか改善する案とか報告してみるスレッド

こんにちは。NoMaYです。

いま2つ気になっています。

(1) ICCRL78とLLVM-RL78(とGNURL78)でワーニングレベルを上げるとワーニングがとてもたくさん出る
(2) RL78スマートコンフィグレータGUI上でオンチップデバッグトレースを使用する設定にしても予約RAM領域を空けていない

  • チョコさん

    お世話になっております

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

    ありがとうございます。①についてもブロッキングになるようなオプションを標準で付けるなどの対策がいるだろうという議論を合わせて進めています。この場合チョコさんのアイデアの通りになると思います。

    Arduinoについてはあまり発言できないのですが、鋭意開発中、といったところですね。なるべく使っていて気持ちが悪くならない構成を目指して作っております。Arduinoで入門したユーザが、文字通り一皮ソフトウェアを剥いて(ラッパーを外して)、RAのFSP、RXのFIT、RL78の何某の各APIまたはCGが出力したコードを直接叩き、ノンブロッキングコール/割り込み駆動でコテコテの組み込みシステムを作り始めて組み込みシステムエンジニアとして一人前になる、という道筋を作りたいとシェルティは考えています。

    気になるところはどしどしお申し付けください。特に改善点については各開発チームやマーケティングチームと連動して可能な限り改善につなげてまいります。

    以上です

  • チョコです。

    早速の回答ありがとうございます。よろしくお願いします。

    RL78/G23FPBでArduino環境を使うためにはRL78/G14FPBのAPNにあるArduino用APIを移植する必要がありそうですね。

    ポートとタイマ関係も移植をちょっと検討してみますか。

  • こんにちは。NoMaYです。

    > Arduinoで入門したユーザが、文字通り一皮ソフトウェアを剥いて(ラッパーを外して)、RAのFSP、RXのFIT、RL78の何某の各APIまたはCGが出力したコードを直接叩き、ノンブロッキングコール/割り込み駆動でコテコテの組み込みシステムを作り始めて組み込みシステムエンジニアとして一人前になる、という道筋を作りたいとシェルティは考えています。

    せっかくFreeRTOSでRTOSが使いホーダイになって来たところですので、私は、「ノンブロッキングコール/割り込み駆動でコテコテの組み込みシステム」のその先の世界、を見てみたい/行ってみたいような、そんな気もします、、、(まあ、それは割りと普通のパソコンの世界なのでは?、という話もありますでしょうけど、、、)

  • こんにちは。NoMaYです。

    漠然とした将来への気掛かりなこととして、ふと頭に思い浮かんだこと、ですけれど、、、

    > (1) アップデート操作は正常終了したけれどBSPモジュールのソースがアップデートされていない

    > (2) アップデート操作は正常終了したけれどプロジェクトを削除して再インポートするとBSPモジュールのバージョンが古いまま

    (A) RL78スマートコンフィグレータ上でマイコンシリーズが異なるマイコンへデバイス変更した時は大丈夫だろうか、、、(今のところは、RL78スマートコンフィグレータでは、ひとつだけしか対象マイコンシリーズはありませんけれども、、、)

    というのは、今しがた、CS+での単体RXスマートコンフィグレータで、RX72NのデバイスからRX671のデバイスへと、デバイス変更した(元プロジェクトが古くてBSPのバージョン変更も伴う)のですが、ん?幾つかファイルが変わってない??ということに遭遇したからです。(こちらの方は、裏を取る為に、もういちど最初から手順をやり直すことまでは、ちょっとやりたいとは思いませんでしたので、私の操作手順ミスの可能性もありますけれども、こちらのスレッドで気掛かりだと書く分には、きっかけとしては充分に理由になるかな、と思いましたので、そのまま、漠然とした将来への気掛かりなこととして挙げることにしました。)

    [追記]

    RXスマートコンフィグレータの方ですが、裏を取る為に、もういちど最初から手順をやり直すことはしていませんが、思い返すとアップデートされていなかったファイルはRX72NにもRX671にも両方に存在するファイルだったように思いますので、ミソは、RL78スマートコンフィグレータと同様に、BSPのバージョン変更を伴っていた、という点かも知れません。(でも、BSPのバージョンアップは過去何度か行ったのですけれど、その時も、気付かなかっただけで、実は、そんなことが起きていたのかなぁ?、、、)

  • シェルティさん、こんにちは。NoMaYです。#シェルティさんに尋ねるのもちょっと違うかも知れませんが、、、

    ツールニュースに以下のお知らせが出ていたのですが、具体的にどういうコードが駄目なのでしょうか知りたいのです。extern "C"では解決出来ない、RL78スマートコンフィグレータ生成コードとC++言語の非互換性、なのですよね?(余りに情報が少な過ぎて、、、)

    【注意事項】 e² studio Smart Configurator プラグイン, RL78 スマート・コンフィグレータ
    R20TS0757JC0100 Rev.1.00 2021.10.01号
    www.renesas.com/jp/ja/document/tnn/notes-e-studio-smart-configurator-plug-smart-configurator-rl78

    1. LLVM for Renesas RL78 C/C++ Executable Project 作成時の注意事項
    ...
    1.3 内容
    e2 studio でLLVM for Renesas RL78 C/C++ Executable Project を作成時に、言語に[C++]を設定して、[Use Smart Configurator]を選択すると(図1-1)、スマート・コンフィグレータの生成コードとC++言語に互換性がないため、ビルドが失敗する可能性があります。

    1.4 回避策
    C++言語を使用する場合は、[Use Smart Configurator]を選択しないでください。(図1-2)

    1.5 恒久対策
    次版で改修する予定です。(2022 年1 月予定)


    [関連リンク]

    ルネサス ツールニュース ウェブ版
    www.renesas.com/jp/ja/software-tool/tool-news
     

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

    以下の件、何か情報をお持ちでないでしょうか?

    > ツールニュースに以下のお知らせが出ていたのですが、具体的にどういうコードが駄目なのでしょうか知りたいのです。extern "C"では解決出来ない、RL78スマートコンフィグレータ生成コードとC++言語の非互換性、なのですよね?(余りに情報が少な過ぎて、、、)

    シェルティさん、こんにちは。NoMaYです。#シェルティさんに尋ねるのもちょっと違うかも知れませんが、、、

    ツールニュースに以下のお知らせが出ていたのですが、具体的にどういうコードが駄目なのでしょうか知りたいのです。extern "C"では解決出来ない、RL78スマートコンフィグレータ生成コードとC++言語の非互換性、なのですよね?(余りに情報が少な過ぎて、、、)

    【注意事項】 e² studio Smart Configurator プラグイン, RL78 スマート・コンフィグレータ
    R20TS0757JC0100 Rev.1.00 2021.10.01号
    www.renesas.com/jp/ja/document/tnn/notes-e-studio-smart-configurator-plug-smart-configurator-rl78

    1. LLVM for Renesas RL78 C/C++ Executable Project 作成時の注意事項
    ...
    1.3 内容
    e2 studio でLLVM for Renesas RL78 C/C++ Executable Project を作成時に、言語に[C++]を設定して、[Use Smart Configurator]を選択すると(図1-1)、スマート・コンフィグレータの生成コードとC++言語に互換性がないため、ビルドが失敗する可能性があります。

    1.4 回避策
    C++言語を使用する場合は、[Use Smart Configurator]を選択しないでください。(図1-2)

    1.5 恒久対策
    次版で改修する予定です。(2022 年1 月予定)
  • シェルティさん、こんにちは。NoMaYです。

    以下の件、ワールドワイド向けRulzにも聞いてみようかと思います。

    > 以下の件、何か情報をお持ちでないでしょうか?

    シェルティさん、こんにちは。NoMaYです。#シェルティさんに尋ねるのもちょっと違うかも知れませんが、、、

    ツールニュースに以下のお知らせが出ていたのですが、具体的にどういうコードが駄目なのでしょうか知りたいのです。extern "C"では解決出来ない、RL78スマートコンフィグレータ生成コードとC++言語の非互換性、なのですよね?(余りに情報が少な過ぎて、、、)

    【注意事項】 e² studio Smart Configurator プラグイン, RL78 スマート・コンフィグレータ
    R20TS0757JC0100 Rev.1.00 2021.10.01号
    www.renesas.com/jp/ja/document/tnn/notes-e-studio-smart-configurator-plug-smart-configurator-rl78

    1. LLVM for Renesas RL78 C/C++ Executable Project 作成時の注意事項
    ...
    1.3 内容
    e2 studio でLLVM for Renesas RL78 C/C++ Executable Project を作成時に、言語に[C++]を設定して、[Use Smart Configurator]を選択すると(図1-1)、スマート・コンフィグレータの生成コードとC++言語に互換性がないため、ビルドが失敗する可能性があります。

    1.4 回避策
    C++言語を使用する場合は、[Use Smart Configurator]を選択しないでください。(図1-2)

    1.5 恒久対策
    次版で改修する予定です。(2022 年1 月予定)

     

  • NoMaYさん

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

    すみません、返信が滞りました。本件ツール部門に確認してみました。

    本ツールニュースはextern "C"で解決できる課題とのことです。単にLLVMのときは生成コードでextern "C"を出力していないので、C++環境で使うとビルドが失敗するケースが出てしまう、ということでした。

    以上です

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

    どうもありがとうございました。

    すみません、返信が滞りました。本件ツール部門に確認してみました。

    本ツールニュースはextern "C"で解決できる課題とのことです。単にLLVMのときは生成コードでextern "C"を出力していないので、C++環境で使うとビルドが失敗するケースが出てしまう、ということでした。

     

  • こんにちは。NoMaYです。

    RL78/G23のBSPモジュール V1.11の r_bsp_rl78_compiler.h に以下の記述がありますが、CC-RL(少なくとも V1.10 時点)では __secsize() が無いですね。

    src/smc_gen/r_bsp/mcu/all/r_bsp_rl78_compiler.h

    /* Sections */
    #if defined(__CCRL__)
    #define R_BSP_SECTOP(name)         __sectop(#name)
    #define R_BSP_SECEND(name)         __secend(#name)
    #define R_BSP_SECSIZE(name)        __secsize(#name)
    #elif defined(__ICCRL78__)
    #elif defined(__llvm__)
    #endif