

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

# Xilinx Avnet MicroZed Industrial IoT キットの開始方法
<a name="getting_started_xilinx"></a>

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

このチュートリアルでは、Xilinx Avnet MicroZed Industrial IoT Kit の使用を開始するための手順について説明します。Xilinx Avnet MicroZed Industrial IoT キットがない場合は、AWS Partner Device Catalog にアクセスして当社の[パートナー](https://devices.amazonaws.com/detail/a3G0L00000AANtqUAH/MicroZed-IIoT-Bundle-with-Amazon-FreeRTOS)から購入してください。

開始する前に、デバイスを AWS クラウドに接続するように、AWS IoT と FreeRTOS ダウンロードを設定する必要があります。手順については「[最初のステップ](freertos-prereqs.md)」を参照してください。このチュートリアルでは、FreeRTOS ダウンロードディレクトリへのパスを `freertos` とします。

## 概要
<a name="xilinx-overview"></a>

このチュートリアルには、使用開始のための以下の手順が含まれています。

1. ボードをホストマシンに接続します。

1. マイクロコントローラーボード用の組み込みアプリケーションを開発およびデバッグするためのソフトウェアをホストマシンにインストールします。

1. FreeRTOS デモアプリケーションをバイナリイメージにクロスコンパイルします。

1. アプリケーションバイナリイメージをボードにロードし、アプリケーションを実行します。

## MicroZed ハードウェアを設定する
<a name="xilinx-setup-hardware"></a>

以下の図は、MicroZed ハードウェアを設定するときに役立ちます。

![\[AVNet マイクロコントローラーボードで、Power Good LED、ユーザー LED とプッシュボタン、JTAG アクセス、10/100/1000 イーサネットと USB ホスト、microSD スロット、USB-UART、Done LED、リセットボタン、ブートモードジャンパーが強調表示されています。\]](http://docs.aws.amazon.com/ja_jp/freertos/latest/userguide/images/microzed.png)


**MicroZed ボードをセットアップするには**

1. MicroZed ボードの USB-UART ポートにコンピュータを接続します。

1. MicroZed ボードの JTAG Access ポートにコンピュータを接続します。

1. ルーターまたはインターネットに接続されたイーサネットポートを、MicroZed ボードのイーサネットおよび USB ホストポートに接続します。

## 開発環境をセットアップする
<a name="xilinx-setup-env"></a>

MicroZed キット用に FreeRTOS を設定するには、Xilinx ソフトウェア開発キット (XSDK) を使用する必要があります。XSDK は Windows と Linux でサポートされています。

### XSDK のダウンロードとインストール
<a name="install-xsdk"></a>

Xilinx ソフトウェアをインストールするには、無料の Xilinx アカウントが必要です。

**XSDK をダウンロードするには**

1. [ソフトウェア開発キットスタンドアロン WebInstall クライアント](https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/embedded-design-tools/2019-1.html)のダウンロードページに移動します。

1. オペレーティングシステムに適したオプションを選択します。

1. Xilinx のサインインページが表示されます。

   Xilinx のアカウントを持っている場合は、サインイン認証情報を入力して **[サインイン]** を選択します。

   アカウントを持っていない場合は、**[Create your account]** (アカウントを作成する) を選択します。登録後、Xilinx アカウントを有効にするリンクが記載された E メール が届きます。

1. **[Name and Address Verification]** (名前と住所の検証) ページで、情報を入力して **[Next]** (次へ) を選択します。ダウンロードを開始する準備ができているはずです。

1. `Xilinx_SDK_version_os` ファイルを保存します。

**XSDK をインストールするには**

1. `Xilinx_SDK_version_os` ファイルを開きます。

1. **[Select Edition to Install]** (インストールするエディションの選択) で、**[Xilinx Software Development Kit (XSDK)]** (Xilinx ソフトウェア開発キット (XSDK)) を選択し、**[Next]** (次へ) を選択します。

1. 次のインストールウィザードのページの **[Installation Options]** (インストールオプション) で、**[Install Cable Drivers]** (ケーブルドライバーのインストール) を選択し、**[Next]** (次へ) を選択します。

コンピュータが MicroZed の USB-UART 接続を検出しない場合は、CP210x USB-to-UART Bridge VCP ドライバーを手動でインストールしてください。手順については、「[Silicon Labs CP210x USB-to-UART インストールガイド](https://www.xilinx.com/support/documentation/boards_and_kits/install/ug1033-cp210x-usb-uart-install.pdf)」を参照してください。

XSDK の詳細については、Xilink のウェブサイトの「[Xilinx SDK の開始方法](https://www.xilinx.com/html_docs/xilinx2018_2/SDK_Doc/index.html)」を参照してください。

## クラウドの MQTT メッセージのモニタリング
<a name="xilinx-monitor-mqtt"></a>

FreeRTOS デモプロジェクトを実行する前に、デバイスが AWS クラウドに送信するメッセージをモニタリングするために、AWS IoT コンソールで MQTT クライアントをセットアップすることができます。

**AWS IoT MQTT クライアントで MQTT トピックをサブスクライブするには**

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

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

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

## FreeRTOS デモプロジェクトを構築して実行する
<a name="xilinx-build-and-run-example"></a>

### XSDK IDE で FreeRTOS デモを開く
<a name="xilinx-freertos-import-project"></a>

1. ワークスペースディレクトリを `freertos/projects/xilinx/microzed/xsdk` に設定して XSDK IDE を起動します。

1. ウェルカムページを閉じます。メニューから、**[Project]** (プロジェクト) を選択し、**[Build Automatically]** (自動的に構築する) をクリアします。

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

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

1. **[Import Projects]** (プロジェクトのインポート) ページで、**[Select root directory]** (ルートディレクトリの選択) を選択し、デモプロジェクトのルートディレクトリ (`freertos/projects/xilinx/microzed/xsdk/aws_demos`) を入力します。ディレクトリを参照するには、**[Browse]** (参照) を選択します。

   ルートディレクトリを指定すると、そのディレクトリのプロジェクトが **[Import Projects]** (プロジェクトのインポート) ページに表示されます。使用可能なすべてのプロジェクトはデフォルトで選択されています。
**注記**  
**[Import Projects]** (プロジェクトのインポート) ページ (「一部のプロジェクトは既にワークスペースに存在するため、インポートできません。」) の上部に警告が表示された場合は、無視してかまいません。

1. 選択されたすべてのプロジェクトで、**[Finish]** (完了) を選択します。

1. プロジェクトペインに `aws_bsp`、`fsbl`、および `MicroZed_hw_platform_0` プロジェクトが表示されない場合は、3 からここまでの手順を繰り返します。ただし、ルートディレクトリは `freertos/vendors/xilinx` に設定し、`aws_bsp`、`fsbl`、および `MicroZed_hw_platform_0` をインポートします。

1. メニューから、**[Window]** (ウィンドウ) を選択し、**[Preferences]** (プリファレンス) を選択します。

1. ナビゲーションペインで、**[Run/Debug]** (実行/デバッグ) を展開して、**[String Substitution]** (文字列の置換) を選択し、**[New]** (新規) を選択します。

1. **[New String Substitution Variable]** (新しい文字列置換変数) の、**[Name]** (名前) に 「**AFR\$1ROOT**」と入力します。**[Value]** (値) で、`freertos/projects/xilinx/microzed/xsdk/aws_demos` のルートパスを入力します。**[OK]** を選択し、**[OK]** を選択して変数を保存します。**[Preferences]** (プリファレンス) を閉じます。

### FreeRTOS デモプロジェクトを構築する
<a name="xilinx-freertos-build-project"></a>

1. XSDK IDE で、メニューから、**[Project]** (プロジェクト) を選択し、**[Clean]** (クリーンアップ) を選択します。

1. **[Clean]** (クリーンアップ) で、オプションをデフォルト値のままにして、**[OK]** を選択します。XSDK はすべてのプロジェクトをクリーンアップしてビルドし、`.elf` ファイルを生成します。
**注記**  
すべてのプロジェクトをクリーンアップせずに構築するには、**[Project]** (プロジェクト) を選択し、**[Build All]** (すべて構築) を選択します。  
個々のプロジェクトを構築するには、構築するプロジェクトを選択し、**[Project]** (プロジェクト) を選択して、**[Build Project]** (プロジェクトを構築する) を選択します。

### FreeRTOS デモプロジェクトから起動イメージを生成する
<a name="xilinx-build-boot-image"></a>

1. XSDK IDE で、**[aws\$1demos]** を右クリックして、**[Create Boot Image]** (起動イメージの作成) を選択します。

1. **[Create Boot Image]** (軌道イメージの作成) で、**[Create new BIF]** (新しい BIF の作成) を選択します。

1. **[Output BIF file path]** (BIF ファイルパスを出力する) の横で、**[Browse]** (参照) を選択し、`<freertos>/vendors/xilinx/microzed/aws_demos/aws_demos.bif` にある `aws_demos.bif` を選択します。

1. **[Add]** (追加) を選択します。

1. **[Add new boot image partition]** (新しい起動イメージパーティションの追加) で、**[File path]** (ファイルパス) の横の、**[Browse]** (参照) を選択し、`vendors/xilinx/fsbl/Debug/fsbl.elf` にある `fsbl.elf` を選択します。

1. **[Partition type]** (パーティションの種類) で、**[bootloader]** (ブートローダー) を選択し、**[OK]** を選択します。

1. **[Create Boot Image]** (軌道イメージの作成) で、**[Create Image]** (イメージの作成) を選択します。[**Override Files **] (ファイルのオーバーライド) で、[**OK**] を選択して既存の `aws_demos.bif` を上書きし、`projects/xilinx/microzed/xsdk/aws_demos/BOOT.bin` に `BOOT.bin` ファイルを生成します。

### JTAG デバッグ
<a name="xilinx-jtag"></a>

1. MicroZed ボードのブートモードジャンパーを JTAG ブートモードに設定します。  
![\[回路基板ヘッダーコネクタとジャンパー設定。\]](http://docs.aws.amazon.com/ja_jp/freertos/latest/userguide/images/xilinx-jtag.png)

1. MicroSD カードを USB-UART ポートのすぐ下にある MicroSD カードスロットに挿入します。
**注記**  
デバッグする前に、MicroSD カードにあるコンテンツを必ずバックアップしてください。

   ボードは以下のようになります。  
![\[接続オプション付きの FreeRTOS 評価ボード。\]](http://docs.aws.amazon.com/ja_jp/freertos/latest/userguide/images/xilinx-jtag-full-board.png)

1. XSDK IDE で、**[aws\$1demos]** を右クリックして、**[Debug As]** (名前をつけてデバッグ) を選択し、**[1 Launch on System Hardware (System Debugger)]** (1 システムハードウェアで起動 (システムデバッガー)) を選択します。

1. デバッガーが `main()` のブレークポイントで停止したら、メニューから **[Run]** (実行) を選択し、**[Resume]** (再開) を選択します。
**注記**  
初めてアプリケーションを実行する際に、新しい証明書とキーのペアが不揮発性メモリにインポートされます。それ以降の実行では、イメージと `vDevModeKeyProvisioning()` ファイルを再構築する前に、`main.c` ファイルで `BOOT.bin` をコメントアウトすることができます。これにより、実行のたびに証明書とキーをストレージにコピーすることができなくなります。

MicroZed ボードを MicroSD カードまたは QSPI フラッシュから起動して、FreeRTOS デモプロジェクトを実行できます。手順については、「[FreeRTOS デモプロジェクトから起動イメージを生成する](#xilinx-build-boot-image)」および「[FreeRTOS デモプロジェクトを実行する](#xilinx-run)」を参照してください。

### FreeRTOS デモプロジェクトを実行する
<a name="xilinx-run"></a>

FreeRTOS デモプロジェクトを実行するには、MicroZed ボードを MicroSD カードまたは QSPI フラッシュから起動します。

FreeRTOS デモプロジェクトを実行するために MicroZed ボードを設定するときは、[MicroZed ハードウェアを設定する](#xilinx-setup-hardware) の図を参照してください。MicroZed ボードをコンピュータに接続していることを確認してください。

#### MicroSD カードから FreeRTOS プロジェクトを起動する
<a name="xilinx-build-boot-sd"></a>

Xilinx MicroZed Industrial IoT キットに同梱の MicroSD カードをフォーマットします。

1. `BOOT.bin` ファイルを MicroSD カードにコピーします。

1. カードを USB-UART ポートのすぐ下にある MicroSD カードスロットに挿入します。

1. MicroZed ボードのブートモードジャンパーを SD ブートモードに設定します。  
![\[JP1、JP2、JP3 と表示された 3 つのスロットと、コインセルバッテリーホルダーを備えた SD カード。\]](http://docs.aws.amazon.com/ja_jp/freertos/latest/userguide/images/xilinx-sd.png)

1. RST ボタンを押してデバイスをリセットし、アプリケーションの起動を開始します。また、USB-UART ケーブルを USB-UART ポートから抜いて、ケーブルをもう一度挿入することもできます。

#### QSPI フラッシュから FreeRTOS デモプロジェクトを起動する
<a name="xilinx-build-boot-qspi"></a>

1. MicroZed ボードのブートモードジャンパーを JTAG ブートモードに設定します。  
![\[回路基板ヘッダーコネクタとジャンパー設定。\]](http://docs.aws.amazon.com/ja_jp/freertos/latest/userguide/images/xilinx-jtag.png)

1. コンピュータが USB-UART および JTAG アクセスポートに接続されていることを確認します。緑色の Power Good LED ライトが点灯しているはずです。

1. XSDK IDE で、メニューから、**[Xilinx]** を選択し、**[Program Flash]** (フラッシュのプログラム) を選択します。

1. **[Program Flash Memory]** (フラッシュメモリのプログラム) で、ハードウェアプラットフォームが自動的に入力されているはずです。**[Connection]** (接続) で、MicroZed ハードウェアサーバーを選択して、ホストコンピュータとボードを接続します。
**注記**  
Xilinx Smart Lync JTAG ケーブルを使用している場合は、XSDK IDE にハードウェアサーバーを作成する必要があります。**[New]** (新規) を選択し、サーバーを定義します。

1. **[Image File]** (イメージファイル) で、`BOOT.bin` イメージファイルにディレクトリパスを入力します。**[Browse]** (参照) を選択して、代わりにファイルを参照します。

1. **[Offset]** (オフセット) に、**0x0** を入力します。

1. **[FSBL File]** (FSBL ファイル) で、`fsbl.elf` ファイルにディレクトリパスを入力します。**[Browse]** (参照) を選択して、代わりにファイルを参照します。

1. **[Program]** (プログラム) を選択し、ボードをプログラムします。

1. QSPI プログラミングが完了したら、USB-UART ケーブルを取り外してボードの電源を切ります。

1. MicroZed ボードのブートモードジャンパーを QSPI ブートモードに設定します。

1. カードを USB-UART ポートのすぐ下にある MicroSD カードスロットに挿入します。
**注記**  
MicroSD カードにあるコンテンツを必ずバックアップしてください。

1. RST ボタンを押してデバイスをリセットし、アプリケーションの起動を開始します。また、USB-UART ケーブルを USB-UART ポートから抜いて、ケーブルをもう一度挿入することもできます。

## トラブルシューティング
<a name="xilinx-troubleshooting"></a>

誤ったパスに関連するビルドエラーが発生した場合は、[FreeRTOS デモプロジェクトを構築する](#xilinx-freertos-build-project) で説明されているように、プロジェクトのクリーンアップと再ビルドを試みます。

Windows を使用している場合は、Windows XSDK IDE で文字列置換変数を設定するときにスラッシュを使用することを確認してください。

FreeRTOS の開始方法に関する一般的なトラブルシューティングについては、「[トラブルシューティングの開始方法](gsg-troubleshooting.md)」を参照してください。