Amazon FreeRTOSだそうです。ルネサスさんのRXは参加しないのかな?

こんにちは。NoMaYです。

ライセンスはMIT Licenseでした。TLSとしてmbed TLSが使用されていました。サポートされているボードの写真を見ていたら、どれにも有線LANコネクタが無いことに気付きました。時代の流れでしょうか、、、

Getting Started with Amazon FreeRTOS
aws.amazon.com/freertos/getting-started/

Amazon FreeRTOS
aws.amazon.com/freertos/

Amazon FreeRTOS ソースコード
github.com/aws/amazon-freertos

[関連リンク]

FreeRTOS - freertos.org
www.freertos.org/

FreeRTOS - sourceforge.net
sourceforge.net/projects/freertos/files/

FreeRTOS kernel自体はCC-RXにも対応
github.com/aws/amazon-freertos/tree/master/lib/FreeRTOS/portable/Renesas

Amazon FreeRTOSはTLSにmbed TLSを使用
github.com/aws/amazon-freertos/tree/master/lib/third_party/mbedtls

[ニュース]

組み込み業界に大インパクト「Amazon FreeRTOS」の衝撃 - 大原雄介,MONOist
monoist.atmarkit.co.jp/mn/articles/1712/28/news011.html

アマゾン「AWS IoT」は何が衝撃的なのか - 大原雄介,MONOist
monoist.atmarkit.co.jp/mn/articles/1510/21/news026.html

(2018/01/01 : 記事を選び直しました。)

[追記]

もしかしたら、オープンソースライセンスのドライバライブラリが用意されていないから、ルネサスさんはアマゾンさんに相手にして貰えないのかも、、、

ちなみに、FreeRTOS kernel自体のライセンスがV10からModified GPLからMIT Licenseに変わったようです。

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

    以前に、Amazon FreeRTOSのDemoプロジェクトがEclipseの仮想フォルダやリンクされたフォルダという機能を使ったプロジェクトのようでしたので、それがどんな感じのものであるか分かるようにe2 studio (v6.1.0)のプロジェクトを無理矢理作ってみました。ですが、感じは分かったものの、全くコンパイル出来ませんでした。そこでプロジェクト設定を詰めてみたところ、それなりにCC-RXでコンパイルが進むようになりましたので、以下のzipファイルに固めてみました。(どのように詰めたのかを後ほど投稿します。またCS+のプロジェクト設定も同様に詰めて後日投稿しようとは思っています。)

    aws_demos_renesas_rx_mcu_experiment_20171218.zip



    なお、まだコンパイル出来ないソースはありますし、そもそもMCU依存部やボード依存部を作らないとリンク出来ません。更に、e2 studioでは毎度お馴染みのトラブルですが、メイク機能が誤動作して毎回全ビルドになってしまいます。かふぇルネへの過去の投稿を読み直してみようと思っています。

    添付したzipファイルでは、Amazon FreeRTOS 1.0.0のフォルダに統合しやすいように、以下のフォルダ構成にしてみました。



    他から持って来たソースは以下の通りです。なお、STM32L4 Discovery Kit IoT NodeのSTMicroelectronics社のソースには、STMicroelectronics社のMCUやMPUでしか使ってはいけません、という条項が付いていましたので、それらのものを持って来るのは避けるようにしました。

    demos\renesas\rx231-rsk\common\config_files\*.* ← amazon-freertos-1.0.0\demos\st\stm32l475_discovery\common\config_files\*.*
    (持って来たのはSTM32L4 Discovery Kit IoT NodeですがCopyright (C) 2017 Amazon.com, Inc.のものです。)
    demos\renesas\rx231-rsk\common\config_files\FreeRTOSConfig.h ← FreeRTOSv10.0.0\FreeRTOS\Demo\RX200_RX231-RSK_Renesas_e2studio\src\FreeRTOSConfig.h
    (FreeRTOSConfig.hでは、足りない定義をSTM32L4 Discovery Kit IoT NodeのCopyright (C) 2017 Amazon.com, Inc.のものから持って来たり、GCC特有の記述をCC-RXでコンパイル出来るような細工をひとまず追加したり、といったこともしました。)


    demos\renesas\rx231-rsk\common\application_code\main.c ← amazon-freertos-1.0.0\demos\vendor\board\common\application_code\main.c
    demos\renesas\rx231-rsk\common\application_code\iodefine.h ← r_bsp\mcu\rx231\register_access\iodefine.h
    (FreeRTOS kernelのソースがiodefine.hをインクルードしているので、ひとまずコピペすることにしました)
    demos\renesas\rx231-rsk\common\application_code\time.h ← 今回作成(中身の無いダミーファイルです)
    (mbedTLSのソースがtime.hをインクルードしているのですが、CC-RXには無く、試してみると中身は無しでも構わないようでしたので、ひとまず中身の無いダミーファイルを作成しました)


    以下のフォルダは空にしました。なぜなら、e2 studioの場合、ルネサスさんのRXで、コード生成機能、FIT、或いはPDG2、といったものを使った時は、プロジェクトフォルダの下にコードが生成されますので、そこにそのまま置いておく方が楽そうな気がしたからです。

    demos\renesas\rx231-rsk\common\application_code\renesas_code\
    (Amazon FreeRTOSのソースでは半導体メーカのBSPの初期化コードを置くことを想定している気がします)


    lib\third_party\mcu_vendor\renesas\rx231-rsk\
    (Amazon FreeRTOSのソースでは半導体メーカのBSPを置くことを想定している気がします)


    添付したzipファイルのプロジェクトでは、FITやコード生成機能のソースを生成出来るようにしてみました。とはいえ、Amazon FreeRTOSと繋ぐコードが無いですので、生成出来るようになっているというだけです。(手元でビルドした時には試しに幾つか生成させてビルドしてみましたが、単にそれだけですので、添付したzipファイルではファイルを削除してフォルダのみ残しました。ところが、後になって気付いたのですが、フォルダが残っているとFITでコード生成させる時に誤動作するようですので、その場合は、フォルダを削除してからコード生成させないといけないようです。)




    手元でビルドした時のビルドログは以下の通りです。(先に添付したzipファイルのプロジェクトではCC-RX V2.07を使う設定になっていますが、当方特有の事情でCC-RX V2.03でビルドした時のものです。)

    aws_demos_renesas_rx_mcu_experiment_build_log_20171218.zip

    [関連リンク]

    生成されたコードを公開((再)配布)してもよいコード生成支援ツールの種類のまとめ
    japan.renesasrulz.com/cafe_rene/f/forum21/4302/thread

    CS+が生成したcstart.asm/stkinit.asm/hdwinit.asm/iodefine.hは公開(再配布)可能ですか?
    japan.renesasrulz.com/cafe_rene/f/forum21/4014/cs-cstart-asm-stkinit-asm-hdwinit-asm-iodefine-h
     

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

    以前に、Amazon FreeRTOSのDemoプロジェクトがEclipseの仮想フォルダやリンクされたフォルダという機能を使ったプロジェクトのようでしたので、それがどんな感じのものであるか分かるようにe2 studio (v6.1.0)のプロジェクトを無理矢理作ってみました。ですが、感じは分かったものの、全くコンパイル出来ませんでした。そこでプロジェクト設定を詰めてみたところ、それなりにCC-RXでコンパイルが進むようになりましたので、以下のzipファイルに固めてみました。(どのように詰めたのかを後ほど投稿します。またCS+のプロジェクト設定も同様に詰めて後日投稿しようとは思っています。)

    aws_demos_renesas_rx_mcu_experiment_20171218.zip



    なお、まだコンパイル出来ないソースはありますし、そもそもMCU依存部やボード依存部を作らないとリンク出来ません。更に、e2 studioでは毎度お馴染みのトラブルですが、メイク機能が誤動作して毎回全ビルドになってしまいます。かふぇルネへの過去の投稿を読み直してみようと思っています。

    添付したzipファイルでは、Amazon FreeRTOS 1.0.0のフォルダに統合しやすいように、以下のフォルダ構成にしてみました。



    他から持って来たソースは以下の通りです。なお、STM32L4 Discovery Kit IoT NodeのSTMicroelectronics社のソースには、STMicroelectronics社のMCUやMPUでしか使ってはいけません、という条項が付いていましたので、それらのものを持って来るのは避けるようにしました。

    demos\renesas\rx231-rsk\common\config_files\*.* ← amazon-freertos-1.0.0\demos\st\stm32l475_discovery\common\config_files\*.*
    (持って来たのはSTM32L4 Discovery Kit IoT NodeですがCopyright (C) 2017 Amazon.com, Inc.のものです。)
    demos\renesas\rx231-rsk\common\config_files\FreeRTOSConfig.h ← FreeRTOSv10.0.0\FreeRTOS\Demo\RX200_RX231-RSK_Renesas_e2studio\src\FreeRTOSConfig.h
    (FreeRTOSConfig.hでは、足りない定義をSTM32L4 Discovery Kit IoT NodeのCopyright (C) 2017 Amazon.com, Inc.のものから持って来たり、GCC特有の記述をCC-RXでコンパイル出来るような細工をひとまず追加したり、といったこともしました。)


    demos\renesas\rx231-rsk\common\application_code\main.c ← amazon-freertos-1.0.0\demos\vendor\board\common\application_code\main.c
    demos\renesas\rx231-rsk\common\application_code\iodefine.h ← r_bsp\mcu\rx231\register_access\iodefine.h
    (FreeRTOS kernelのソースがiodefine.hをインクルードしているので、ひとまずコピペすることにしました)
    demos\renesas\rx231-rsk\common\application_code\time.h ← 今回作成(中身の無いダミーファイルです)
    (mbedTLSのソースがtime.hをインクルードしているのですが、CC-RXには無く、試してみると中身は無しでも構わないようでしたので、ひとまず中身の無いダミーファイルを作成しました)


    以下のフォルダは空にしました。なぜなら、e2 studioの場合、ルネサスさんのRXで、コード生成機能、FIT、或いはPDG2、といったものを使った時は、プロジェクトフォルダの下にコードが生成されますので、そこにそのまま置いておく方が楽そうな気がしたからです。

    demos\renesas\rx231-rsk\common\application_code\renesas_code\
    (Amazon FreeRTOSのソースでは半導体メーカのBSPの初期化コードを置くことを想定している気がします)


    lib\third_party\mcu_vendor\renesas\rx231-rsk\
    (Amazon FreeRTOSのソースでは半導体メーカのBSPを置くことを想定している気がします)


    添付したzipファイルのプロジェクトでは、FITやコード生成機能のソースを生成出来るようにしてみました。とはいえ、Amazon FreeRTOSと繋ぐコードが無いですので、生成出来るようになっているというだけです。(手元でビルドした時には試しに幾つか生成させてビルドしてみましたが、単にそれだけですので、添付したzipファイルではファイルを削除してフォルダのみ残しました。ところが、後になって気付いたのですが、フォルダが残っているとFITでコード生成させる時に誤動作するようですので、その場合は、フォルダを削除してからコード生成させないといけないようです。)




    手元でビルドした時のビルドログは以下の通りです。(先に添付したzipファイルのプロジェクトではCC-RX V2.07を使う設定になっていますが、当方特有の事情でCC-RX V2.03でビルドした時のものです。)

    aws_demos_renesas_rx_mcu_experiment_build_log_20171218.zip

    [関連リンク]

    生成されたコードを公開((再)配布)してもよいコード生成支援ツールの種類のまとめ
    japan.renesasrulz.com/cafe_rene/f/forum21/4302/thread

    CS+が生成したcstart.asm/stkinit.asm/hdwinit.asm/iodefine.hは公開(再配布)可能ですか?
    japan.renesasrulz.com/cafe_rene/f/forum21/4014/cs-cstart-asm-stkinit-asm-hdwinit-asm-iodefine-h
     

Children
No Data