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

    ウェブで調べ物をしていて、github.ioにYutaka Katoさんという人が『STM32L4 Discovery Kit IoT Node に Amazon FreeRTOS を導入する』という投稿をされていることに気付きました。「Amazon FreeRTOS」と「AWS IoT」を始めるやり方を知るのに役立ちそうでしたので、リンクを投稿してみました。

    STM32L4 Discovery Kit IoT Node に Amazon FreeRTOS を導入する - Yutaka Kato
    mikan.github.io/2017/12/13/setup-amazon-freertos-on-stm32l4-discovery-kit-iot-node/

    少し調べてみたのですが、クラウド側には、Amazon FreeRTOSのダウンロードページの他には、Amazon FreeRTOS専用のサービスが用意されている訳ではなくて、既存のAWS IoT / AWS IoT Coreというものを使うらしいです。

    AWS IoT Core
    aws.amazon.com/jp/iot-core/
    aws.amazon.com/jp/iot-core/features/
    aws.amazon.com/jp/iot-core/pricing/
    aws.amazon.com/jp/iot-core/getting-started/ ← ルネサスさんのYRDKRX63Nも載ってました(MicriumのRTOSを使う)
    aws.amazon.com/jp/iot-core/resources/

    [関連リンク]

    Micrium/Renesas AWS IoT Getting Started
    github.com/micrium/awsiot

    [余談]

    別スレッドでも引用したデータ(ちょっと古い)ですが、EE TimesというところとUBM Electronicsというところが、2015年(と2014年)にアンケート調査(だと思う)した結果の各RTOS(というかRTOSでは無いものも込みで)のシェアだそうです。(なお、Micriumの広報とEE Timesの記事の中に含まれていたものです。)

    2015 UBM Electronics study

    広報タイトル: Micrium RTOS Kernels are #1 in 2015 — UBM Survey
    調査結果: www.micrium.com/ubm2015/#foobox-1/0/ubm_os_in_use.png

    2015 EE Times study (同じデータのようです)

    記事タイトル: ARM Flexes Mbed, RTOSes Respond (EE Times 2015/11/13)
    調査結果: www.eetimes.com/document.asp?doc_id=1328259&image_number=1

    2015年のデータで言えば FreeRTOS+Micrium(uC/OS-II)+Micrium(uC/OS-III)=22%+19%+8%=49% になりますね。

    [追記]

    あと、Amazonの「AWS IoT Coreの開始方法」のスターターキットの一覧と「UBM Survey」 / 「EE Times study」の両方に名前が載っているRTOSとしてTI-RTOSもありました。これは2015年のデータで言えば3%になってました。

  • NoMaYさん

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

    非常に貴重な素材提供をいただき、ありがとうございます。

    わたしもRXマイコンでAmazon FreeRTOSを動かす活動を進め始めました。
    NoMaYさんに作っていただいた「aws_demos_renesas_rx_mcu_experiment_20171224.zip」・・・(1)で
    NoMaYさんのビルドログ「aws_demos_renesas_rx_mcu_experiment_e2studio6_build_log_20171224.zip」と同じ状態まで進みました。

    全体を見渡してみると、ネットワーク層とのつながり部分が課題と思われます。

    これに対してはどうにかネットワーク層のR/W関数を特定してそれを既存のデータリンク層の
    ドライバにつないであげればよいと思っています。
    このため、少しこちらでも、FreeRTOS-Plus-TCP単体をRXマイコンボードで動かすことを試みてみます。
    NoMaYさん側では、(1)にFreeRTOS+TCPも含むようNoMaYさん側で検討いただけないですか?

    ビルドログを見ると、TCP/IP部分の実装である「\amazon-freertos-1.0.0\lib\FreeRTOS-Plus-TCP」が
    含まれていませんね。流用元のSTの環境ではWiFiモジュール側のTCP/IP機能を使っているのでは、
    と推測します。量産製品を想定してコストカットを目指す場合は、モジュール側にTCP/IPを載せるのではなく、
    MCU側に載せます。Amazon FreeRTOSもTCP/IP層を含んでいるということは、
    最終的には「RTOSへのTCP/IP機能の取り込み」を目指しているのだと思っています。
    まず私はRX65N Envision Kitの有線Etherでの実験を試みます。RX65N Envision Kitで有線Etherを使うためには
    部品増設が必要です。私の手持ちは増設して、ルネサス標準のEtherドライバを組み込んでデータパケットの
    入出力ができる状態には出来ました。あとはFreeRTOS+TCPのR/W部分とうまく結合してあげれば課題解決と思っています。

    あと最終的には村田製作所Type 1FXでSDIO無線LANを実現しようと思っています。Type 1FXの開発キットは購入済みです。1世代前のType ZXではSDIO無線LANをFreeRTOS上で実現したことがあるので、たぶん行けると思っています。RX65N(SDHI)+Type 1FXの構成でネットワークスタックはすべてRX65N側に持たせる感じですね。RX65N Envision KitのSDスロットにこの開発キットを挿せば物理的には正しく接続されます。
    www.digikey.jp/.../6612483

    RX65N Envision KitでSDカード、SDIOデバイスを使うためには、部品増設が必要です。
    私の手持ちは増設して、ルネサス標準のSDHIドライバ、SDメモリカードドライバ、ファイルシステムを
    組み込んで、ファイルの読み書きができる状態には出来ました。
    SDIOもドライバソフト開発用の素材はそろっている状態で、あとはなんとかなるかな、という感触がある状態です。

    #量産向け本格仕様ではなく、コミュニティ向けだとNoMaYさんがおっしゃるように、
     GR-CITRUS(RX631)ボード+WA-MIKAN(ESP8266)ボードが最適と思いますのでこちらも追々対応できればと思います。

    また何か進捗がありましたら、共有させてください。
    私の次の1手は、RX65N Envision KitでFreeRTOS+TCP単体を有線Etherで動作させることです。
    (その前に散らかった自分の部屋の掃除もしなければ)

    以上です
Reply
  • NoMaYさん

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

    非常に貴重な素材提供をいただき、ありがとうございます。

    わたしもRXマイコンでAmazon FreeRTOSを動かす活動を進め始めました。
    NoMaYさんに作っていただいた「aws_demos_renesas_rx_mcu_experiment_20171224.zip」・・・(1)で
    NoMaYさんのビルドログ「aws_demos_renesas_rx_mcu_experiment_e2studio6_build_log_20171224.zip」と同じ状態まで進みました。

    全体を見渡してみると、ネットワーク層とのつながり部分が課題と思われます。

    これに対してはどうにかネットワーク層のR/W関数を特定してそれを既存のデータリンク層の
    ドライバにつないであげればよいと思っています。
    このため、少しこちらでも、FreeRTOS-Plus-TCP単体をRXマイコンボードで動かすことを試みてみます。
    NoMaYさん側では、(1)にFreeRTOS+TCPも含むようNoMaYさん側で検討いただけないですか?

    ビルドログを見ると、TCP/IP部分の実装である「\amazon-freertos-1.0.0\lib\FreeRTOS-Plus-TCP」が
    含まれていませんね。流用元のSTの環境ではWiFiモジュール側のTCP/IP機能を使っているのでは、
    と推測します。量産製品を想定してコストカットを目指す場合は、モジュール側にTCP/IPを載せるのではなく、
    MCU側に載せます。Amazon FreeRTOSもTCP/IP層を含んでいるということは、
    最終的には「RTOSへのTCP/IP機能の取り込み」を目指しているのだと思っています。
    まず私はRX65N Envision Kitの有線Etherでの実験を試みます。RX65N Envision Kitで有線Etherを使うためには
    部品増設が必要です。私の手持ちは増設して、ルネサス標準のEtherドライバを組み込んでデータパケットの
    入出力ができる状態には出来ました。あとはFreeRTOS+TCPのR/W部分とうまく結合してあげれば課題解決と思っています。

    あと最終的には村田製作所Type 1FXでSDIO無線LANを実現しようと思っています。Type 1FXの開発キットは購入済みです。1世代前のType ZXではSDIO無線LANをFreeRTOS上で実現したことがあるので、たぶん行けると思っています。RX65N(SDHI)+Type 1FXの構成でネットワークスタックはすべてRX65N側に持たせる感じですね。RX65N Envision KitのSDスロットにこの開発キットを挿せば物理的には正しく接続されます。
    www.digikey.jp/.../6612483

    RX65N Envision KitでSDカード、SDIOデバイスを使うためには、部品増設が必要です。
    私の手持ちは増設して、ルネサス標準のSDHIドライバ、SDメモリカードドライバ、ファイルシステムを
    組み込んで、ファイルの読み書きができる状態には出来ました。
    SDIOもドライバソフト開発用の素材はそろっている状態で、あとはなんとかなるかな、という感触がある状態です。

    #量産向け本格仕様ではなく、コミュニティ向けだとNoMaYさんがおっしゃるように、
     GR-CITRUS(RX631)ボード+WA-MIKAN(ESP8266)ボードが最適と思いますのでこちらも追々対応できればと思います。

    また何か進捗がありましたら、共有させてください。
    私の次の1手は、RX65N Envision KitでFreeRTOS+TCP単体を有線Etherで動作させることです。
    (その前に散らかった自分の部屋の掃除もしなければ)

    以上です
Children
  • シェルティさん、こんにちは。NoMaYです。本年も宜しくお願い致します。

    着々と進んでいるようですね。プロジェクトにFreeRTOS-Plus-TCPを含めるようにする件、了解しました。やってみます。(その時、もしかすると、Amazon FreeRTOS V1.1.0ベースに変えるかも知れません。)

    あと、以下のウェブページに気付きましたので、リンクを張っておきます。(ただし詳しいものでは無かったです。)

    Amazon FreeRTOS Porting Guide
    docs.aws.amazon.com/freertos/latest/userguide/porting-guide.html

    また、GitHubのIssuesに以下のリクエストが投稿されていたことに気付きましたので、リンクを張っておきます。やりとりの雰囲気から思ったのですが、ルネサスさんのRXへの対応も問答無用で拒絶されるようなことは無さそうな気がしました。パッチを投稿すれば受け付けて貰えるかも知れません。

    Support for ESP8266
    github.com/aws/amazon-freertos/issues/1

    Support for Espressif ESP32
    github.com/aws/amazon-freertos/issues/3

    課題はルネサスさんのドライバライブラリのライセンスですが、FITは無理としても、コード生成機能に関しては、このスレッドの最初の投稿に書いたsourceforge.netのFreeRTOS kernelのソースのDemoフォルダのRX231のサンプルプログラムにコード生成機能で生成されたソースが含まれていましたので、やってやれなくはない気がしました。

    それに対し、FITに関しては、このスレッドの幾つか前の投稿で見付けたルネサスさんのアプリケーションノートにあったFITとFreeRTOSを組み合わせるサンプルプログラムを見ていて、どうも非公式ながらルネサスさんの社内には、r_bsp_rtosとか、r_cmt_rtos_rxとか、更にはFreeRTOSをFITモジュール化したものまで、あるらしいことに気付きました。FITに関しては、そういうやり方もありそうな気がしました。(取らぬ狸の皮算用ではありますが、以前の別スレッドの経験から、Amazon FreeRTOSをFITモジュール化することも自力で出来るのではないかと思いました。)

    なお、これらのFreeRTOS kernel+コード生成機能で生成されたソースを含むサンプルプログラムやFreeRTOS kernel+FITのサンプルプログラムにはCS+のプロジェクトが含まれていませんでしたので、年末にコンバート作業をやってCS+でビルド出来るようにしてみました。これは、新しくスレッドを立てて、後で投稿してみようと思っています。

    [ニュース]

    ちなみに、年末に以下の記事が出ていました。(意図されたことなのか分かりませんが、FreeRTOS kernelがサポートしているMCUの種類として、SHの名前は出しているのにRXの名前は出していませんでしたね、、、)

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