こんにちは。NoMaYです。今首を傾げているのですが、以下のドキュメントによると、e2 studio v7.5.0ではAmazon FreeRTOSプロジェクトに於いてスマートコンフィグレータでRTOS Objectコンポーネントというものが使用出来る/存在するらしいのですが、これは単なるFreeRTOSプロジェクトでは使用出来ない/存在しないものなのでしょうか?(スマートコンフィグレータウィンドウの、コンポーネントタブ上に表示されない&コンポーネント追加ダイアロにも表示されない、ので、そうなのかな、とは思っているのですが、Amazon FreeRTOSプロジェクトとFreeRTOSプロジェクトで、このような部分で違っているのが意外でしたので、、、)e2 studio 7.5.0 Release Notewww.renesas.com/jp/ja/doc/products/tool/doc/016/r20ut4556ee0101-e2studio.pdfPage 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、に設定して試しました。
こんにちは。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
こんにちは。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です。以下の件は、リリース一時停止しないとマズイ、ようなレベルの案件だと思うのです。現状では以下の問題が発生する筈なのです。まだ調査を始めたところで詳細では誤認識があるかも知れませんが。> 「本来は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) たぶん大丈夫だと思います(要確認)。