こんにちは。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.org(RTEL社)にRXv3 DPFPU対応ポートレイヤの予定があるかどうかを尋ねてみる、というのがまず第一かな、という気がしてきましたので、尋ねてみます。
こんにちは。NoMaYです。FreeRTOS.org(RTEL社)にRXv3 DPFPU対応ポートレイヤの予定があるか尋ねたところ、以下の返事でした。対応することはやぶさかではない。まずハードウェアを入手しないといけない。急いでいる人がいれば作ってプルリクエストすると良い。といった感じですかね。私はRX72N Envision Kitを入手したので、これで試しに作業を進め、うまくいけばプルリクエストまで出してみようかなと思います。Q)Is there any plan of such RXv3 port layer? If so, is there any rough schedule? Because...以後省略A)Yes it would be good to have upstream support for this. I would have to get the hardware first. We also accept pull requests https://github.com/FreeRTOS/FreeRTOS-Kernel if somebody needed this sooner - we would still need to get hardware but the task would be faster as we would just need to verify the testing.
こんにちは。NoMaYです。> RX72N Envision Kitを入手したので、これで試しに作業を進め、うまくいけばプルリクエストまで出してみようかなときっと、ポートレイヤだけでプルリクエストを出す訳にはいかなくて、RTOSDemoプログラムまで作らないといけないと思いますので、以下のようなRTOSDemoプログラムを作る作業を一緒に進めようと思います。・RX71M RSK+用のRTOSDemoプログラムをベースに、倍精度浮動小数点演算に関するデモ(というかテスト)項目を追加する・現状、FreeRTOSプロジェクトではCGコンポーネントが使えないのでFIT R_SCI_RXモジュールを使うように書き換える・r_rx_compiler.hのマクロを使い、同じソース記述で以下の3種類のコンパイラに対応させるように書き換える・開発環境は以下の4パタンに対応する(e2 studioに関してはFreeRTOSプロジェクト、他はFreeRTOSプロジェクトもどき) CC-RX/e2 studio GNURX/e2 studio CC-RX/CS+ ICCRX/EWRX・3種類のコンパイラは最新版を使用する、3種類の統合開発環境も最新版を使用する・RX Driver Packageは最新版を使用する、単体RXスマートコンフィグレータも最新版を使用する・CC-RX/GNURXのコンパイルオプション等は私が投稿時に用いているものに設定する(ICCRXに関しては今後調査する)・HOCOを使うようにして、RX72N RSK+とRX72N Envision Kitで外部発振周波数が異なる件を吸収する
シェルティさん、こんにちは。NoMaYです。FreeRTOSのRenesas RXのポートレイヤのIAR版を見ていて気付いたのですが、IAR版はコンフィグレーションファイルがFreeRTOSConfig.hの他に(ポートレイヤのアセンブラソースの為)もう1つPriorityDefinitions.hがありますね。将来のRXスマートコンフィグレータでのIAR版のサポート(があると思っています)が、ちょっと面倒そうですね。(RXスマートコンフィグレータはIAR版に対して2つコンフィグレーションファイルを扱わなければならなくなるから。)何か対策を考えておられますか?もし、私の方でPriorityDefinitions.hを不要にするように改造したら、(うまくいくかどうかは今後の作業の結果次第として、) そちらで困った問題が発生するようなことはありますか?(あと、FreeRTOS.orgの方で受け入れられるかという点もありますが。)●CC-RX版のポートレイヤと関連ファイルport.cport_asm.srcportmacro.hFreeRTOSConfig.h●GNURX版のポートレイヤと関連ファイルport.cportmacro.hFreeRTOSConfig.h●IAR版のポートレイヤと関連ファイルport.cport_asm.sportmacro.hFreeRTOSConfig.hPriorityDefinitions.hなお、PriorityDefinitions.hは以下の通りでした。(定型のCopyrightの部分は省略しました。)
#ifndef PRIORITY_DEFINITIONS_H#define PRIORITY_DEFINITIONS_H#ifndef __IASMRX__ #error This file is only intended to be included from the FreeRTOS IAR port layer assembly file.#endif/* The interrupt priority used by the kernel itself for the tick interrupt andthe pended interrupt. This would normally be the lowest priority. */#define configKERNEL_INTERRUPT_PRIORITY 1/* The maximum interrupt priority from which FreeRTOS API calls can be made.Interrupts that use a priority above this will not be effected by anything thekernel is doing. */#define configMAX_SYSCALL_INTERRUPT_PRIORITY 4#endif /* PRIORITY_DEFINITIONS_H */
シェルティさん、こんにちは。NoMaYです。> 私の方でPriorityDefinitions.hを不要にするように改造したら、(うまくいくかどうかは今後の作業の結果次第として、)これは出来ました。ついでに、以下の画面コピーのように、e2 studioでもIAR C/C++コンパイラFreeRTOSプロジェクトもどきを作ってみました。ちょっと惜しかったのは、e2 studio上ではIAR C/C++コンパイラ向けscfgファイルを開こうとするとエラーになってしまうことです。現状、仕方ないですね。なお、EWRXでのIAR C/C++コンパイラFreeRTOSプロジェクトもどきも作っています。EWRX版に加えe2 studio版もRTOSDemoプログラムのプルリクエストに含めようと考え始めました。e2 studioでもIAR C/C++コンパイラFreeRTOSプロジェクトもどきを作ってみたe2 studio上ではIAR C/C++コンパイラ向けのscfgファイルを開こうとするとエラーになるので単体RXスマートコンフィグレータで開く必要があるEWRXでのIAR C/C++コンパイラFreeRTOSプロジェクトもどきも作ってあります注) FreeRTOSの各タスクのスタック設定に基づいてC-SPYにスタックチェックさせるやり方はまだ習得出来ていません、、、
こんにちは。NoMaYです。あと、RXv3コア+倍精度浮動小数点演算ユニット対応ポートレイヤを作り始めてみて調べていて気付いたのですが、他に、RX13TがRXv1コア+単精度浮動小数点演算ユニットという構成になっていて、RX62NやRX63Nなどと同じ構成ですので、注意が必要そうだと思いました。RX13TにはRX600ポートレイヤが使えるだろうとは思いますが、、、(ただ、モータ制御向けの低価格マイコンかと思いますので、RTOSを使う人がいるかなと考えると、ちょっといないかもと思いますけど、、、)RX13T 製品ページwww.renesas.com/jp/ja/products/microcontrollers-microprocessors/rx/rx100/rx13t.htmlRX13T ユーザーズマニュアル ハードウェア編www.renesas.com/jp/ja/search/keyword-search.html#genre=document&q=r01uh0822
こんにちは。NoMaYです。作ったRTOSDemoプログラムは海外のe2 studioに詳しくない方々に渡すことになるのですが、その方々がスマートコンフィグレータを使おうとしなければ問題無いのですが、もし使おうとしてscfgファイルをクリックしたら以下の画面コピーのような状態になってしまって、どう対処したら良いかを説明するのは厄介そうな気がしてきました、、、彼らのこの後の手順としては、どうするのが彼らにとって一番楽なやり方になりますでしょうかね?、、、#今月リリースされる予定らしいe2 studioの次版は、もう64bit版しか提供されないようなので、自分も64bit版をインストールしてみたのですが、(32bit版の設定を弄っていたせいもあるのかも知れませんが)しばし試行錯誤する羽目になってしまって、どうするのが良かったのかと思う今日この頃なのでもありました、、、
シェルティさん、こんにちは。NoMaYです。FreeRTOS v10.3.1のRXマイコンのRTOSDemoプロジェクトがどれだけビルド可能な状態なのか調べてみたら、結構、惨憺たる状態でした、、、また、ビルド可能にするプルリクエストが出ていても、随分と長いこと放置されていたりもしました、、、ふと思ったのですが、ルネサスさんの方でFreeRTOS-kernelのForkだけでなくて、FreeRTOSのForkも作って頂いて、もし私がルネサスさんとAWSの両方にプルリクエストを出したりなんかしたら、後々、リポジトリの管理で面倒なことになったりしそうなものでしょうか?(その一方で、天秤に掛けるような行為は控えた方が良いかなぁ、と思ったりもしていますが、、、)FreeRTOS v10.3.1のRXマイコンのRTOSDemoプロジェクトのビルド可否
IDEs:e2 studio v7.8.0EWRX V4.14.1Compilers:CC-RX V3.02.00GNURX 2020 q2 (8.3.0.202002)ICCRX V4.14.1.5408 (included in EWRX V4.14.1)Result: e2 studio e2 studio EWRX CC-RX GNURX ICCRX RX100_RX113-RSK_GCC_e2studio_IAR - Fail Pass RX100_RX113-RSK_Renesas_e2studio Fail - - RX100-RSK_GCC_e2studio - Fail - RX100-RSK_IAR - - Pass RX100-RSK_Renesas_e2studio Fail(*) - - RX200_RX210-RSK_Renesas N/A(HEW) - - RX200_RX231-RSK_GCC_e2studio_IAR - Fail Fail RX200_RX231-RSK_Renesas_e2studio Pass - - RX600_RX62N-RDK_GNURX - N/A(HEW) - RX600_RX62N-RDK_IAR - - Pass RX600_RX62N-RDK_Renesas N/A(HEW) - - RX600_RX62N-RSK_GNURX - N/A(HEW) - RX600_RX62N-RSK_IAR - - Pass RX600_RX62N-RSK_Renesas N/A(HEW) - - RX600_RX63N-RDK_Renesas N/A(HEW) - - RX600_RX630-RSK_Renesas N/A(HEW) - - RX600_RX64M_RSK_GCC_e2studio - Fail - RX600_RX64M_RSK_Renesas_e2studio Fail - - RX700_RX71M_RSK_GCC_e2studio_IAR - Fail Pass RX700_RX71M_RSK_Renesas_e2studio Pass - - Note:'Pass' : The project can be built. (Note that only build check is passed.)'Fail' : The project cannot be built. (i.e. compiler error(s) or linker error(s) are caused.)'Fail(*)' : The project file cannot be migrated to the latest project file format. (i.e. I cannot start build.)'N/A(HEW)' : The project is for HEW (another IDE) which is no longer as important as it was.'-' : The project is not for the compiler.All projects of Pass/Fail needed to be migrated to the latest project file format.Additionally, when using e2 studio, toolchain type and toolchain version needed to be re-selected.