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

    GitHubのFreeRTOS-KernelのmasterにmergeされたDinh Van NamさんのGNURX向けポートレイヤなのですが、他の方の支援があってmergeされたものの、その方の修正に間違いがあって、RX100ポートレイヤが動作しなくなってしまっていることに気付きました。以下のように、上側コードの赤文字部分が下側コードに無く、当然ながら割り込み関数も割り込みベクタも意図通りに扱われません。

    portable/GCC/RX100/port.c

    Dinh Van Namさんのプルリクエスト:

    #if defined(configTICK_VECTOR)
    void vPortSoftwareInterruptISR( void ) __attribute__((naked, vector( R_BSP_SECNAME_INTVECTTBL, VECT_ICU_SWINT )));
    #else
    void vPortSoftwareInterruptISR( void ) __attribute__((naked));
    #endif

     

    #if defined(configTICK_VECTOR)
    void vPortTickISR( void ) __attribute__((interrupt( R_BSP_SECNAME_INTVECTTBL, _VECT( configTICK_VECTOR ) )));
    #else
    void vPortTickISR( void ) __attribute__((interrupt));
    #endif

    支援して下さった方の修正:

    #if ( configINCLUDE_PLATFORM_H_INSTEAD_OF_IODEFINE_H == 1 )

        R_BSP_PRAGMA_INTERRUPT( vSoftwareInterruptISR, VECT( ICU, SWINT ) )
        R_BSP_ATTRIB_INTERRUPT void vSoftwareInterruptISR( void ) __attribute__( ( naked ) );

    #else /* configINCLUDE_PLATFORM_H_INSTEAD_OF_IODEFINE_H */

        void vSoftwareInterruptISR( void ) __attribute__( ( naked ) );

    #endif /* configINCLUDE_PLATFORM_H_INSTEAD_OF_IODEFINE_H  */

     

    #if ( configINCLUDE_PLATFORM_H_INSTEAD_OF_IODEFINE_H == 1 )

        R_BSP_PRAGMA_INTERRUPT( vTickISR, _VECT( configTICK_VECTOR ) )
        R_BSP_ATTRIB_INTERRUPT void vTickISR( void ); /* Do not add __attribute__( ( interrupt ) ). */

    #else /* configINCLUDE_PLATFORM_H_INSTEAD_OF_IODEFINE_H */

        void vTickISR( void ) __attribute__( ( interrupt ) );

    #endif /* configINCLUDE_PLATFORM_H_INSTEAD_OF_IODEFINE_H */

     

  • NoMaYさん

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

    RX100のポートレイヤの件、Dinh Van Namさんと相談しておきます。
    Amazon FreeRTOSとしての認証対象はRX65Nのみなので、認証には影響なしということで
    他が多少バグっていても「近いうちにもう一回プルリクエストする」ということに
    AWSとの折衝上はしてありますので緊急対応は不要です。

    それから、NoMaYさんにいただいたプルリクエストにあるサンプルコードのレビュー結果は以下の通りです。
    総じて問題なし、IDEに対しては「過去の古いIDEには対応しない」で統一しました。

    e2 studio v5.4の件はシェルティの対応がたいへん遅いので、AWSメンバが調べてくれました。
    申し訳ない気持ちでいっぱいです。精進します。以下テキストはAWSメンバの書いたものに
    シェルティが「OK」と書き込んで返信したものです。
    同様の内容をプルリクエストにもDinh Van Namさんが書き込みます。

    - Renesas Demo project
    - E2 studio update
    - Make_RX600_RX64M_RSK_Renesas_e2studio_project_better
    github.com/.../231  Verified, can be merged
    Renesas: OK.
    - Upgrade_GCC_project_for_e2v780_in_RX200_RX231-RSK_GCC_e2studio_IAR
    github.com/.../255  Verified, but need to confirm the compatibility issue with Renesas (will not be unable to build using e2 studio v5.4 or earlier after merge)
    Renesas: OK. Renesas would like user to move to latest version of e2 studio.
    - Upgrade_GCC_project_for_e2v780_in_RX700_RX71M_RSK_GCC_e2studio_IAR
    github.com/.../257  Verified, but need to confirm the compatibility issue with Renesas (will not be unable to build using e2 studio v5.4 or earlier after merge)
    Renesas: OK. Renesas would like user to move to latest version of e2 studio.
    - Upgrade_GCC_project_for_e2v780_in_RX100_RX113-RSK_GCC_e2studio_IAR
    github.com/.../258  Verified, but need to confirm the compatibility issue with Renesas (will not be unable to build using e2 studio v5.4 or earlier after merge)
    Renesas: OK. Renesas would like user to move to latest version of e2 studio.
    - Build: Upgrade GCC project files for e2 studio v7.8.0 in Demo/RX600_RX64M_RSK_GCC_e2studio folder
    github.com/.../263  Verified, but need to confirm the compatibility issue with Renesas (will not be unable to build using e2 studio v5.4 or earlier after merge)
    Renesas: OK. Renesas would like user to move to latest version of e2 studio.

    - Build Error Fix
    - Fix_RX100-RSK_Renesas_e2studio_build_error
    github.com/.../228  Verified, can be merged
    Renesas: OK.
    - Fix_RX200_RX231_RSK_GCC_e2studio_IAR_IAR_build_error
    github.com/.../239  Verified, can be merged
    Renesas: OK.
    - Fix_RX600_RX64M_RSK_GCC_e2studio_build_error
    github.com/.../245  Verified, can be merged
    Renesas: OK.
    - Resolve stdio and stream_buffer link errors in RX64M demo (#42) #43
    github.com/.../43  Can be Closed (if PR#245 get merged)
    Renesas: OK.

    以上です
  • NoMaYさん

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

    ターゲットボード向けのサンプルですが以下のように意思表示しました。
    こちらはAWSの見解待ちです。(Ishiguro = シェルティです)

    Additional comment (very low priority):
    Ishiguro would like add samples for some of Target Boards for RX MCUs (RX65N, RX231, RX130).
    www.renesas.com/.../rx-family-target-board.html

    I think current samples corresponding to RSK (Renesas Starter Kit) series but these boards are quite expensive like 500US$ over. (But have complete capability for whole of RX MCUs application evaluation)
    I think further samples corresponding to TB (Target Boards) series that these boards are quite low price like about 15US$ and Emulator circuit on boards. (But have need adding circuits for each RX MCUs application evaluation)

    So I would like to add TB boards samples on FreeRTOS sample repo. What do you think?


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

    ビルド関係のプルリクエストですが、1つ足りていなかったです。以下がリストから漏れています。

    Upgrade GCC project files for e2 studio v7.8.0 in Demo/RX100-RSK_GCC_e2studio folder
    github.com/FreeRTOS/FreeRTOS/pull/264

    それで、私のプルリクエストなのですが、これで終わりではなくて、もうちょっと続くと思います。(既に出してある分のみならず、この後も新規のプルリクエストを出すつもりです。)

    最近GitHubに慣れてきて思ったのですが、かふぇルネのスレッドにそのリストを返信しても埋もれてしまって探し難いと思いますので、GitHubのルネサスさんのリポジトリにissueのページを追加して頂いて、そちらに投稿するようにしたいのですが、どうでしょうか?

    また、今現在、GitHubのルネサスさんのリポジトリには、FreeRTOS-KernelのForkはあるのですが、FreeRTOSのForkがありません。新規に出したいプルリクエストにFreeRTOSのリポジトリのものもあるのですが、FreeRTOSの方もForkして頂ければ、その分はそのFreeRTOSのForkの方のissueに投稿するようにしたいと思います。どうでしょうか?

    それでも、プルリクエストのような今あるソースコードに密着した細かい話では無いもの(あるいは細かい話になる前の段階のもの)に関しては、このまま、かふぇルネに投稿しようかと思うのです。

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

    ビルド関係のプルリクエストですが、1つ足りていなかったです。以下がリストから漏れています。

    Upgrade GCC project files for e2 studio v7.8.0 in Demo/RX100-RSK_GCC_e2studio folder
    github.com/FreeRTOS/FreeRTOS/pull/264

    それで、私のプルリクエストなのですが、これで終わりではなくて、もうちょっと続くと思います。(既に出してある分のみならず、この後も新規のプルリクエストを出すつもりです。)

    最近GitHubに慣れてきて思ったのですが、かふぇルネのスレッドにそのリストを返信しても埋もれてしまって探し難いと思いますので、GitHubのルネサスさんのリポジトリにissueのページを追加して頂いて、そちらに投稿するようにしたいのですが、どうでしょうか?

    また、今現在、GitHubのルネサスさんのリポジトリには、FreeRTOS-KernelのForkはあるのですが、FreeRTOSのForkがありません。新規に出したいプルリクエストにFreeRTOSのリポジトリのものもあるのですが、FreeRTOSの方もForkして頂ければ、その分はそのFreeRTOSのForkの方のissueに投稿するようにしたいと思います。どうでしょうか?

    それでも、プルリクエストのような今あるソースコードに密着した細かい話では無いもの(あるいは細かい話になる前の段階のもの)に関しては、このまま、かふぇルネに投稿しようかと思うのです。

Children
No Data