e2 studio v7.5.0でFreeRTOS+SCFGプロジェクトではRTOS Objectコンポーネントというものは使えないのかな

こんにちは。NoMaYです。

今首を傾げているのですが、以下のドキュメントによると、e2 studio v7.5.0ではAmazon FreeRTOSプロジェクトに於いてスマートコンフィグレータでRTOS Objectコンポーネントというものが使用出来る/存在するらしいのですが、これは単なるFreeRTOSプロジェクトでは使用出来ない/存在しないものなのでしょうか?(スマートコンフィグレータウィンドウの、コンポーネントタブ上に表示されない&コンポーネント追加ダイアロにも表示されない、ので、そうなのかな、とは思っているのですが、Amazon FreeRTOSプロジェクトとFreeRTOSプロジェクトで、このような部分で違っているのが意外でしたので、、、)

e2 studio 7.5.0 Release Note
www.renesas.com/jp/ja/doc/products/tool/doc/016/r20ut4556ee0101-e2studio.pdf
Page 17 of 72

New Amazon FreeRTOS Configuration user interface provide within e2 studio 7.5 featuring:
● Imported FreeRTOS project with pre-loaded FreeRTOS Components (Object, Kernel and Amazon Libraries).

o FreeRTOS Object configuration: allow user to be able to create, configure multiple FreeRTOS objects using GUI (Tasks, Semaphores, Queues, Software Timers, Event Groups, Message Buffers, Stream Buffers)
o Create/Remove FreeRTOS Objects with user friendly UI.



ちなみに、プロジェクトの生成では、コンパイラはCC-RX V3.01、デバイスはR5F565NEDxFP、に設定して試しました。

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

    あと2~3日ぐらいかなと思ったのですが、1週間掛かってしまいました。すみません。ようやくですが、プルリクエストの形式でソースを投稿してみました。

    Add Renesas TB-RX130/RX231/RX65N RTOS Demo and update Renesas RX72N Envision Kit RTOS Demo #3
    github.com/renesas/FreeRTOS/pull/3

    Update Renesas RX100 and RX600v2 port layer for Renesas TB-RX130/RX231/RX65N RTOS Demo #5
    github.com/renesas/FreeRTOS-Kernel/pull/5

    AWSさんからのアドバイスのあったDemo/RISC-V_RV32_SiFive_HiFive1-RevB_IARに順ずるようにしたこと以外にも、以下のことを追加しました。(でも、今回気付いたのですが、EWRXではRXマイコンのデバッグコンソール機能が使えませんね。IARコンパイラでビルドされたプログラムファイルはELF/DWARF形式のようで、e2 studio/GDBで読み込めてデバッグも出来てDebug Virtual Console機能も使えたので勢いでGNURX/CC-RX/ICCRXどれも同じ動作/構成にしましたが、EWRXだけ使っている人には違和感があるかも。)

    (1) The simple blinky demo's 'Blink' messages are sent to not only the UART but also the Debug Console.
    (2) The full demo sends '.' pass messages and/or various fail status messages to the Debug Console.
    (3) The following error messages can be displayed in the Debug Console if it is detected.
    Assertion failed!
    Insufficient heap memory!
    Stack Overflow!
    (4) Optimize stack size setting a little.
    (5) Add dual(or triple) eval board support.
    (6) Add task notification array demo/tests.

    (*) Note that EWRX doesn't have the Debug Console.

  • NoMaYさん

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

    ありがとうございます。こちらでも動作検証し本家にプルリクエスト出します。
    進捗は適宜報告いたします。

    デバッグコンソールの件、ありがとうございます。確かにデバッグコンソール向けの出力は機種(RXマイコン)依存なので、EWRXで使えないのは必然かもしれません。特に問題にはならないと思います。

    プルリクエストを眺めていて、以下のように感じました。引き続き相談させてください。

    ①今回刷新いただいたTB用とEnvision用のサンプルを残して他の古いプロジェクトは消した方がユーザが混乱しないのではないか。
    ②スマートコンフィグレータ出力のsmc_genが同じ内容物で各サンプルフォルダに入っており、Amazon FreeRTOSのディストリビューションのようにsmc_genはプロジェクト外部参照とし共通項で括りたいが良い方法が無さそう
    ③smc_workaroundフォルダ内のコードは本家RX Driver Packageに反映すべきではないか?

    以上です
Reply
  • NoMaYさん

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

    ありがとうございます。こちらでも動作検証し本家にプルリクエスト出します。
    進捗は適宜報告いたします。

    デバッグコンソールの件、ありがとうございます。確かにデバッグコンソール向けの出力は機種(RXマイコン)依存なので、EWRXで使えないのは必然かもしれません。特に問題にはならないと思います。

    プルリクエストを眺めていて、以下のように感じました。引き続き相談させてください。

    ①今回刷新いただいたTB用とEnvision用のサンプルを残して他の古いプロジェクトは消した方がユーザが混乱しないのではないか。
    ②スマートコンフィグレータ出力のsmc_genが同じ内容物で各サンプルフォルダに入っており、Amazon FreeRTOSのディストリビューションのようにsmc_genはプロジェクト外部参照とし共通項で括りたいが良い方法が無さそう
    ③smc_workaroundフォルダ内のコードは本家RX Driver Packageに反映すべきではないか?

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

    そうなんですよね。e2 studioでFreeRTOSプロジェクトを生成出来る今、古いFreeRTOSデモプログラムでRXスマートコンフィグレータ未対応(それ以前のCGオンリ時代)のデモプログラムは混乱の元でしかないかも知れないですよね。また、もっと古いHEW時代のデモプログラムは、その点では意義があるけれども、そのマイコンを今選択するということがお勧め出来ないというか、そんな感じのところでもありますね。

    ただ、FreeRTOSは、サポートするマイコンの種類の多さや、対応するコンパイラや統合開発環境の種類の多さとか、そういう点もアピールポイントにしているようでもありますので、古いデモプログラムを消すことにAWSさんが賛成するか、ちょっと微妙かも知れないような気はします。

    あと、別の視点として、e2 studioでFreeRTOSプロジェクトを生成出来る今、これらのデモプログラムを下敷きにしてプログラムを作っていく人はいないだろうから、混乱する人は出てこないのではないか、、、という考え方も出来そうにも思います、、、(では、デモプログラムの意義は何なのかという話になると、レグレッションテストということになるのかなぁ、という気がしてきています、、、)

    その一方で、個別案件としては、以下のように思います。

    (1) 以下はTB-RX231の(RSK選択時の)デモプログラムと機能的に重複する(むしろ少ない)ので削除する敷居は低いと思います

    Demo/RX200_RX231-RSK_GCC_e2studio_IAR/
    Demo/RX200_RX231-RSK_Renesas_e2studio/

    (2) 以下はまさに混乱を招きそうなCGオンリ時代)のデモプログラムです

    Demo/RX100_RX113-RSK_GCC_e2studio_IAR/
    Demo/RX100_RX113-RSK_Renesas_e2studio/
    Demo/RX600_RX64M_RSK_GCC_e2studio/
    Demo/RX600_RX64M_RSK_Renesas_e2studio/
    Demo/RX700_RX71M_RSK_GCC_e2studio_IAR/
    Demo/RX700_RX71M_RSK_Renesas_e2studio/

    (3) 以下は更に古い(でもHEW時代よりは後)ですがtickless idle modeのデモ内容を何らかの形で残すようにしたいですね

    Demo/RX100-RSK_GCC_e2studio/
    Demo/RX100-RSK_IAR/
    Demo/RX100-RSK_Renesas_e2studio/

    (4) 以下はHEW時代のものですがwebserverのデモ内容はRX65NとかRX72Nとかで残すようにしたいですね(私には知識不足で困難)

    Demo/RX600_RX62N-RDK_GNURX/
    Demo/RX600_RX62N-RDK_IAR/
    Demo/RX600_RX62N-RDK_Renesas/
    Demo/RX600_RX62N-RSK_GNURX/
    Demo/RX600_RX62N-RSK_IAR/
    Demo/RX600_RX62N-RSK_Renesas/
    Demo/RX600_RX63N-RDK_Renesas/

    (5) 以下はHEW時代のものですが、今となっては新規にFreeRTOSを試す人はいないかも、とも思ったりします、、、

    Demo/RX200_RX210-RSK_Renesas/
    Demo/RX600_RX630-RSK_Renesas/

    あと、「③smc_workaroundフォルダ内のコードは本家RX Driver Packageに反映すべきではないか?」は来週からのテーマですね。こちらも、GitHubのルネサスさんのRX Driver Packageのリポジトリに、issueなりpull requestなりといった形式で投稿していってみようかと考えているところです。(かふぇルネの投稿の中に埋もれないようにと。)

  • NoMaYさん

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

    コメントありがとうございます。サンプルの扱いについてはAWSの意見も聞いて判断します。
    (1)~(5)について承知しました。まとめ大変助かります。個人的には全部削除かとは思っています。
    (4)のwebserverについては、RX72N Envision KitでOSレス環境でTCP/IP機能を実現する方法を最新情報で作りました。
    ①: github.com/.../1-Ether-TCP-IP

    WebサーバのFITモジュールもearly prototypeですが用意しました。Webサーバの組み立て方も近いうちに書いてみようと思います。①に②をスマートコンフィグレータで少し足すだけで動作します。
    ②: github.com/.../rx-driver-package

    また、RX72N Envision KitでFreeRTOS環境でTCP/IP機能を実現する方法も最新情報で作りました。
    github.com/.../新規プロジェクト作成方法(FreeRTOS(with-IoT-Libraries))

    こちらはまだAmazonからウェブサーバのモジュールが提供されていないですが、提供されればウェブサーバの組み立て方の情報を同じく書いてみようと思います。また、他の機能(MQTTとかOTAとかS3バケットのやり取りとか、センサデータのAWS上の可視化とか)の情報を適宜足していきたいと考えてます。

    「③smc_workaroundフォルダ内のコードは本家RX Driver Packageに反映すべきではないか?」についても承知しました。引き続き議論させてください。

    以上です