こんにちは。NoMaYです。ライセンスはMIT Licenseでした。TLSとしてmbed TLSが使用されていました。サポートされているボードの写真を見ていたら、どれにも有線LANコネクタが無いことに気付きました。時代の流れでしょうか、、、Getting Started with Amazon FreeRTOSaws.amazon.com/freertos/getting-started/Amazon FreeRTOSaws.amazon.com/freertos/Amazon FreeRTOS ソースコードgithub.com/aws/amazon-freertos[関連リンク]FreeRTOS - freertos.orgwww.freertos.org/FreeRTOS - sourceforge.netsourceforge.net/projects/freertos/files/FreeRTOS kernel自体はCC-RXにも対応github.com/aws/amazon-freertos/tree/master/lib/FreeRTOS/portable/RenesasAmazon FreeRTOSはTLSにmbed TLSを使用github.com/aws/amazon-freertos/tree/master/lib/third_party/mbedtls[ニュース]組み込み業界に大インパクト「Amazon FreeRTOS」の衝撃 - 大原雄介,MONOistmonoist.atmarkit.co.jp/mn/articles/1712/28/news011.htmlアマゾン「AWS IoT」は何が衝撃的なのか - 大原雄介,MONOistmonoist.atmarkit.co.jp/mn/articles/1510/21/news026.html(2018/01/01 : 記事を選び直しました。)[追記]もしかしたら、オープンソースライセンスのドライバライブラリが用意されていないから、ルネサスさんはアマゾンさんに相手にして貰えないのかも、、、ちなみに、FreeRTOS kernel自体のライセンスがV10からModified GPLからMIT Licenseに変わったようです。
シェルティさん、こんにちは。NoMaYです。私の今の進捗です。その前に、AliOS Thingsですが、ライセンスはApache 2.0で、GitHubリポジトリは以下ですね。TCP/IPスタックはLwIP、TLSはmbed TLSのようです。また、VSCode pluginによるAliOS Studio IDEというものがあるようです。AliOS Things released by Alibaba is an open-source implementation of operating system (OS) for Internet of Things (IoT). github.com/alibaba/AliOS-Things「Architecture OverviewAliOS Things supports multiple architectures, including ARM, C-Sky, MIPS, rl78, rx600 and xtensa, AliOS Things also supports a large number of boards.From an architectural point of view, AliOS Things adapts Layered Architecture and Component Architecture. From bottom to top, AliOS Things includes: BSP: Board Support Package mainly developed and maintained by SoC Vendor HAL: Hardware Abstraction Layer, like WiFi, UART Kernel: Rhino RTOS Kernel, Yloop, VFS, KV Storage included Protocol Stack: LwIP TCPIP Stack, uMesh mesh networking stack included Security: TLS, TFS(Trusted Framework Service), TEE(Trusted Exexcution Environment) AOS API: AliOS Things exposed APIs for Application and Middleware Middleware: Alibaba's value-added and commonly seen IoT components included Examples: hands-on sample codes, and well tested applications such as linkkitappAll modules have been organized as Components, and each component has its own .mk file to describe its dependency with other Components, which enables applications to choose components needed easily.」kernelのソース(この辺りかな)github.com/alibaba/AliOS-Things/tree/master/kernel/rhino/corekernelの概要github.com/alibaba/AliOS-Things/wiki/AliOS-Things-Technical-Overview#kernel-descriptionサポートハードウェアgithub.com/alibaba/AliOS-Things/wiki/AliOS-Things-HardwareRL78対応github.com/alibaba/AliOS-Things/tree/master/platform/arch/rl78RX65N対応github.com/alibaba/AliOS-Things/tree/master/platform/arch/rx600/rx65n/e2sFreeRTOSからのポーティングガイド(現状は中文のみの模様)github.com/alibaba/AliOS-Things/wiki/AliOS-Things-FreeRTOS-Porting-Guide.zhGoogle検索: AliOS Thingswww.google.com/search?q=AliOS+Things以下、進捗です。(◆は新規項目です。)済み●Amazon本家のv1.4.1→v1.4.2の差分の取り込みコミット済みだがデバッグ未着手●スタートアップ処理でC++のコンストラクタを呼び出し可能にした(GNURXで使われていた#ifdef CPPAPP~#endifで括った)◆R_BSPのsbrk()はCC-RXとGNURXで有効になっているけれどもGNURXで呼び出されることがあるかどうか確認する作業中●コンパイル時のワーニングを減らす(FITモジュールのソースの修正もあります)⇒たまたまMISRA-Cについて検索していて気付いたウェブページにあった文言「付加価値のない活動に労力を費やす」(この投稿の終わりの方の画面コピーを参照)にギクっとしているところですが、もう少し続けます。未着手●GNURXのリンク時のワーニングを取る◆GR-SAKURAのe2 studioプロジェクトでインクルードファイルに関してINDEXERエラーが出ているのを何とかしたい●demos\renesas\XXX\common\config_file\*.hの#define等の順序をAmazon FreeRTOS本家の*.hに合わせる●ビルド前ステップのバッチファイルの見直し(make.exeが見付かりません問題の緩和策も)最近気になり始めたこと(&思い出したこと) : RX71M-RSK, RX64M-RSK, RX63N-RSKの作業の前に対処したい分◆ICCRX向けのiodefine.hの#pragma bitfields=reversedはreversed_disjoint_typesの方が良いのでは?◆ICCRX向けのiodefine.hで#pragma pack()に切り替えたものを最後に元に戻すことを忘れているのでは?●ICCRX向けのiodefine.hの__sfrはvolatileの方がうれしい人もいるような気がする◆ICCRX対応の試作時の暫定コードが(FITモジュール以外のソースで)そのままになっていることを忘れないように◆プロジェクト(ボード)でlib\wifi\portable\renesas\XXXX\aws_wifi.cが使われていない場合はプロジェクトから削除●ボード依存のSCIのチャンネル番号の指定方法の見直し(現状はボード種別番号で切り替え)●ボード依存のETHERの初期化関数名の指定方法の見直し(同上)●SCIのチャンネルは1つで済む筈?(複数チャンネル有効化されているのは今では単に歴史的経緯のみ?)●GR-SAKURAのIスタック/Uスタック(今回未使用)/R_BSPヒープのサイズは他ボードへ展開した方が良い?最近気になり始めたこと(&思い出したこと) : もう少し先で対処したい分◆MOTファイルとMAPファイル(CC-RXでは出力を詳細に変更)をGitHubに登録してはどうだろうか?●3コンパイラ対応のFITモジュールが正式リリースされた後のプロジェクト構造をどうする?⇒将来e2 studio上でAmazon FreeRTOSとRX Driver Package込のプロジェクトを生成出来るようになるので任せる?●各プロジェクトのマイコン型番をユーザのターゲットボードのマイコン型番に変更する簡単な方法は?⇒e2 studio v7.1.0(後日インストール予定)でプロジェクトのマイコン型番変更が簡単になったようだが活用出来るか?◆各プロジェクトのボード名をユーザのターゲットボードのボード名に変更する簡単な方法は?●試作基板のGR-ROSEはR5F565NEDxLJでしたね(でも量産基板で変わるかも? それから"_DUAL"は有りか無しか?)●GR-CITRUS(RX631)+WA-MIKAN(ESP8266) 対応●FreeRTOS+POSIX 対応最近気になり始めたこと : ツールで対処して貰わないと駄目そうな分◆ワーニングレベルを上げるとvoid R_CGC_Create_UserInit();のような引数void無し関数宣言/関数本体で警告が出る(CG)◆ワーニングレベルを上げるとvoid R_SCI_PinSet_SCI0();のような引数void無し関数宣言/関数本体で警告が出る(FIT)将来の探求テーマ◆Amazon FreeRTOSのスタック使用量の調査/考察/適正化◆Amazon FreeRTOSのヒープ使用量の調査/考察/適正化◆Amazon FreeRTOSのRAM使用量の調査/考察◆Amazon FreeRTOSのROMコードサイズのRXコアと他CPUコア(Cortex-M4/MIPS microAptiv/Xtensa LX6)とでの比較◆Amazon FreeRTOSでRXマイコンのMPU(メモリプロテクションユニット)を有効にするには?◆Amazon FreeRTOSのソースのCC-RXによるMISRA-C 2012ルールチェック以下、Amazon本家のv1.4.1→v1.4.2の差分の取り込みに関して、いつものように画面コピーです。Amazon本家のv1.4.1→v1.4.2では素朴に比較すると1000ファイル近い差異が出るが、、、現状のRenesas RXのプロジェクトに直接(および間接的に)関係のある差異は50ファイルほどただし今回は空白類文字の差異を無視するソースファイル比較で検出されない差異でMOTファイルが変化する差異ありなおソースファイル中で__DATE__が使われていて(今回に限らず)ビルド日付が異なるとMOTファイルは数バイト変わる[参考]レガシーコードをMISRA C 2012準拠にするための実践的ガイドPublished 2018年4月27日parasoft.techmatrix.jp/practical-guide-to-make-your-legacy-codebase-misra-c-2012-compliant赤枠は私によるもの[余談]以前、このスレッドを開いた時のビューカウント値が 21212 になっていて面白かったので採取したことがありましたが、今度は、ビューカウント値が 23432 になっていたことがあったので採取した画面コピーです。