こんにちは。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です。進捗に関しての以下の項目とreadme.txt内の協力会社という文字を見て、業務として進んでいるのだろうなぁ、とは思ってました。ちなみに、「RXマイコンのAmazon FreeRTOS対応Amazon Web Service IoT開発キットとして、一般販売を目指して」とのことですが、これはルネサスブランドで出るのだろう、と考えて良いのでしょうか?・ Amazon FreeRTOS 1.2.xのmbed TLS部分の暗号処理プリミティブのソフトウェア実装(AESとかRSAとか)をRX65N内蔵暗号器を使ったハードウェア実装に置き換える・ Amazon FreeRTOS のCertificationを受験し合格しGitの本家に登録するGCCに関しては、私、プロジェクトの作成~リンク出来るようにするところまでやってみたいです。少し前から、CC-RXのmachine.h相当のものがあればCC-RX⇔GNURXの移行を楽にすることが出来るのではないかなぁ、と思っていて、題材になりそうなものとして、これが気になっていたところでした。逆に、ota,pkcs11,secure_sockets,wifiの今現在は中身が空の関数になっている部分は、シェルティさん達の方でどんどん実装が進んでいると思う(協力会社の方がr_flash_rxモジュールを生成しているということはotaの実装が進んでいるからだと思うし、そうなると認証や暗号のpkcs11,secure_socketsもそうだろうし、wifiもシェルティさんの方で作業に入られた)ので、私が今後これらに関して何かするとすれば、トピックスを纏めることが出来たら投稿する、ということまでにしようと思います。(実は、怖いもの知らずで手を出してみたものの、役不足感ありまくりで、ちょっと胃がシクシクと痛かったりしていたのでした、、、)今は、土曜日にシェルティさんから頂いたソースの取り込みと、Amazon FreeRTOS v1.2.2のソースに追従することを、やっているところですが、私の前の投稿のBSPとCMTに関する思い付きのうち、hwsetup.cの差し替えをユーザにやって貰わなくても済んでしまう簡単な以下のやり方があったことに気付きました。・ realtime_OS_pkg\hwsetupフォルダを作成して予め新しいhwsetup.cを追加しておく・ realtime_OS_pkg\r_bsp_rtos\board\rskrx65n_2mb\hwsetup.cを予めビルドから除外する設定にしておくこうしておけば、使う人がhwsetup.cの差し替えをやる必要はなくなります。(気付いた時、どうして2週間前の作業中に気付かなかったのかと、ちょっとガックリと来ました、、、)以下は、そのように設定してみた時の画面コピーです。e2 studioの場合CS+の場合以下は、予め追加しておく新しいhwsetup.cの内容です。realtime_OS_pkg\hwsetup\hwsetup.c
#include "../r_bsp_rtos/platform.h" #include "r_cg_macrodriver.h" static void output_ports_configure(void); static void interrupts_configure(void); static void peripheral_modules_enable(void); static void bsp_adc_initial_configure(void); void hardware_setup(void) { output_ports_configure(); interrupts_configure(); peripheral_modules_enable(); bsp_non_existent_port_init(); bsp_adc_initial_configure(); } static void output_ports_configure(void) { } static void interrupts_configure(void) { } static void peripheral_modules_enable(void) { R_Systeminit(); } static void bsp_adc_initial_configure(void) { volatile uint8_t tmp_mstp; /* Protect off. */ SYSTEM.PRCR.WORD = 0xA502; /* Store the value of the MSTPCR. */ tmp_mstp = MSTP(S12AD1); /* Release from the module-stop state */ MSTP(S12AD1) = 0; /* Writing to the A/D conversion time setting register is enabled. */ S12AD1.ADSAMPR.BYTE = 0x03; /* Sets conversion time for middle-speed for S12AD unit 1. */ S12AD1.ADSAM.WORD = 0x0020; /* Writing to the A/D conversion time setting register is disabled. */ S12AD1.ADSAMPR.BYTE = 0x02; /* Restore the value of the MSTPCR. */ MSTP(S12AD1) = tmp_mstp; /* Protect on. */ SYSTEM.PRCR.WORD = 0xA500; }
こんにちは。NoMaYです。遅くなりましたが、またGitHubに登録しました。以下の作業を行ったものです。・ Amazon FreeRTOS v1.2.2に追従しました・ 土曜日にシェルティさんから頂いたソースを取り込みました・ 私が前の投稿に書いたhwsetup.cの差し替えをユーザにやって貰わなくても済む方法を取り入れましたなど今回のGitHubのリポジトリとzipファイルは以下の通りです。なお、いずれも、Amazon本家とRXの差分ではなく、両方含んだものになっています。リポジトリ:github.com/NoMaY-jp/amazon-freertos/tree/renesas-rx-experiment-20180318zipファイルのダウンロードURL:github.com/NoMaY-jp/amazon-freertos/archive/renesas-rx-experiment-20180318.zipダウンロードされるzipファイル名:amazon-freertos-renesas-rx-experiment-20180318.zipなお、今回、たまたま、ダウンロードしたzipファイルを以下のフォルダへ解凍した後にビルドしようとしたら、e2 studioで以下のコンパイルエラーが発生してしまいました。エラーは、rx65n-envision-kitプロジェクトとrx65n-rskプロジェクトでは微妙に異なり、さらに、解凍するフォルダのパスが浅くなるようにしたら共に発生しなくなりました。今回試した2つのフォルダのパスの深さでは、CS+でコンパイルエラーは発生しませんでしたが、フォルダのパスをもっと深くしたら発生するかもしれません。(というか発生するような予感がします。) 今回、当方特有の事情でCC-RX V2.03を使用しているのですが、今後、新しいパソコンでCC-RX V2.08でも確認してみようかと思います。もっとも、パスの深さが深くなれば、いずれコンパイルエラーが発生するようになるのは仕方ないと思っていますが、あまり深いとは言えない深さのフォルダで解凍した場合でも発生してしまうので、注意事項のテキストファイルを付けようかと思っています。e2 studioでコンパイルエラーが発生したもの解凍したフォルダ:C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318この事例でのrx65n-envision-kitプロジェクトのプロジェクトフォルダの位置:C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6この事例でのrx65n-rskプロジェクトのプロジェクトフォルダフォルダの位置:C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-rsk\ccrx-e2studio6e2 studioでコンパイルエラーが発生しなかったもの解凍したフォルダ:C:\Renesas\AmazonFreeRTOS\renesas-rx-experiment-20180318この事例でのrx65n-envision-kitプロジェクトのプロジェクトフォルダの位置:C:\Renesas\AmazonFreeRTOS\renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6この事例でのrx65n-rskプロジェクトのプロジェクトフォルダの位置:C:\Renesas\AmazonFreeRTOS\renesas-rx-experiment-20180318\demos\renesas\rx65n-rsk\ccrx-e2studio6CS+ではどちらのフォルダでもコンパイルエラーは発生しなかった(もっと深いパスでは発生するのではないかと思う)解凍したフォルダ1:C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318この事例でのrx65n-envision-kitプロジェクトのプロジェクトフォルダの位置:C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-csplusこの事例でのrx65n-rskプロジェクトのプロジェクトフォルダの位置:C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-rsk\ccrx-csplus解凍したフォルダ2:C:\Renesas\AmazonFreeRTOS\renesas-rx-experiment-20180318この事例でのrx65n-envision-kitプロジェクトのプロジェクトフォルダの位置:C:\Renesas\AmazonFreeRTOS\renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-csplusこの事例でのrx65n-rskプロジェクトのプロジェクトフォルダの位置:C:\Renesas\AmazonFreeRTOS\renesas-rx-experiment-20180318\demos\renesas\rx65n-rsk\ccrx-cspluse2 studioで発生したコンパイルエラーは以下のように2つのプロジェクトで微妙に異なるe2 studioでCソース毎にCC-RXを2回起動しているうちの、ヘッダファイルの依存関係をスキャンしている1回目の起動においてコンパイルエラーが発生する為、実際にコンパイルが実行される2回目の起動は行われませんが、試しにコマンドプロンプトで手入力して2回目の起動で実行される筈だったコマンドの内容で起動してみたところ、同様にコンパイルエラーになりました。(つまり、ヘッダファイルの依存関係のスキャンに特有の現象では無いようです。なお、エラーの内容は微妙に異なる部分がありました。)rx65n-envision-kitプロジェクトで発生したコンパイルエラー:エラー箇所その1:
ccrx -MM -MP -output=dep="src/realtime_OS_pkg/hwsetup/hwsetup.d" -MT="src/realtime_OS_pkg/hwsetup/hwsetup.obj" -MT="src/realtime_OS_pkg/hwsetup/hwsetup.d" -isa=rxv2 -fpu -branch=32 -include="C:\Renesas\CS_~1\CC\CC-RX\V203~1.00\include","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\common\config_files","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\common\application_code","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\common\application_code\renesas_code","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\common\include","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\lib\include","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\lib\include\private","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\lib\FreeRTOS\portable\Renesas\RX600v2","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\lib\FreeRTOS-Plus-TCP\source\protocols\include","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\lib\FreeRTOS-Plus-TCP\include","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\lib\FreeRTOS-Plus-TCP\source\portable\Compiler\Renesas","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\lib\ota\portable\renesas\rx65n-envision-kit","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\lib\third_party\jsmn","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\lib\third_party\pkcs11","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\lib\third_party\tinycbor","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\lib\third_party\mbedtls\include","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6\src\realtime_OS_pkg\r_bsp_rtos","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6\src\realtime_OS_pkg\r_cmt_rtos_rx","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6\src\realtime_OS_pkg\r_cmt_rtos_rx\src","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6\src\FreeRTOS_user","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6\src","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6\src\smc_gen\r_config","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6\src\smc_gen\r_ether_rx","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6\src\smc_gen\r_flash_rx","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6\src\smc_gen\r_flash_rx\src","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6\src\smc_gen\r_flash_rx\src\flash_type_1","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6\src\smc_gen\r_flash_rx\src\flash_type_2","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6\src\smc_gen\r_flash_rx\src\flash_type_3","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6\src\smc_gen\r_flash_rx\src\flash_type_4","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6\src\smc_gen\r_flash_rx\src\targets","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6\src\smc_gen\general","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6\src\smc_gen\r_pincfg" -lang=c99 -nomessage -change_message=information=21644 -debug -nologo "../src/realtime_OS_pkg/hwsetup/hwsetup.c"../src/realtime_OS_pkg/hwsetup/../r_bsp_rtos/./board/rskrx65n_2mb/r_bsp.h(52):E0520005:Could not open source file "../../../r_bsp_rtos/mcu/rx65n/mcu_mapped_interrupts_private.h"../src/realtime_OS_pkg/hwsetup/../r_bsp_rtos/./board/rskrx65n_2mb/../../../r_bsp_rtos/mcu/rx65n/mcu_mapped_interrupts.h(204):E0520059:Function call is not allowed in a constant expression途中省略../src/realtime_OS_pkg/hwsetup/../r_bsp_rtos/./board/rskrx65n_2mb/../../../r_bsp_rtos/mcu/rx65n/mcu_mapped_interrupts.h(1077):E0520059:Function call is not allowed in a constant expressionError limit reached.
エラー箇所その2:
ccrx -MM -MP -output=dep="src/realtime_OS_pkg/r_cmt_rtos_rx/src/r_cmt_rx.d" -MT="src/realtime_OS_pkg/r_cmt_rtos_rx/src/r_cmt_rx.obj" -MT="src/realtime_OS_pkg/r_cmt_rtos_rx/src/r_cmt_rx.d" -isa=rxv2 -fpu -branch=32 -include="C:\Renesas\CS_~1\CC\CC-RX\V203~1.00\include","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\common\config_files","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\common\application_code","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\common\application_code\renesas_code","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\common\include","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\lib\include","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\lib\include\private","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\lib\FreeRTOS\portable\Renesas\RX600v2","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\lib\FreeRTOS-Plus-TCP\source\protocols\include","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\lib\FreeRTOS-Plus-TCP\include","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\lib\FreeRTOS-Plus-TCP\source\portable\Compiler\Renesas","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\lib\ota\portable\renesas\rx65n-envision-kit","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\lib\third_party\jsmn","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\lib\third_party\pkcs11","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\lib\third_party\tinycbor","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\lib\third_party\mbedtls\include","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6\src\realtime_OS_pkg\r_bsp_rtos","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6\src\realtime_OS_pkg\r_cmt_rtos_rx","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6\src\realtime_OS_pkg\r_cmt_rtos_rx\src","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6\src\FreeRTOS_user","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6\src","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6\src\smc_gen\r_config","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6\src\smc_gen\r_ether_rx","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6\src\smc_gen\r_flash_rx","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6\src\smc_gen\r_flash_rx\src","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6\src\smc_gen\r_flash_rx\src\flash_type_1","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6\src\smc_gen\r_flash_rx\src\flash_type_2","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6\src\smc_gen\r_flash_rx\src\flash_type_3","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6\src\smc_gen\r_flash_rx\src\flash_type_4","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6\src\smc_gen\r_flash_rx\src\targets","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6\src\smc_gen\general","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-envision-kit\ccrx-e2studio6\src\smc_gen\r_pincfg" -lang=c99 -nomessage -change_message=information=21644 -debug -nologo "../src/realtime_OS_pkg/r_cmt_rtos_rx/src/r_cmt_rx.c"../src/realtime_OS_pkg/r_cmt_rtos_rx/src/../../r_bsp_rtos/./board/rskrx65n_2mb/r_bsp.h(45):E0520005:Could not open source file "../../../r_bsp_rtos/mcu/rx65n/register_access/iodefine.h"../src/realtime_OS_pkg/r_cmt_rtos_rx/src/../../r_bsp_rtos/./board/rskrx65n_2mb/r_bsp.h(51):E0520005:Could not open source file "../../../r_bsp_rtos/mcu/rx65n/mcu_interrupts.h"../src/realtime_OS_pkg/r_cmt_rtos_rx/src/../../r_bsp_rtos/./board/rskrx65n_2mb/r_bsp.h(52):E0520005:Could not open source file "../../../r_bsp_rtos/mcu/rx65n/mcu_mapped_interrupts_private.h"../src/realtime_OS_pkg/r_cmt_rtos_rx/src/../../r_bsp_rtos/./board/rskrx65n_2mb/r_bsp.h(53):E0520005:Could not open source file "../../../r_bsp_rtos/mcu/rx65n/mcu_mapped_interrupts.h"../src/realtime_OS_pkg/r_cmt_rtos_rx/src/../../r_bsp_rtos/./board/rskrx65n_2mb/r_bsp.h(55):E0520005:Could not open source file "../../../r_bsp_rtos/board/rskrx65n_2mb/rskrx65n_2mb.h"../src/realtime_OS_pkg/r_cmt_rtos_rx/src/../../r_bsp_rtos/./board/rskrx65n_2mb/r_bsp.h(56):E0520005:Could not open source file "../../../r_bsp_rtos/board/rskrx65n_2mb/hwsetup.h"../src/realtime_OS_pkg/r_cmt_rtos_rx/src/../../r_bsp_rtos/./board/rskrx65n_2mb/r_bsp.h(57):E0520005:Could not open source file "../../../r_bsp_rtos/board/rskrx65n_2mb/lowsrc.h"../src/realtime_OS_pkg/r_cmt_rtos_rx/src/../../r_bsp_rtos/./board/rskrx65n_2mb/r_bsp.h(58):E0520005:Could not open source file "../../../r_bsp_rtos/board/rskrx65n_2mb/vecttbl.h"
rx65n-rskプロジェクトで発生したコンパイルエラー:エラー箇所(1つのみ):
ccrx -MM -MP -output=dep="src/realtime_OS_pkg/r_cmt_rtos_rx/src/r_cmt_rx.d" -MT="src/realtime_OS_pkg/r_cmt_rtos_rx/src/r_cmt_rx.obj" -MT="src/realtime_OS_pkg/r_cmt_rtos_rx/src/r_cmt_rx.d" -isa=rxv2 -fpu -branch=32 -include="C:\Renesas\CS_~1\CC\CC-RX\V203~1.00\include","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-rsk\ccrx-e2studio6","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-rsk\common\config_files","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-rsk\common\application_code","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-rsk\common\application_code\renesas_code","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\common\include","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\lib\include","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\lib\include\private","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\lib\FreeRTOS\portable\Renesas\RX600v2","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\lib\FreeRTOS-Plus-TCP\source\protocols\include","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\lib\FreeRTOS-Plus-TCP\include","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\lib\FreeRTOS-Plus-TCP\source\portable\Compiler\Renesas","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\lib\ota\portable\renesas\rx65n-rsk","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\lib\third_party\jsmn","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\lib\third_party\pkcs11","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\lib\third_party\tinycbor","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\lib\third_party\mbedtls\include","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-rsk\ccrx-e2studio6\src\realtime_OS_pkg\r_bsp_rtos","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-rsk\ccrx-e2studio6\src\realtime_OS_pkg\r_cmt_rtos_rx","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-rsk\ccrx-e2studio6\src\realtime_OS_pkg\r_cmt_rtos_rx\src","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-rsk\ccrx-e2studio6\src\FreeRTOS_user","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-rsk\ccrx-e2studio6\src","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-rsk\ccrx-e2studio6\src\smc_gen\r_config","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-rsk\ccrx-e2studio6\src\smc_gen\r_ether_rx","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-rsk\ccrx-e2studio6\src\smc_gen\r_flash_rx","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-rsk\ccrx-e2studio6\src\smc_gen\r_flash_rx\src","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-rsk\ccrx-e2studio6\src\smc_gen\r_flash_rx\src\flash_type_1","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-rsk\ccrx-e2studio6\src\smc_gen\r_flash_rx\src\flash_type_2","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-rsk\ccrx-e2studio6\src\smc_gen\r_flash_rx\src\flash_type_3","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-rsk\ccrx-e2studio6\src\smc_gen\r_flash_rx\src\flash_type_4","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-rsk\ccrx-e2studio6\src\smc_gen\r_flash_rx\src\targets","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-rsk\ccrx-e2studio6\src\smc_gen\general","C:\Renesas\AmazonFreeRTOS\amazon-freertos-renesas-rx-experiment-20180318\demos\renesas\rx65n-rsk\ccrx-e2studio6\src\smc_gen\r_pincfg" -lang=c99 -nomessage -change_message=information=21644 -debug -nologo "../src/realtime_OS_pkg/r_cmt_rtos_rx/src/r_cmt_rx.c"../src/realtime_OS_pkg/r_cmt_rtos_rx/src/../../r_bsp_rtos/./board/rskrx65n_2mb/r_bsp.h(45):E0520005:Could not open source file "../../../r_bsp_rtos/mcu/rx65n/register_access/iodefine.h"../src/realtime_OS_pkg/r_cmt_rtos_rx/src/../../r_bsp_rtos/./board/rskrx65n_2mb/r_bsp.h(52):E0520005:Could not open source file "../../../r_bsp_rtos/mcu/rx65n/mcu_mapped_interrupts_private.h"../src/realtime_OS_pkg/r_cmt_rtos_rx/src/../../r_bsp_rtos/./board/rskrx65n_2mb/../../../r_bsp_rtos/mcu/rx65n/mcu_mapped_interrupts.h(204):E0520059:Function call is not allowed in a constant expression途中省略../src/realtime_OS_pkg/r_cmt_rtos_rx/src/../../r_bsp_rtos/./board/rskrx65n_2mb/../../../r_bsp_rtos/mcu/rx65n/mcu_mapped_interrupts.h(1068):E0520059:Function call is not allowed in a constant expressionError limit reached.
シェルティさん、こんにちは。NoMaYです。GitHubのアカウントを教えて頂ければ、リポジトリの設定を変更して、シェルティさんからもリポジトリを直接変更出来るようにしたいと思います。また、解凍したフォルダのパスが(あまり深いとは言えないけれども)深くなるとコンパイルエラーが発生する件、問い合わせて頂けるとのことで有難う御座います。私の方でも、CS+とe2 studioで違いがあることが気になってしまい、もっと調べてみました。CS+では、コンパイルエラーが発生するかしないかの境目は以下の深さでした。それに対して、e2 studioでは、境目が以下の深さでした。CS+OK:C:\Renesas\AmazonFreeRTOS\renesas-rx-experiment-20180318-1234567890123456789NG:C:\Renesas\AmazonFreeRTOS\renesas-rx-experiment-20180318-12345678901234567890以下のエラーが発生src\realtime_OS_pkg\r_cmt_rtos_rx\src\../../r_bsp_rtos/./board/rskrx65n_2mb/r_bsp.h(52):F0520005:Could not open source file "../../../r_bsp_rtos/mcu/rx65n/mcu_mapped_interrupts_private.h"(参) この時のソースツリー上の最も深いパス名 = 207文字C:\Renesas\AmazonFreeRTOS\renesas-rx-experiment-20180318-12345678901234567890\demos\renesas\rx65n-envision-kit\ccrx-csplus\src\realtime_OS_pkg\r_bsp_rtos\board\rskrx65n_2mb\r_bsp_interrupt_config_reference.he2 studioOK:C:\Renesas\AmazonFreeRTOS\renesas-rx-experiment-20180318NG:C:\Renesas\AmazonFreeRTOS\renesas-rx-experiment-20180318-以下のエラーが発生../src/realtime_OS_pkg/r_cmt_rtos_rx/src/../../r_bsp_rtos/./board/rskrx65n_2mb/r_bsp.h(52):E0520005:Could not open source file "../../../r_bsp_rtos/mcu/rx65n/mcu_mapped_interrupts_private.h"(参) この時のソースツリー上の最も深いパス名 = 187文字C:\Renesas\AmazonFreeRTOS\renesas-rx-experiment-20180318-\demos\renesas\rx65n-envision-kit\ccrx-csplus\src\realtime_OS_pkg\r_bsp_rtos\board\rskrx65n_2mb\r_bsp_interrupt_config_reference.h推測ですが、<カレントフォルダのパス>¥<Cソースフォルダの相対パス>¥<ヘッダファイルの相対パス>というようにパスを連結しようとしている処理があって、連結後のパスの長さが260文字(Windows SDKのMAX_PATH)を超える場合には連結するのではなく何かエラーを返すようになっていて、それがコンパイルエラーに繋がっているのではないか、という予感がします。なぜなら、エラーメッセージに含まれているパスから連結後のパスを作ってみると以下の通りになって、それが261文字だったからです。CS+Renesas\AmazonFreeRTOS\renesas-rx-experiment-20180318-12345678901234567890\demos\renesas\rx65n-envision-kit\ccrx-csplus\src\realtime_OS_pkg\r_bsp_rtos\mcu\all\../../../r_bsp_rtos/./board/rskrx65n_2mb/../../../r_bsp_rtos/mcu/rx65n/mcu_mapped_interrupts_private.he2 studioRenesas\AmazonFreeRTOS\renesas-rx-experiment-20180318-\demos\renesas\rx65n-envision-kit\ccrx-e2studio6\HardwareDebug\..\src\realtime_OS_pkg\r_bsp_rtos\mcu\all\../../../r_bsp_rtos/./board/rskrx65n_2mb/../../../r_bsp_rtos/mcu/rx65n/mcu_mapped_interrupts_private.hそして、e2 studioがCS+より浅いフォルダに解凍した場合でもコンパイルエラーが発生するのは、e2 studioではCS+よりも1階層深いフォルダがカレントフォルダですので、それによる差異でマージンが大きく削られてしまっているのだと推測されます(上のパスの赤字部分)。また、寄与としては小さいのですが、フォルダ名に含まれている"e2studio6"が"csplus"より長い文字列であるということもあります(上のパスの青字部分)。なお、ファイルシステム、レジストリ、プロセス、スレッドの活動をリアルタイムで表示する、Process MonitorというMicrosoft社のツールを使い、CC-RXのファイルアクセスを調べてみた印象では、Windows API内部の処理で起きているのでは無さそうで、CC-RXに実装された処理で起きているのだろうと推測されます。なぜなら、以下の画面コピーの通り、OKの場合にはrealtime_OS_pkg\r_bsp_rtos\mcu\rx65n\mcu_mapped_interrupts_private.hへ問題無くファイルアクセス出来ていますが、NGの場合にはmcu_mapped_interrupts_private.hを探そうと幾つものパスの組み合わせを試していますがrealtime_OS_pkg\r_bsp_rtos\mcu\rx65n\mcu_mapped_interrupts_private.hへファイルアクセスは見当たらず、CC-RXに実装された処理で事前に除外されてしまっているのだと推測されます。OKの場合はrealtime_OS_pkg\r_bsp_rtos\mcu\rx65n\mcu_mapped_interrupts_private.hへ問題無くアクセス出来ているNGの場合はrealtime_OS_pkg\r_bsp_rtos\mcu\rx65n\mcu_mapped_interrupts_private.hへのアクセスが見当たらない
シェルティさん、こんにちは。NoMaYです。驚きました。ルネサスアメリカの開発チームも加わることになったのですね。(むしろ、ルネサスアメリカ主体になったとか?) ちなみに、ルネサスアメリカがやろうとしているSPI接続無線LANモジュール/ターゲットボードは、以下のものだったりしますか?RX65N Wi-Fi Cloud Connectivity Kit (以前調べた時は日本からは購入出来ないようでした。技適の関係かも知れません。)www.renesas.com/en-us/solutions/key-technology/connectivity/wi-fi/rx65n-wi-fi-kit.htmlそして、GitHubのリポジトリに関しては、すみません、遅くなりましたが、invitationを送りました。GitHubから以下のようなメールが届いているかと思います。メール内の[View invitation]のボタンのリンク先でacceptして頂けますか。メールのタイトル:NoMaY-jp invited you to NoMaY-jp/amazon-freertosメールの内容:@NoMaY-jp has invited you to collaborate on the NoMaY-jp/amazon-freertos repositoryYou can accept or decline this invitation. You can also head over to https://github.com/NoMaY-jp/amazon-freertos to check out the repository or visit @NoMaY-jp to learn a bit more about them.[View invitation] ← ボタンそれから、ソースをビルドするには以下のテキストの手順に従ってソースを入手および生成して頂けませんか。以下の2つのテキストはrx65n-rsk/ccrx-e2studio6のものですが、他のものも同様のフォルダにテキストを置いています。この2つの手順だけでビルド出来るようになります。ああっ、そうか、e2 studioでビルドする場合、どのソースが不足しているのか全く分からない(e2 studio/CDTはソースの有無に関しては一切関知しないので、CS+のようにソースが欠落しているというエラーは出ない)ので、このテキストの存在に気付きようがないですね。すみません。配慮が足りませんでした。どうするのが良いのか考えてみたところ、1つ案が思い浮かびました。幾つか前の投稿でも書いたビルド前ステップで、何かファイルの有無をチェックして見付からない場合は、以下のテキストを読むよう促すメッセージをコンソールウィンドウに表示させてみる、ということをやってみようかと思います。併せて、このGitHubのリポジトリのトップページのREADME.mdに注意書きを加えようと思います。もちろん、これらの手順が不要なようにGitHubに登録出来るようになれば、それが一番良いと思います。(1) RX65N Group Application Note RX65N Real-time OS Package V1.0.00のソースの入手テキストの場所:demos/renesas/rx65n-rsk/ccrx-e2studio6/src/realtime_OS_pkg/get!.txt内容:github.com/NoMaY-jp/amazon-freertos/blob/renesas-rx-experiment/demos/renesas/rx65n-rsk/ccrx-e2studio6/src/realtime_OS_pkg/get!.txt(2) スマートコンフィグレータのコード生成機能でソースを生成テキストの場所:demos/renesas/rx65n-rsk/ccrx-e2studio6/src/smc_gen/generate!.txt内容:github.com/NoMaY-jp/amazon-freertos/blob/renesas-rx-experiment/demos/renesas/rx65n-rsk/ccrx-e2studio6/src/smc_gen/generate!.txt[追記]おお、Hardware PartnersにESPRESSIFが、Ecosystem & Technology PartnersにSEGGERとMIPSが、新たに加わっていますね。このHardware PartnersにやがてRENESASも加わるのですね。(あれっ、armって全部小文字でしたっけ。ARM→Armになったのだったような。)Amazon FreeRTOS Partnersaws.amazon.com/jp/freertos/partners/
シェルティさん、こんにちは。NoMaYです。>e2 studio, CS+ともに長いファイルパスの場合コンパイルエラーが発生これは回避策が見付かりそうです。