こんにちは。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です。FreeRTOS v10.3.1の次はv10.3.2ではなくてv10.4.0でした。FreeRTOS.orgとGitHubリポジトリ上でリリースされました。(どうもAmazon FreeRTOSの方は今ではFreeRTOS IoT Libraryという呼び方をされるっぽいです。)Download FreeRTOSwww.freertos.org/a00104.htmlFreeRTOSv10.4.0github.com/FreeRTOS/FreeRTOS/releases/tag/V10.4.0V10.4.0-kernel-onlygithub.com/FreeRTOS/FreeRTOS-Kernel/releases/tag/V10.4.0-kernel-only
シェルティさん、こんにちは。NoMaYです。> NoMaYさんのプルリクエストについてAWSから私に連絡がきて、> ルネサス側でも内容確認してその結果を以ってマージする、という方向で進んでます。どうもありがとうございます。ところで、ルネサスさん側で内容確認する時ですが、ビルド関係のプルリクエストに関して、評価ボードで動かしてみることまでされますか?もしされるのならば、コンパイラのバージョンを上げることまでプルリクエストに含めたい&コンパイラのバージョンを上げる為のプルリクエストを出したい、とも思うのです。現在、GNURXでは、以下のようにして自分のミスが減るよう配慮しました。(配慮したつもりです。)GNURX・ 今e2 studio v7.8.0でビルド出来なくなっているのはv5.4→v6.0の時にプロジェクト継承性は保証しないとされたことが原因でした・ 私の手元にはFreeRTOSのRTOSDemoプログラムの対象の評価ボードが無くビルド確認は出来ますが残念ながら実機確認が出来ません・ そこで、プロジェクトをアップグレードする前後でビルドされたMOTファイルが同じであることを担保とすることにしました・ ただ、GNURXのバージョンを上げるとMOTが変化してしまいますのでv12.03とかv14.01とか15.01とか5~8年前のままとしました・ なお、自分でプロジェクト設定を変更して、コンパイラを最新のv8.3.0-202002へ切り替えてもビルド出来ます・ とはいえ、ベースのGCCも当時のv4.8.0から現在はv8.3.0に変化するなど随分変化していて、自分でバージョン変更するのもちょっと不便だと思いますので、出来れば最初からe2 studio v7.8.0+GNURX v8.3.0-202002でビルド出来るようにしておきたいです・ ただ、GNURXのバージョンに関しては、次版が出た時にまた同じ話になって際限が無いですが、古いv12.03とかのままは良くない気がします・ あっ、そういえば、デフォルトのライブラリもoptlib(いずれ廃止される筈)からnewlibへ変化してますね、、、ここも変えておきたいですが、いろいろやろうとするとミスをしそうですね、、、まだ廃止されていないので保留しておくのが良いかも、、、(以下で気付いたのですが、後数年はe2 studio v7.8.0が容易にダウンロード可能な状態が維持されるだろうから、それが良さそうかも、、、)・ あっ、あっ、そういえばe2 studio v7.8.0インストール時にインストールされるGNURXはv8.3.0-202002では無いっぽいですね。(つい最近、かふぇルネにe2 studio v2020-04 or 07でトラブルが投稿されていましたね、、、) どうするのが良いのだろう、、、うむむむ、、、v7.8.0は32bit版最終ということで後数年は容易にダウンロード可能な状態が維持されるだろうから、それに合わせた少し前のGNURXが良さそう、、、(後でe2 studio v7.8.0をインストールし直して、GNURXのバージョンは確認しておこうと思います)また、CC-RXとICCRXでは、以下のような状況です。CC-RX・ 今e2 studio v7.8.0でビルド出来なくなっているのは調べた結果そもそもFreeRTOS.org側とAWS側の手違いが原因でした・ そもそも(旧バージョンのe2 studioでも旧バージョンのCC-RXでも)ビルド出来ないのでMOTファイルの比較もやりようがありません・ 他方、ソースの僅かな変更やプロジェクトファイルの微調整でビルド出来るようにはなります・ また、e2 studio v5.4→v6.0の時にプロジェクト継承性は保証されたのでプロジェクトをアップグレードすればv7.8.0でビルド出来ます・ また、CC-RXを最新のV3.0.2にしてもビルド出来ます・ なお、上記2点はビルドエラーにならなかったプロジェクトでも同様にe2 studio v7.8.0+CC-RX V3.02でもビルド出来ます・ といった経緯で今のところ昔のプロジェクトフォーマット&昔のCC-RXのままとしました・ とはいえ、初心者には、プロジェクトアップグレードの必要性に気付かないとか、コンパイラバージョン違いによる謎のエラーに対処出来ないとか、ちょっと不便だと思いますので、出来れば最初からe2 studio v7.8.0+CC-RX V3.02でビルド出来るようにしておきたいです・ ただ、CC-RXのバージョンに関しては、V3.03とか出た時にまた同じ話になって際限が無いですが、古いV1.2.1とかのままは良くない気がしますICCRX・ 今RX231のプロジェクトが最新のEWRXでビルド出来なくなっているのは、昔のEWRXでRX231未サポートだったのか不具合があったのか、自前でリンカスクリプトや割り込みベクタテーブルや例外ベクタテーブルを持たせていたことが原因でした・ それらを削除(それに合わせてプロジェクトを微調整)したところ、あっさりビルド出来るようになりました・ さすがにその状況で全く実機確認無しはまずい気がしたのと、幸い少しソースを修正してTB-RX231で動作確認出来たので、TB-RX231で確認してあります・ なお、EWRXでは古いプロジェクトを読み込むとダイアログがポップアップして強制的に新しいプロジェクトに変更されます・ また、IDEとコンパイラは同一パッケージになっていて、コンパイラ単体パッケージが無く、双方一体で運用するようなものみたいに思えます・ ただ、FreeRTOS.orgの人もAWSの人も最近のEWRXで動作確認されたことは無いと思われますので、もし実機確認されるのであれば、この際、新しいプロジェクトに変更された後のプロジェクトをプルリクエストで投稿しておいてはどうだろうか、と思うのですその一方で、以下の方向で進んでいる現状、どこまでFreeRTOS公式パッケージに手間を掛けるのが良いのか、悩ましいとも思うのです、、、> 全般的にスマートコンフィグレータでポチポチっとやればシステムが組めるよう整備を進めていく方向です。> ボード関連のコンフィグがまだ半熟です。Board Description Fileで制御する仕組みです。> この辺できてこれば、RXマイコンボードすべてでソフトウェアの移植がスマートコンフィグレータ上で容易に実現できます。
シェルティさん、こんにちは。NoMaYです。ちょっと2つ話が入り混じっているような気がします、、、あと、TB-RX65N、TB-RX231、TB-RX130のプルリクエスト用FreeRTOSデモプログラム作成の件、私やりたいです~~~その1 ⇒ 以下は私の既に出してあるプルリクエストのこと> ありがとうございます。こちらでレビューする際に参考にさせていただきます。その2 ⇒ 以下の全体は今後ルネサスさんが出すプルリクエストのことですけれども、1行目は私の既に出してあるプルリクエストのこと?それとも今後ルネサスさんが出すプルリクエストのこと?(返事は急がないです。金曜夜とかでも。どのみち、気長に構えていますので、、、)> ちなみにプルリクエストするサンプルは全部実機動作確認するつもりです。> ゆくゆくはIARやGCCのサンプルも全部登録していきたいところです。> ただ今回登録するサンプルとしては、たとえばCC-RXでRX65N、RX231、RX130のみ、> などのようにRXマイコンの代表選手のみに絞るかもしれません。あと、以下の部分ですけれど、実は、RXv3ポートレイヤだけ先にFreeRTOS-Kernelのmasterにマージされて、それを使うRTOSDemoプログラムがFreeRTOSのmasterにマージされていなかったりしているのですが、このRTOSDemoプログラムでCC-RXもGCCもIARも等価に扱えますので、先延ばししなくてもやれますよ。更に、私の手元で、RX72N Envision KitとRX72N RSKを#define(or コンパイラオプションのマクロ定義)一発で切り替えるソースも用意してありますので、それもRX65N、RX231、RX130へ適用したい(TBとRSKを切り替えられるようにしたい)ところです。(ただ、RX72N RSKの実機では未確認です。)> ゆくゆくはIARやGCCのサンプルも全部登録していきたいところです。> ただ今回登録するサンプルとしては、たとえばCC-RXでRX65N、RX231、RX130のみ、> などのようにRXマイコンの代表選手のみに絞るかもしれません。以下、RX72N Envition KitのプルリクエストのURLとビルド手順等の解説のWikiのURLです。Add Renesas RX72N Envision Kit RTOS Demo using Renesas RXv3 port layer #167github.com/FreeRTOS/FreeRTOS/pull/167RX72N Envision Kit RTOS Demo Programsgithub.com/NoMaY-jp/FreeRTOS/wiki/RX72N-Envision-Kit-RTOS-Demo-Programs#rx72n-envision-kit-rtos-demo-programsなお、RX72N Envision KitとRX72N RSKを#define(or コンパイラオプションのマクロ定義)一発で切り替えるソースは、1~2日中に私のリポジトリのソースに追加します(というか復活させます)。(プルリクエストのやり方が分からなくて困惑していた時にプルリクエストに余分な要素だと思い一時的に消してそのままになっているのです。)
ちなみに、品種依存しているソースは、その消してある部分を含む以下のソースとBSPモジュールとポートレイヤだけです。(その筈です。) また、コンパイラ依存の差分が出るソースは、RXスマートコンフィグレータが生成したソースの一部とポートレイヤだけです。(その筈です。) あと、ボード依存の記述は以下のソースのみです。(その筈です。最終的には、TB-RX65N、TB-RX231、TB-RX130に実際に移植してみてからでないと、結果的なことは言えませんけれど。)FreeRTOS/Demo/RX700_RX72N_EnvisionKit_Renesas_e2studio_CS+/src/FreeRTOS_Demo/demo_specific_io.hgithub.com/NoMaY-jp/FreeRTOS/blob/a4a2b21a52/FreeRTOS/Demo/RX700_RX72N_EnvisionKit_Renesas_e2studio_CS%2B/src/FreeRTOS_Demo/demo_specific_io.h[追伸]以下、面白そうですね。TB(or RSK)を使ったFreeRTOS Renesas RX RTOSDemoプログラムのCI/CDに関して何かアイデアが浮かんで来そうです、、、(浮かんで来たアイデアは、ぼちぼちと、かふぇルネに投稿してみようかと、、、)> Nightly Buildといって夜な夜な全自動で「ビルド⇒フラッシュ書換⇒テスト実行⇒結果集計」を> FSPに収録されている全ソフトに対して行っています。[追伸その2]RX72N Envision Kit(and RX72N RSK)のFreeRTOS RTOSDemoプログラムも、いつものように、かふぇルネに投稿しようかと思います、、、