

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

# ボードを資格認定する
<a name="freertos-qualification"></a>

## 前提条件
<a name="prerequistes-qualification"></a>

ハードウェア要件:

FreeRTOS AWS IoT ライブラリを実行する MCU ベースの開発ボードには、次のものが必要です。
+ イーサネット、Wi-Fi、またはセルラー接続機能

ソフトウェア要件:

*FreeRTOS *[移植ガイドの移植フローチャート](https://docs.aws.amazon.com/freertos/latest/portingguide/porting-chart.html)は、特定の MCU ベースの開発ボードに必要な FreeRTOS AWS IoT ライブラリを示しています。最小のサブセットは以下のとおりです。
+ FreeRTOS カーネル
+ coreMQTT
+ AWS IoT Over-The-Air更新 (OTA)

テスト要件:
+  AWS IoT Device Tester for FreeRTOS を使用して、FreeRTOS ライブラリに必要なハードウェアプラットフォーム固有の APIs の実装を、定義された[テスト](https://github.com/FreeRTOS/FreeRTOS-Libraries-Integration-Tests) GitHub FreeRTOS リポジトリと照合します。「[AWS IoT Device Tester (IDT) を使用して移植された FreeRTOS ライブラリを検証する](#qualifying-your-device-idt)」を参照してください。
+ Device Advisor AWS IoT Core を使用して との相互運用性を検証します。「[AWS IoT Device Tester (IDT) を使用して移植された FreeRTOS ライブラリを検証する](#qualifying-your-device-idt)」のステップ 4 を参照してください。

## 推奨事項
<a name="recommendations-qualification"></a>

セキュリティを強化するために、以下を推奨します。
+ オフラインまたは一時的な侵害が永続的に発生するのを防ぐには、[セキュアエレメント](https://wikipedia.org/wiki/Secure_element)や Secure Enclave などの物理的な攻撃に耐えるハードウェアのルートオブトラストにシークレットと認証情報を保存してください。
+ 不正なデータ漏えいにつながる恐れのあるネットワーク[スプーフィング](https://wikipedia.org/wiki/Spoofing_attack)および[中間者](https://wikipedia.org/wiki/Man-in-the-middle_attack)攻撃のリスクを軽減するために、DHCP、DNS、TCP/IP、TLS などのプロトコルを実装する FreeRTOS ライブラリの[真性乱数生成器 (TRNG)](https://wikipedia.org/wiki/Hardware_random_number_generator) を使用してください。詳細については、「[Recommendation for Random Number Generation Using Deterministic Random Bit Generators](https://csrc.nist.gov/publications/detail/sp/800-90a/rev-1/final)」 (NIST SP 800-90A) の 50 ページを参照してください。

## 認定ステップ
<a name="qualifying-your-device"></a>

### AWS IoT Device Tester (IDT) を使用して移植された FreeRTOS ライブラリを検証する
<a name="qualifying-your-device-idt"></a>

1. FreeRTOS ライブラリをご利用のボードに移植します。手順については、「[FreeRTOS 移植ガイド](https://docs.aws.amazon.com/freertos/latest/portingguide/)」を参照してください。

1. テストプロジェクトを作成し、[FreeRTOS-Libraries-Integration-Tests](https://github.com/FreeRTOS/FreeRTOS-Libraries-Integration-Tests) GitHub リポジトリから必要なテストを移植します。テストランナータスクの [RunQualificationTest](https://github.com/FreeRTOS/FreeRTOS-Libraries-Integration-Tests/blob/a8cafefc714cdbb4ee1d0f97c92e9c4cc75059fd/src/qualification_test.c#L52) を呼び出します。
**注記**  
開発者の使い勝手を良くするために、FreeRTOS ライブラリを移植し、IDE を使用して対応する個別のテストグループをローカルで実行して、統合を確認することをお勧めします。  
テストランナータスクは、個別のテストプロジェクト、またはデモアプリケーションプロジェクトで実行されます。

1. 認定で使用したすべての依存関係を一覧表示する `manifest.yml` ファイルを作成します。依存関係には、FreeRTOS ライブラリとテストリポジトリが含まれます。詳細については、「[FreeRTOS マニフェストファイルの手順](afq-checklist-manifest-instr.md)」を参照してください。
**注記**  
`manifest.yml` は、IDT が、特定の FreeRTOS ライブラリバージョンとの整合性チェックに必要な依存関係を見つけたり、テストバイナリをビルド、フラッシュ、実行するようにテストプロジェクトを設定したりするために使用します。  
IDT は、特定のプロジェクト構造を強制せず、`manifest.yml` ファイルに含まれる参照パスを使用します。

1. <a name="qualifying-your-device-da"></a>Device Advisor を使用して AWS IoT 相互運用性を検証します。

   1. 上記のテストで使用した FreeRTOS ライブラリ、移植、OTA などの統合タスクを含む同じコンポーネントを使用するデモプロジェクトを作成します。

      認定には、デモアプリケーションが以下の機能を備えている必要があります。
      + MQTT によるトピックのパブリッシュとサブスクライブを行います。
      + OTA 更新を実行します。
      + OTA 更新をサポートするブートローダーを作成します。独自のブートローダーまたは [MCUBoot](https://freertos.org/mcuboot/) を使用してください。「[Labs-FreeRTOS-Plus-MCUBoot](https://github.com/FreeRTOS/Lab-Project-FreeRTOS-MCUBoot)」を参照してください。
**注記**  
[FreeRTOS GitHub](https://github.com/FreeRTOS/FreeRTOS) リポジトリには、個々のタスクを示すサンプルがあらかじめ設定されています。coreMQTT タスクと OTA タスクの両方を組み込んだ統合された [coreMQTT エージェントデモ](https://github.com/FreeRTOS/coreMQTT-Agent-Demos)もあります。また、[認定プロジェクトの例](examples-qualification.md) の FreeRTOS 特集 IoT 統合も参照してください。

   1. AWS IoT Device Tester は [AWS IoT Device Advisor ](https://docs.aws.amazon.com/iot/latest/developerguide/device-advisor.html)に対してデモを実行します。認定には、以下の Device Advisor のテストケースが必要です。  
**テストケース**    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/freertos/latest/qualificationguide/freertos-qualification.html)

1. からテストを実行し AWS IoT Device Tester 、テストレポートを生成します。
   + IDT はテストを設定し、ビルドしてボードに自動的にフラッシュします。これを有効にするには、`userdata.json` ファイル内のデバイスに対してビルドコマンドとフラッシュコマンドを実行するように IDT を設定する必要があります。「[IDT for FreeRTOS ユーザーガイド](https://docs.aws.amazon.com/freertos/latest/userguide/device-tester-for-freertos-ug.html)」の「[Configure build, flash, and test settings](https://docs.aws.amazon.com/freertos/latest/userguide/lts-qual-steps.html#lts-cfg-dt-ud)」を参照してください。
   + IDT が実行するテストを決定できるようにするために、接続タイプ、暗号化アルゴリズム、キープロビジョニング方法など、デバイスがサポートする機能を `device.json` ファイルに入力します。「[IDT for FreeRTOS ユーザーガイド](https://docs.aws.amazon.com/freertos/latest/userguide/device-tester-for-freertos-ug.html)」の「[Create a device pool in IDT for FreeRTOS](https://docs.aws.amazon.com/freertos/latest/userguide/lts-qual-steps.html#lts-cfg-dt-dp)」を参照してください。
   + IDT の AWS アカウントを作成して設定し、必要なクラウドリソースを作成します。[ IDT for FreeRTOS ユーザーガイドの「IDT の AWS アカウントの作成と設定」を参照して、必要なクラウドリソースを作成します](https://docs.aws.amazon.com/freertos/latest/userguide/lts-qual-steps.html#lts-cfg-aws-afr)。 [ FreeRTOS ](https://docs.aws.amazon.com/freertos/latest/userguide/device-tester-for-freertos-ug.html) 

### 提出の準備
<a name="qualifying-your-device-preparation"></a>

1. MQTT または OTA デモプロジェクトをデバイスで実行するための「**入門ガイド**」を作成します。手順については、「[Creating a getting started with FreeRTOS guide for your device](https://docs.aws.amazon.com/freertos/latest/qualificationguide/afq-gsg.html)」を参照してください。

1. FreeRTOS 移植ガイドの[「OTA ライブラリの移植](https://docs.aws.amazon.com/freertos/latest/portingguide/afr-porting-ota.html)[」で説明されている AWS IoT デバイスブートローダーの脅威モデリング](https://docs.aws.amazon.com/freertos/latest/portingguide/afr-porting-ota.html#afr-bootloader)で定義されているリスクを軽減することを検証する脅威モデリングドキュメントを提供します。 *FreeRTOS * このドキュメントは、[APN パートナーセントラル](https://partnercentral.awspartner.com)にデバイスを提出する際に、サポートアセットとしてアップロードする必要があります。

1. コードダウンロード用のパブリックリポジトリを用意します。企業の GitHub リポジトリのリンクを用意することをお勧めします。

### 認定の提出
<a name="qualifying-your-device-submission"></a>
+ IDT テストレポート。
+ AWS IoT Device Advisor テストレポート。
+ 脅威モデリングドキュメント。
+ ダウンロード用のソースコードを含む GitHub リポジトリ。