こんにちは。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です。先週の3月3日のシェルティさんのソースを取り込んでGitHubへ登録してみました。Amazon FreeRTOSのソースは既にv1.2.2に進んでいますが、まだこちらはv1.2.0を下敷きにしています。github.com/NoMaY-jp/amazon-freertos今回、当初は登録後に思案するつもりだった以下の懸案事項のうちで、シェルティさんが作業して下さいましたT4を除いた、残りの2つのBSPとCMTについて、ちょっと気付いたことがありましたので一緒に試してみました。>問題はBSPとCMTとT4のFreeRTOS対応の部分をどうするかで、これは来週になってから思案してみようと思っています。気付いたこととは、BSPとCMTについては、以前の投稿の以下のアプリケーションノートのRTOS対応のBSPとCMTをそのまま使えば良いのではないか、ということです。つまり、このアプリケーションノートのzipファイルの中からr_bsp_rtosフォルダとr_cmt_rtos_rxフォルダを抜き出してしまえば良いのではないか、ということです。RX65N Group Application Note RX65N Real-time OS Package V1.0.00 ドキュメント(英文)www.renesas.com/ja-jp/doc/products/mpumcu/apn/rx/002/r01an4033es0100-rx65n.pdfRX65N Group Application Note RX65N Real-time OS Package V1.0.00 サンプルプログラムwww.renesas.com/ja-jp/software/D6001926.htmlとはいえ、スマートコンフィグレータが生成するr_bspフォルダとr_cmt_rxフォルダの内容と干渉しないようにする必要がありますので、以下のような手を考えてみました。・ スマートコンフィグレータが生成するr_bspフォルダとr_cmt_rxフォルダに対してビルドから除外する設定を行う・ ビルド前ステップでr_bspフォルダとr_cmt_rxフォルダをリネームしてインクルードパスが効かないようにする r_bspフォルダの名前 → r_bsp__unusedという名前にリネーム r_cmt_rxフォルダの名前 → r_cmt_rx__unusedという名前にリネーム・ ビルド前ステップでr_bspフォルダとr_cmt_rxフォルダをリネームするのに以下のMS-DOSコマンドを使いましたe2 studioの場合@(if exist ..\src\smc_gen\r_bsp echo renaming folder: r_bsp --^> r_bsp__unused && ren ..\src\smc_gen\r_bsp r_bsp__unused) && @(if exist ..\src\smc_gen\r_cmt_rx echo renaming folder: r_cmt_rx --^> r_cmt_rx__unused && ren ..\src\smc_gen\r_cmt_rx r_cmt_rx__unused)CS+の場合@(echo 'Use r_bsp_rtos and r_cmt_rtos_rx instead of r_bsp and r_cmt_rx') && @(if exist src\smc_gen\r_bsp echo renaming folder: r_bsp --^> r_bsp__unused && ren src\smc_gen\r_bsp r_bsp__unused) && @(if exist src\smc_gen\r_cmt_rx echo renaming folder: r_cmt_rx --^> r_cmt_rx__unused && ren src\smc_gen\r_cmt_rx r_cmt_rx__unused)・ リネーム後のフォルダに対してもビルドから除外する設定を行う(e2 studioのみ、CS+は未登録ならビルドしない為)・ 抜き出したr_bsp_rtosフォルダとr_cmt_rtos_rxフォルダはスマートコンフィグレータのsmc_genフォルダの外に置くやってみると、狙った通り、干渉しないようにすることが出来ましたので、スマートコンフィグレータでコード生成する度にしなければならない余分な作業というものはありません。ただ、惜しいことに、アプリケーションノートのRTOS対応のBSPのhwsetup.cには変えた方が良い/変えないといけない点がありましたので、アプリケーションノートのzipファイルの中から抜き出した時にhwsetup.cを差し替えて下さい。手順(英文)を書いた以下のファイル(update!.txt)と差し替える新しいファイル(update!.hwsetup.c)をsrc\realtime_OS_pkgフォルダに含めておきました。
At first, please get r_bsp_rtos module and r_cmt_rx module by following the steps below.1. Download an-r01an4033es0100-rx65n-connectivity.zip from https://www.renesas.com/en-eu/software/D6001925.htmlIssue Date : Oct.01.17Category : Other Sample CodesRX65N Group Application Note RX65N Real-time OS Package V1.0.00Applicable ProductsRX65N, RX651RX Driver PackageCommentsApplication Notes (r01an4033es0100-rx65n.pdf) and Sample Program (Source, ( e2 studio / CC-RX )) are included.Related function: USB, RTOS, ConnectivityFile Size77.78 MByte2. Copy an-r01an4033es0100-rx65n-connectivity.zip\an-r01an4033es0100-rx65n-connectivity\RX65N_2M_realtime_OS_pkg\r_bsp_rtos\ here3. Copy an-r01an4033es0100-rx65n-connectivity.zip\an-r01an4033es0100-rx65n-connectivity\RX65N_2M_realtime_OS_pkg\r_cmt_rtos_rx\ hereThen please update r_bsp_rtos\board\rskrx65n_2mb\hwsetup.c by following the steps below.4. Delete r_bsp_rtos\board\rskrx65n_2mb\hwsetup.c5. Move update!.hwsetup.c to r_bsp_rtos\board\rskrx65n_2mb\hwsetup.cBest regards
(↑あっ、最初の文のr_cmt_rxはr_cmt_rtos_rxの間違いですね。後で、GitHubに登録したものを直しておきます。)以下、ビルド前ステップの設定とビルド時の画面コピーです。e2 studioの場合CS+の場合以下、今回のインクルードパスの設定です。e2 studioの場合 (Smart Configuratorが生成したフォルダはリストの下の方に追加されます)
${TCINSTALL}/include/${ProjName}//${ProjName}/config_files/${ProjName}/application_code/${ProjName}/application_code/renesas_code/${ProjName}/application_code/common_demos/include/${ProjName}/lib/aws/include/${ProjName}/lib/aws/include/private/${ProjName}/lib/aws/FreeRTOS/portable/Renesas/RX600v2/${ProjName}/lib/aws/FreeRTOS-Plus-TCP/source/protocols/include/${ProjName}/lib/aws/FreeRTOS-Plus-TCP/include/${ProjName}/lib/aws/FreeRTOS-Plus-TCP/source/portable/Compiler/Renesas/${ProjName}/lib/aws/ota/${ProjName}/lib/third_party/jsmn/${ProjName}/lib/third_party/pkcs11/${ProjName}/lib/third_party/tinycbor/${ProjName}/lib/third_party/mbedtls/include/${ProjName}/src/realtime_OS_pkg/r_bsp_rtos/${ProjName}/src/realtime_OS_pkg/r_cmt_rtos_rx/${ProjName}/src/realtime_OS_pkg/r_cmt_rtos_rx/src/${ProjName}/src/FreeRTOS_user/${ProjName}/src/${ProjName}/src/smc_gen/r_bsp/${ProjName}/src/smc_gen/r_config/${ProjName}/src/smc_gen/r_cmt_rx/${ProjName}/src/smc_gen/r_cmt_rx/src/${ProjName}/src/smc_gen/r_ether_rx/${ProjName}/src/smc_gen/general/${ProjName}/src/smc_gen/r_pincfg
CS+の場合 (Smart Configuratorが生成したフォルダはリストの上の方に追加されます)
src\smc_gen\r_pincfgsrc\smc_gen\r_ether_rx\src\physrc\smc_gen\r_ether_rx\srcsrc\smc_gen\r_ether_rx\refsrc\smc_gen\r_ether_rxsrc\smc_gen\r_configsrc\smc_gen\r_cmt_rx\refsrc\smc_gen\r_cmt_rxsrc\smc_gen\r_bsp\mcu\rx65n\register_accesssrc\smc_gen\r_bsp\mcu\rx65nsrc\smc_gen\r_bsp\mcu\allsrc\smc_gen\r_bsp\board\generic_rx65nsrc\smc_gen\r_bspsrc\smc_gen\general...\common\config_files..\common\application_code..\common\application_code\renesas_code..\..\..\..\demos\common\include..\..\..\..\lib\include..\..\..\..\lib\include\private..\..\..\..\lib\FreeRTOS\portable\Renesas\RX600v2..\..\..\..\lib\FreeRTOS-Plus-TCP\source\protocols\include..\..\..\..\lib\FreeRTOS-Plus-TCP\include..\..\..\..\lib\FreeRTOS-Plus-TCP\source\portable\Compiler\Renesas..\..\..\..\lib\ota\portable\renesas\rx65n-envision-kit (rx65n-envision-kitの場合)..\..\..\..\lib\ota\portable\renesas\rx65n-rsk (rx65n-rskの場合)..\..\..\..\lib\third_party\jsmn..\..\..\..\lib\third_party\pkcs11..\..\..\..\lib\third_party\tinycbor..\..\..\..\lib\third_party\mbedtls\includesrc\realtime_OS_pkg\r_bsp_rtossrc\realtime_OS_pkg\r_cmt_rtos_rxsrc\realtime_OS_pkg\r_cmt_rtos_rx\srcsrc\FreeRTOS_usersrc