

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Cypress CY8CKIT-064S0S2-4343W キットの開始方法
<a name="getting_started_cypress_psoc64"></a>

**重要**  <a name="deprecation-message"></a>
このリファレンス統合は、非推奨の Amazon-FreeRTOS リポジトリでホストされています。新しいプロジェクトを作成するときは、[ここから始める](freertos-getting-started-modular.md)ことをお勧めします。現在非推奨の Amazon-FreeRTOS リポジトリをベースにした既存の FreeRTOS プロジェクトが既にある場合は、「[Amazon FreeRTOS Github リポジトリ移行ガイド](github-repo-migration.md)」を参照してください。

このチュートリアルでは、[CY8CKIT-064S0S2-4343W](https://www.cypress.com/CY8CKIT-064S0S2-4343W) キットの使用を開始するための手順について説明します。お持ちでない場合は、リンクを使用してキットを購入できます。このリンクを使用して、キットのユーザーガイドにアクセスすることもできます。

## 開始方法
<a name="getting_started_cypress_psoc64_first"></a>

開始する前に、デバイスを AWS クラウドに接続するように AWS IoT と FreeRTOS を設定する必要があります。手順については、「[最初のステップ](freertos-prereqs.md)」を参照してください。前提条件を完了すると、 AWS IoT Core 認証情報を含む FreeRTOS パッケージが作成されます。

**注記**  
このチュートリアルでは、「最初のステップ」セクションで作成した FreeRTOS ダウンロードディレクトリへのパスを `{{freertos}}` とします。

## 開発環境のセットアップ
<a name="getting_started_cypress_psoc64_setup"></a>

FreeRTOS では CMake または Make 構築フローのいずれかを使用できます。Make 構築フローには、ModusToolbox を使用できます。ModusToolbox に付属している Eclipse IDE か、IAR EW-Arm、Arm MDK、Microsoft Visual Studio Code などのパートナー IDE を使用できます。Eclipse IDE は、Windows、macOS、および Linux オペレーティングシステムと互換性があります。

始める前に、最新の [ModusToolbox ソフトウェア](https://www.cypress.com/products/modustoolbox-software-environment)をダウンロードして、インストールします。詳細については、[ModusToolbox インストールガイド](https://www.cypress.com/ModusToolboxInstallGuide)を参照してください。

### ModusToolbox 2.1 以前のツールを更新する
<a name="getting_started_cypress_psoc64_modus_toolbox_updates"></a>

ModusToolbox 2.1 Eclipse IDE を使用してこのキットをプログラムする場合は、OpenOCD および Firmware-loader ツールを更新する必要があります。

以下のステップでは、デフォルトの `{{ModusToolbox}}` パスは次のようになります。
+ Windows では `C:\Users\{{user_name}}\ModusToolbox` です。
+ Linux では `{{user_home}}/ModusToolbox`、またはアーカイブファイルを抽出する場所になります。
+ MacOS では、ウィザードで選択したボリュームの [Applications] (アプリケーション) フォルダの下です。

#### OpenOCD の更新
<a name="getting_started_cypress_psoc64_openocd_update"></a>

このキットでチップを正常に消去してプログラムするには、Cypress OpenOCD 4.0.0 以降が必要です。

**Cypress OpenOCD を更新するには**

1. [Cypress OpenOCD リリースページ](https://github.com/Infineon/openocd/releases)にアクセスします。

1. OS (Windows/Mac/Linux) 用のアーカイブファイルをダウンロードします。

1. `{{ModusToolbox}}/tools_2.x/openocd` にある既存のファイルを削除します。

1. `{{ModusToolbox}}/tools_2.x/openocd` にあるファイルを前のステップでダウンロードしたアーカイブの抽出ファイルで置き換えます。

#### Firmware-loader の更新
<a name="getting_started_cypress_psoc64_firmware_loader_update"></a>

このキットには、Cypress Firmware-loader 3.0.0 以降が必要です。

**Cypress Firmware-loader を更新するには**

1. [Cypress Firmware-loader リリースページ](https://github.com/cypresssemiconductorco/Firmware-loader/releases)にアクセスします。

1. OS (Windows/Mac/Linux) 用のアーカイブファイルをダウンロードします。

1. `{{ModusToolbox}}/tools_2.x/fw-loader` にある既存のファイルを削除します。

1. `{{ModusToolbox}}/tools_2.x/fw-loader` にあるファイルを前のステップでダウンロードしたアーカイブの抽出ファイルで置き換えます。

または、CMake を使用して FreeRTOS アプリケーションのソースコードからプロジェクトビルドファイルを生成し、好みのビルドツールを使用してプロジェクトを構築してから、OpenOCD を使用してキットをプログラムすることもできます。CMake フローでプログラミングに GUI ツールを使用する場合は、Cypress Programmer を [Cypress プログラミングソリューション](https://www.cypress.com/products/psoc-programming-solutions)ウェブページからダウンロードして、インストールします。詳細については、「[FreeRTOS で CMake を使用する](getting-started-cmake.md)」を参照してください。

## ハードウェアの設定
<a name="getting_started_cypress_psoc64_hardware"></a>

キットのハードウェアをセットアップするには、次の手順を実行します。

1. 

**キットをプロビジョニングする**  
[CY8CKIT-064S0S2-4343W キットのプロビジョニングガイド](https://community.cypress.com/docs/DOC-20043)の手順に従って、 AWS IoT用にキットを安全にプロビジョニングします。

   このキットには、CySecureTools 3.1.0 以降が必要です。

1. **シリアル接続を設定する**

   1. キットをホストコンピュータに接続します。

   1. キットの USB シリアルポートは、ホストコンピュータに自動的に表示されます。ポート番号を指定します。Windows では、**デバイスマネージャー**の **[Ports]** (ポート) (COM と LPT) を使用して指定できます。

   1. シリアルターミナルを起動し、以下の設定で接続を開きます。
      + ボーレート: 115200
      + データ: 8 ビット
      + パリティ: なし
      + ストップビット: 1
      + フロー制御: なし

## FreeRTOS デモプロジェクトを構築して実行する
<a name="getting_started_cypress_psoc64_build_run"></a>

このセクションでは、デモを構築して実行します。

1. [CY8CKIT-064S0S2-4343W キットのプロビジョニングガイド](https://community.cypress.com/docs/DOC-20043)の手順に従います。

1. **FreeRTOS デモを構築します。**

   1. ModusToolbox の Eclipse IDE を開き、ワークスペースを選択するか、または作成します。

   1. **[File]** (ファイル) メニューから **[Import]** (インポート) を選択します。

      **[General]** (全般) を展開し、**[Existing Projects into Workspace]** (既存のプロジェクトを WorkSpace へ) を選択してから、**[Next]** (次へ) を選択します。

   1. **[Root Directory]** (ルートディレクトリ) に `{{freertos}}/projects/cypress/CY8CKIT-064S0S2-4343W/mtb/aws_demos` と入力し、プロジェクト名 `aws_demos` を選択します。デフォルトで、このプロジェクト名が選択されています。

   1. **[Finish]** (完了) を選択してプロジェクトをワークスペースにインポートします。

   1. 次のいずれかを実行して、アプリケーションを構築します。
      + **[Quick Panel]** (クイックパネル) から、**[Build aws\_demos Application]** (aws\_demos アプリケーションの構築) を選択します。
      + **[Project]** (プロジェクト) を選択して、**[Build All]** (すべて構築) を選択します。

      プロジェクトのコンパイルにエラーがないことを確認します。

1. 

**クラウド上の MQTT メッセージのモニタリング**  
デモを実行する前に、 AWS IoT コンソールで MQTT クライアントを設定して、デバイスが AWS クラウドに送信するメッセージをモニタリングできます。MQTT クライアントで AWS IoT MQTT トピックをサブスクライブするには、次の手順に従います。

   1. [AWS IoT コンソール](https://console.aws.amazon.com//iotv2/) にサインインします。

   1. ナビゲーションペインで、**[テスト]** を選択し、**[MQTT テストクライアント]** を選択して MQTT クライアントを開きます。

   1. **[Subscription topic]** (トピックのサブスクリプション) で **{{your-thing-name}}/example/topic** と入力し、**[Subscribe to topic]** (トピックへのサブスクライブ) を選択します。

1. **FreeRTOS デモプロジェクトを実行する**

   1. ワークスペースでプロジェクト `aws_demos` を選択します。

   1. **[Quick Panel]** (クイックパネル) から、**[aws\_demos Program (KitProg3)]** (aws\_demos プログラム (KitProg3)) を選択します。これにより、ボードがプログラムされ、プログラミングが完了した後にデモアプリケーションの実行が開始されます。

   1. シリアルターミナルで実行中のアプリケーションのステータスを表示できます。次の図は、ターミナル出力の一部を示しています。  
![aws_demo プロジェクトのビルド後のターミナル出力のスクリーンショット。](http://docs.aws.amazon.com/ja_jp/freertos/latest/userguide/images/gsg-psoc64-terminal-output.png)

      MQTT デモは、4 つの異なるトピック (`iotdemo/topic/{{n}}`、n は 1～4) に関するメッセージを公開し、同じメッセージを受信するためにこれらのトピックをすべてサブスクライブします。メッセージが受信されると、デモはトピックに関する確認メッセージ `iotdemo/acknowledgements` を公開します。次のリストは、ターミナル出力に表示されるデバッグメッセージと、そのメッセージのシリアル番号を示しています。出力では、WICED Host Driver (WHD) ドライバーの詳細がシリアル番号なしで最初に表示されます。

      1. 1 ～ 4 – デバイスは設定されたアクセスポイント (AP) に接続し、設定されたエンドポイントと証明書を使用して AWS サーバーに接続することでプロビジョニングされます。

      1. 5～13: coreMQTT ライブラリが初期化され、デバイスが MQTT 接続を確立します。

      1. 14～17: デバイスはすべてのトピックをサブスクライブして、公開されたメッセージを受信します。

      1. 18～30: デバイスは 2 つのメッセージを公開し、それらを受信するまで待機します。各メッセージが受信されると、デバイスは確認メッセージを送信します。

      すべてのメッセージが公開されるまで、公開、受信、および確認の同じサイクルが続きます。設定されたサイクル数が完了するまで、サイクルごとに 2 つのメッセージが公開されます。

1. 

**FreeRTOS で CMake を使用する**  
CMake を使用してデモアプリケーションを構築して実行することもできます。CMake とネイティブビルドシステムをセットアップするには、「[前提条件](getting-started-cmake.md#building-cmake-prereqs)」を参照してください。

   1. ビルドファイルを生成するには、次のコマンドを使用します。`-DBOARD` オプションを使用してターゲットボードを指定します。

      ```
      cmake -DVENDOR=cypress -DBOARD=CY8CKIT_064S0S2_4343W -DCOMPILER=arm-gcc -S {{freertos}} -B {{build_dir}}
      ```

      Windows を使用する場合、CMake はデフォルトで Visual Studio を使用するため、`-G` オプションでネイティブビルドシステムを指定する必要があります。  
**Example**  

      ```
      cmake -DVENDOR=cypress -DBOARD=CY8CKIT_064S0S2_4343W -DCOMPILER=arm-gcc -S {{freertos}} -B {{build_dir}} -G Ninja
      ```

      シェルパス内に `arm-none-eabi-gcc` がない場合は、`AFR_TOOLCHAIN_PATH` CMake 変数を設定する必要もあります。  
**Example**  

      ```
       -DAFR_TOOLCHAIN_PATH=/home/user/opt/gcc-arm-none-eabi/bin
      ```

   1. CMake を使用してプロジェクトを構築するには、次のコマンドを実行します。

      ```
      cmake --build {{build_dir}}
      ```

   1. 最後に、Cypress Programmer を使用して `{{build_dir}}` に生成された `cm0.hex` と `cm4.hex` ファイルをプログラムします。

### その他のデモを実行する
<a name="getting_started_cypress_psoc64_demos"></a>

次のデモアプリケーションは、現在のリリースで動作することがテストされ、確認されています。これらのデモは、`{{freertos}}/demos` ディレクトリにあります。デモの実行方法については、「[FreeRTOS デモ](freertos-next-steps.md)」を参照してください。
+ Bluetooth Low Energy デモ
+ 無線通信経由更新デモ
+ セキュアソケットエコークライアントのデモ
+ AWS IoT Device Shadow デモ

## デバッグ
<a name="getting_started_cypress_psoc64_debugging"></a>

キットの KitProg3 は SWD プロトコルでのデバッグをサポートしています。
+ FreeRTOS アプリケーションをデバッグするには、ワークスペースで **[aws\_demos project]** (aws\_demos プロジェクト) を選択し、**[Quick Panel]** (クイックパネル) から **[aws\_demos Debug (KitProg3)]** (aws\_demos デバッグ (KitProg3)) を選択します。

## OTA の更新
<a name="getting_started_cypress_psoc64_ota_updates"></a>

PSoC 64 MCU は、必要なすべての FreeRTOS 認定テストに合格しています。ただし、PSoC 64 Standard Secure AWS ファームウェアライブラリに実装されているオプションのover-the-air (OTA) 機能は、まだ評価保留中です。実装されている OTA 機能は、[aws\_ota\_test\_case\_rollback\_if\_unable\_to\_connect\_after\_update.py](https://github.com/aws/amazon-freertos/blob/202012.00/tools/ota_e2e_tests/aws_ota_test/aws_ota_test_case_rollback_if_unable_to_connect_after_update.py) を除き、現在 OTA 認定テストのすべてに合格しています。

正常に検証された OTA イメージが PSoC64 Standard Secure – AWS MCU を使用してデバイスに適用され、デバイスが通信できない場合 AWS IoT Core、デバイスは元の既知の正常なイメージに自動的にロールバックできません。これにより、さらなる更新 AWS IoT Core のために からデバイスにアクセスできなくなる可能性があります。この機能は、Cypress チームによってまだ開発中です。

詳細については、「[OTA Updates with AWS and the CY8CKIT-064S0S2-4343W Kit](https://community.cypress.com/docs/DOC-20063)」を参照してください。その他の質問がある場合、またはテクニカルサポートが必要な場合は、[Cypress Developer Community](https://community.cypress.com) にお問い合わせください。