■環境 e2 studio 2022-01 CC-RX V304 Amazon FreeRTOS v202012.00-rx-1.0.0 Renesas Secure Flash Programmer v1.0.1 ■操作手順 (1)プロジェクトインポート e2 studioのimport projectで "Renesas GitHub FreeRTOS (with IoT Libraries) Project" を選択 Amazon FreeRTOSのバージョン v202012.00-rx-1.0.0 を選択 aws_demos -> \projects\rx65n-cloud-kit-uart-sx-ulpgn\e2studio\aws_demos と boot_loader -> \projects\rx65n-cloud-kit-uart-sx-ulpgn\e2studio\boot_loader を選択しインポート (2)aws_demosとboot_loaderのセクション設定を保存 プロジェクトエクスプローラのaws_demosで右クリック->プロパティを選択 C/C++ビルド->設定->ツール設定->Linker->セクション->...ボタン->エクスポート->aws_demos.esiとして保存 プロジェクトエクスプローラのboot_loaderで右クリック->プロパティを選択 C/C++ビルド->設定->ツール設定->Linker->セクション->...ボタン->エクスポート->boot_loader.esiとして保存 (3)コンパイラのバージョン変更 プロジェクトエクスプローラのaws_demosで右クリック->プロパティを選択 C/C++ビルド->設定->Toolchain ツールチェイン: Renesas CCRX バージョン: v3.04.00 プロジェクトエクスプローラのboot_loaderで右クリック->プロパティを選択 C/C++ビルド->設定->Toolchain ツールチェイン: Renesas CCRX バージョン: v3.04.00 (4)ブートローダの設定 boot_loader.scfg をダブルクリック ボードタブ Custom User Board -> RSKRX65N-2MB セクション設定が初期状態に戻るので、boot_loader.esiを読み込む -> プロジェクトエクスプローラのboot_loaderで右クリック->プロパティを選択 C/C++ビルド->設定->ツール設定->Linker->セクション->...ボタン->インポート->boot_loader.esiを読み込み クロックタブ メインクロックに変更。後段のクロックが最速になるよう調整 [USBシリアル関連の設定] コンポーネントタブ もし灰色のコンポーネントがあればダウンロードを選択(GitHubをサーチして足りないコンポーネントを自動でダウンロード/インストールする) r_sci_rx channel5: Include -> Not に変更 channel8: Not -> Include に変更 -> 画面下の方にスクロールしていき、SCI8の端子でRXD8とTXD8が「使用する」になっていることを確認 端子タブ SCI8の設定、端子割当のところで、RXD8がPJ1、TXD8がPJ2になっていることを確認 プロジェクトエクスプローラでboot_loader -> src -> smc_gen -> r_bsp_config.h を開く (スマートコンフィグレータ非対応の設定項目を手動設定必要) MY_BSP_CFG_SERIAL_TERM_SCI: 5 -> 8 (5)アプリの設定 aws_demos.scfg をダブルクリック ボードタブ Custom User Board -> RSKRX65N-2MB セクション設定が初期状態に戻るので、boot_loader.esiを読み込む -> プロジェクトエクスプローラのboot_loaderで右クリック->プロパティを選択 C/C++ビルド->設定->ツール設定->Linker->セクション->...ボタン->インポート->aws_demos.esiを読み込み クロックタブ メインクロックに変更。後段のクロックが最速になるよう調整 [USBシリアル関連の設定] コンポーネントタブ もし灰色のコンポーネントがあればダウンロードを選択(GitHubをサーチして足りないコンポーネントを自動でダウンロード/インストールする) r_sci_rx channel5: Include -> Not に変更 channel8: Not -> Include に変更 -> 画面下の方にスクロールしていき、SCI8の端子でRXD8とTXD8が「使用する」になっていることを確認 端子タブ SCI8の設定、端子割当のところで、RXD8がPJ1、TXD8がPJ2になっていることを確認 プロジェクトエクスプローラでaws_demos -> vendors -> renesas -> boards -> rx65n-cloud-kit-uart-sx-ulpgn -> aws_demos -> src -> smc_gen -> r_config -> r_bsp_config.h を開く (スマートコンフィグレータ非対応の設定項目を手動設定必要) MY_BSP_CFG_SERIAL_TERM_SCI: 5 -> 8 [Wifiモジュール関連の設定] コンポーネントタブ もし灰色のコンポーネントがあればダウンロードを選択(GitHubをサーチして足りないコンポーネントを自動でダウンロード/インストールする) r_sci_rx channel0: Include -> Not に変更 channel1: Include -> Not に変更 channel6: Not -> Include に変更 ASYNC mode TX queue buffer size for channel 0: 2180 -> 80 ASYNC mode TX queue buffer size for channel 1: 2180 -> 80 ASYNC mode TX queue buffer size for channel 6: 80 -> 2180 ASYNC mode RX queue buffer size for channel 0: 4096 -> 80 ASYNC mode RX queue buffer size for channel 1: 4096 -> 80 ASYNC mode RX queue buffer size for channel 6: 80 -> 4096 -> 画面下の方にスクロールしていき、SCI6の端子でRXD6とTXD6とCTS6#が「使用する」になっていることを確認 注意: 操作手順通りの場合、CTS6# を「使用する」、SCK6を「使用しない」に変更が必要 端子タブ SCI6の設定、端子割当のところで、RXD6とTXD6とCTS6#の「使用する」チェックを入れる 注意: 操作手順通りの場合、SMISO6とSMOSI6の「使用する」チェックを外す変更が必要 RXD6がP01、TXD6がP00、CTS6#がPJ3になっていることを確認 -> 念のためボード回路図を確認し、上記設定の通りの回路になっていること確認 https://www.renesas.com/jp/ja/products/microcontrollers-microprocessors/rx-32-bit-performance-efficiency-mcus/rx65n-2mb-starter-kit-plus-renesas-starter-kit-rx65n-2mb Renesas Starter Kit+ for RX65N-2MB CPU Board Schematics プロジェクトエクスプローラでaws_demos -> vendors -> renesas -> boards -> rx65n-cloud-kit-uart-sx-ulpgn -> aws_demos -> src -> smc_gen -> r_config -> r_bsp_config.h を開く (スマートコンフィグレータ非対応の設定項目を手動設定必要) MY_BSP_CFG_SERIAL_TERM_SCI: 5 -> 8 もう一度コンポーネントタブに戻る 本バージョンで参照されているwifiドライバの r_wifi_sx_ulpgn v1.11 はGitHubにアップしていない試作版のため、 aws_demos.scfg を直接改造してv1.13を参照させる プロジェクトエクスプローラのaws_demosを右クリック -> system explorer を開く e2 studioを一度閉じる aws_demos.scfgをテキストエディタで開く 1069行名を以下のように変更 id="r_wifi_sx_ulpgn1.11" version="1.11" id="r_wifi_sx_ulpgn1.13" version="1.13" e2 studioを起動 もう一度 aws_demos.scfg をダブルクリックしスマートコンフィグレータのコンポーネントタブに戻る r_wifi_sx_ulpgn SCI Channel number for SX-ULPGN initial Command Port for AT command communication の値を 6 に変更(SCIチャネル6を使用してWIFIモジュール制御を行うという意味) SCI Channel number for SX-ULPGN second Command Port for AT command communication の値を 6 に変更(SCIチャネル6を使用してWIFIモジュール制御を行うという意味) General-purpose port PDR register connected to the SX-ULPGN EN pin の値を PORTD から PORTF に変更 General-purpose port PODR register connected to the SX-ULPGN EN pin の値を 0 から 5 に変更 注意: コメントがおかしい。修正中。SX-ULPGNのEN端子(POWER端子)の制御をRXマイコン側のポート何番で行うか、の設定項目。このボードではPF5端子を使う回路となっている。 Configure RTS Port No. for WIFI_CFG_SCI_CHANNEL の値を PORT2 から PORT0 に変更 Configure RTS Pin No. for WIFI_CFG_SCI_CHANNEL の値を 2 になっていること確認 スマートコンフィグレータ上のコード生成ボタンを一度押しておく プロジェクトエクスプローラのaws_demosを右クリック -> system explorer を開く 5階層上り、 vendors -> renesas -> boards -> rx65n-cloud-kit-uart-sx-ulpgn -> aws_demos -> src -> smc_gen -> r_config -> r_wifi_sx_ulpgn_config.h を削除 vendors -> renesas -> boards -> rx65n-cloud-kit-uart-sx-ulpgn -> aws_demos -> src -> smc_gen -> r_wifi_sx_ulpgn -> フォルダ全体をコピー vendors -> renesas -> boards -> rx_driver_package -> v125 -> r_wifi_sx_ulpgn -> r_wifi_sx_ulpgn -> フォルダ全体をペースト r_wifi_sx_ulpgnの新しい版(v1.13)で廃止になったファイルを手動で削除する プロジェクトエクスプローラの vendors -> renesas -> rx_driver_package -> v125 -> r_wifi_sx_ulpgn -> src -> r_wifi_sx_ulpgn_queue.c を右クリック、削除 プロジェクトエクスプローラの vendors -> renesas -> rx_driver_package -> v125 -> r_wifi_sx_ulpgn -> src -> r_wifi_sx_ulpgn_recv_task.c を右クリック、削除 r_wifi_sx_ulpgnの新しい版(v1.13)で追加になったファイルを手動で追加する プロジェクトエクスプローラの vendors -> renesas -> rx_driver_package -> v125 -> r_wifi_sx_ulpgn -> src で右クリック -> 新規 -> ファイル 以下のようにリンクファイルとして3ファイル追加 AWS_IOT_MCU_ROOT\vendors\renesas\rx_driver_package\v125\r_wifi_sx_ulpgn\src\r_wifi_sx_ulpgn_atcmd.c AWS_IOT_MCU_ROOT\vendors\renesas\rx_driver_package\v125\r_wifi_sx_ulpgn\src\r_wifi_sx_ulpgn_os_wrap.c AWS_IOT_MCU_ROOT\vendors\renesas\rx_driver_package\v125\r_wifi_sx_ulpgn\src\r_wifi_sx_ulpgn_os_wrap.h 参考スクリーンショット: ■制限事項 ・上記手順でRX65N RSKにおけるOTA動作は実現できるが、以下問題がありOTA動作が不完全である ①OTA動作後にソフトウェアリセットが起動しない ②①の後ボード上のリセットスイッチを押しセキュアブートを起動、 新しいファームウェアがbank1側に書き込まれていて検証も成功するようだがそのあとバンクスワップが動作せず ソフトウェアリセット後フリーズする ③②の後ボード上のリセットスイッチを押しセキュアブートを起動、 古いファームウェアのまま起動してくる →AWSに「ファームウェアが更新されていない」と認識されOTA動作が失敗する