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です。

    GNURXのFreeRTOSプロジェクトが作成出来るようになりました、、、(ちなみに、コード生成コンポーネントは使えませんでした、、、) なお、FreeRTOS kernelのバージョンはv10.0.3[訂正]v10.0.0でした。(現時点の最新版はv10.3.1です。もちろん、最新版が良いとは限りませんけれど。)

    画面コピー


    [関連リンク]

    e2 studio v7.5.0でFreeRTOS+SCFGプロジェクトを生成させるとコード生成コンポーネントが使えなくなる
    japan.renesasrulz.com/cafe_rene/f/forum21/5939/e2-studio-v7-5-0-freertos-scfg
     

Reply
  • こんにちは。NoMaYです。

    GNURXのFreeRTOSプロジェクトが作成出来るようになりました、、、(ちなみに、コード生成コンポーネントは使えませんでした、、、) なお、FreeRTOS kernelのバージョンはv10.0.3[訂正]v10.0.0でした。(現時点の最新版はv10.3.1です。もちろん、最新版が良いとは限りませんけれど。)

    画面コピー


    [関連リンク]

    e2 studio v7.5.0でFreeRTOS+SCFGプロジェクトを生成させるとコード生成コンポーネントが使えなくなる
    japan.renesasrulz.com/cafe_rene/f/forum21/5939/e2-studio-v7-5-0-freertos-scfg
     

Children
  • こんにちは。NoMaYです。

    > なお、FreeRTOS kernelのバージョンはv10.0.3でした。

    以下のFreeRTOS kernelのGitHubのreleaseページ(画面コピー参照)にv10.0.3が無かったので、調べてみたところ、パッケージングされていたFreeRTOS kernelのソースのベースはv10.0.0だったことに気付きました。結局、FreeRTOS kernel側が X.Y.Z でバージョン管理している Z の部分をRenesasさん側でも独自に変更している、ということです。さすがに、ちょっと紛らわしい気がします、、、X.Y.Z.rとか、X.Y.Z_RX_YYYYMMDDとか、はやり X.Y.Z はベースにしたFreeRTOS kernelのソースのバージョンと一致している方が素朴で分かり易い気がします、、、

    あと、調査を始めたところですが、RXv2コアのRX231でRXv1コア用のRX200ポートレイヤを使うのは間違いな気がします。また、RXv3コアの品種でRXv2コア用のRX600v2ポートレイヤを使うのも間違いな気がします。タスク切り替え時にFPSWや倍精度浮動小数点レジスタが退避/復帰されないような気がします、、、

    github.com/FreeRTOS/FreeRTOS-Kernel/releases
    画面コピー

     

  • NoMaYさん

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

    バージョン表記の件、確かにおかしいですね。開発者に確認します。
    FreeRTOSのポートレイヤがおかしい件については、近々AWS本家にプルリクエストを発行してみようと考えてます。

    RX65N用のAmazon FreeRTOSのOTA機能が完成したのでつい先ほどAWS本家にプルリクエストを発行しました。
    github.com/.../2036

    このあたり片付いたら次はスマートコンフィグレータ/Amazon FreeRTOS連携でイマイチになっているところを直したり、
    FreeRTOSカーネルのポートレイヤがおかしい件(特にRXGCC用のコードが気になってます)を直したりしたいと考えてます。

    なかなか一度に綺麗にならずすみません。少しずつ進めております。

    以上です
  • NoMaYさん

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

    開発者に確認しました。バージョン表記がおかしい件認識しておりまして、
    「次回以降のリリース時の改善の課題とし修正目指す」とのことでした。

    ポートレイヤについては以下コメントでした。

    「本来はRXv3用のポートレイヤ、RX200 v2コア用のポートレイヤを用意すべきと思っております。
     こちらについても、今後改善を図っていきたいと思っております。」

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

    以下の件は、リリース一時停止しないとマズイ、ようなレベルの案件だと思うのです。現状では以下の問題が発生する筈なのです。まだ調査を始めたところで詳細では誤認識があるかも知れませんが。

    > 「本来はRXv3用のポートレイヤ、RX200 v2コア用のポートレイヤを用意すべきと思っております。
    >  こちらについても、今後改善を図っていきたいと思っております。」

    なお、hirakuni45さんが指摘されたRXポートレイヤの件は、FreeRTOS.orgに投稿したところ修正しますとのリプライでした。(この種類のフィードバックは最初からGitHubのFreeRTOS kernelのリポジトリを使うのがやっぱり望ましかったかなと反省するようなリプライでもありました。)

    FreeRTOS RXパッケージ v10.0.03での問題点と対処案

    ● RX230/RX231/RX23W

    (A-1) 単精度浮動小数点演算命令を使用してはいけません。タスク切り替え時にFPSWの退避/復帰を行っていない為、タスク間でFPSWの値がぐちゃぐちゃに入り乱れることになる為です。

    (A-2) DSP機能命令を使用してはいけません。タスク切り替え時にアキュムレータの退避/復帰を行っていない為、タスク間でアキュムレータの値がぐちゃぐちゃに入り乱れることになる為です。

    (A-Fix) RX600v2ポートレイヤを使うように修正する。実は、FreeRTOS kernelのFreeRTOS DemoプロジェクトでもRX231に関してはRX600v2ポートレイヤを使っているのです。なお、単精度浮動小数点演算命令やDSP機能命令を使用していなければ、そのまま使い続けられると思います(要確認)。

    ● RX72M/RX72N/RX66N

    (B-1) 倍精度浮動小数点演算命令を使用してはいけません。タスク切り替え時に倍精度浮動小数点レジスタの退避/復帰を行っていない為、タスク間で倍精度浮動小数点レジスタの値がぐちゃぐちゃに入り乱れることになる為です。

    (B-2) レジスタ一括退避機能(レジスタバンク機能)でも何かしら使用方法に制約が発生するかも知れません、、、(こちらは許容範囲内となる可能性も高そうかなと漠然とですが思います、、、)

    (B-3) 他には?

    (B-Fix) 最終的にはRTEL社にRXv3ポートレイヤを作って頂く。(あるいは、ルネサスさん、もしくはオープンソースライセンスなので有志の方々、というのも。) なお、倍精度浮動小数点演算命令やレジスタ一括退避機能(レジスタバンク機能)を使用していなければ、そのまま使い続けられると思います(要確認)。

    ● RX72T

    (C-1) レジスタ一括退避機能(レジスタバンク機能)では何かしら使用方法に制約が発生するかも知れません、、、(こちらは許容範囲内となる可能性も高そうかなと漠然とですが思います、、、)

    (C-2) 他には?

    (C-Fix) 最終的にはRTEL社にRXv3ポートレイヤを作って頂く。(あるいは、ルネサスさん、もしくはオープンソースライセンスなので有志の方々、というのも。) なお、レジスタ一括退避機能(レジスタバンク機能)を使用していなければ、そのまま使い続けられると思います(要確認)。

    ● RX66T

    (D) たぶん大丈夫だと思います(要確認)。

  • NoMaYさん

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

    FreeRTOS.orgへの投稿、ありがとうございます。hirakuni45さんの活動にも感謝であります。
    また「FreeRTOS RXパッケージ v10.0.03での問題点と対処案」についてデバイス毎の影響範囲情報まとめ、
    こちらも大変ありがたいものです。早急に対応を進めます。

    以上です