

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

# Amazon FreeRTOS Github リポジトリ移行ガイド
<a name="github-repo-migration"></a>

 現在非推奨の Amazon FreeRTOS リポジトリをベースにした既存の FreeRTOS プロジェクトがある場合は、次の手順に従ってください。

1.  公開されている最新のセキュリティ修正を使用して最新の状態に保ちます。「[FreeRTOS LTS libraries](https://www.freertos.org/lts-libraries.html)」のページで最新情報を確認するか、[FreeRTOS-LTS](https://github.com/FreeRTOS/FreeRTOS-LTS) GitHub リポジトリに登録して、重大なバグ修正とセキュリティバグ修正を含む最新の LTS パッチを入手してください。必要な最新の FreeRTOS LTS パッチは、個々の GitHub リポジトリから直接ダウンロードまたは複製できます。

1.  ネットワークトランスポートインターフェイスの実装をリファクタリングして、ハードウェアプラットフォームを最適化することを検討してください。[セキュアソケット](https://docs.aws.amazon.com/freertos/latest/userguide/secure-sockets.html)や [Wifi API](https://docs.aws.amazon.com/freertos/latest/userguide/freertos-wifi.html) のような抽象化 API は、最新の [coreMQTT](https://www.freertos.org/mqtt/index.html) ライブラリでは必要ありません。詳細については、「[Transport Interface](https://www.freertos.org/network-interface.html)」を参照してください。

## 付録
<a name="appendix"></a>

次の表は、Amazon FreeRTOS リポジトリ内のすべてのデモプロジェクト、レガシーライブラリ、および抽象化 API の推奨事項を示しています。


**移行されたライブラリとデモ**  

| 名前 | 型 | ベストプラクティス | 
| --- | --- | --- | 
| **coreHTTP** | デモとライブラリ | [FreeRTOS Github organization](https://github.com/FreeRTOS) の [coreHTTP](https://github.com/FreeRTOS/coreHTTP) リポジトリ (git を使用している場合はサブモジュール) から coreHTTP ライブラリを直接複製またはダウンロードします。coreHTTP デモは[プライマリ FreeRTOS ディストリビューション](https://github.com/FreeRTOS/FreeRTOS/tree/main/FreeRTOS-Plus/Demo/coreHTTP_Windows_Simulator)に含まれています。詳細については、[coreHTTP のページ](https://www.freertos.org/http/index.html)を参照してください。  | 
| coreMQTT | デモとライブラリ | [FreeRTOS Github organization](https://github.com/FreeRTOS) の [coreMQTT](https://github.com/FreeRTOS/coreMQTT) リポジトリ (git を使用している場合はサブモジュール) から coreMQTT ライブラリを直接複製またはダウンロードします。coreMQTT デモは[プライマリ FreeRTOS ディストリビューション](https://github.com/FreeRTOS/FreeRTOS/tree/main/FreeRTOS-Plus/Demo/coreMQTT_Windows_Simulator)に含まれています。詳細については、[coreMQTT のページ](https://www.freertos.org/mqtt/index.html)を参照してください。  | 
| coreMQTT-Agent | デモとライブラリ  | [FreeRTOS Github organization](https://github.com/FreeRTOS) の [coreMQTT-Agent](https://github.com/FreeRTOS/coreMQTT-Agent) リポジトリ (git を使用している場合はサブモジュール) から coreMQTT-Agent ライブラリを直接複製またはダウンロードします。coreMQTT-Agent のデモは [coreMQTT-Agent-Demos](https://github.com/FreeRTOS/coreMQTT-Agent-Demos) リポジトリにあります。詳細については、[coreMQTT-Agent のページ](https://www.freertos.org/mqtt-agent/index.html)を参照してください。  | 
| device\$1defender\$1for\$1aws | デモとライブラリ  | AWS IoT Device Defender ライブラリは [AWSGitHub organisation](https://github.com/AWS) のリポジトリにあります。[AWS IoT Device Defender](https://github.com/aws/Device-Defender-for-AWS-IoT-embedded-sdk) リポジトリから直接 (git を使用している場合はサブモジュールを) 複製またはダウンロードします。AWS IoT Device Defender のデモは、[プライマリ FreeRTOS ディストリビューション](https://github.com/FreeRTOS/FreeRTOS/tree/main/FreeRTOS-Plus/Demo/AWS/Device_Defender_Windows_Simulator/Device_Defender_Demo)に含まれています。詳細については、[AWS IoT Device Defender のページ](https://www.freertos.org/iot-device-defender/index.html)を参照してください。  | 
| device\$1shadow\$1for\$1aws | デモとライブラリ  | AWS IoT Device Shadow ライブラリは [AWS GitHub organisation](https://github.com/AWS) のリポジトリにあります。[AWS IoT Device Shadow](https://github.com/aws/Device-Shadow-for-AWS-IoT-embedded-sdk) リポジトリから直接 (git を使用している場合はサブモジュールを) 複製またはダウンロードします。AWS IoT Device Shadow のデモは、[プライマリ FreeRTOS ディストリビューション](https://github.com/FreeRTOS/FreeRTOS/tree/main/FreeRTOS-Plus/Demo/AWS/Device_Shadow_Windows_Simulator)に含まれています。詳細については、[AWS IoT Device Shadow のページ](https://www.freertos.org/iot-device-shadow/index.html)を参照してください。  | 
| jobs\$1for\$1aws | デモとライブラリ  | AWS IoT Jobs ライブラリは [AWS GitHub organization](https://github.com/AWS) のリポジトリにあります。[AWS IoT Jobs](https://github.com/aws/Jobs-for-AWS-IoT-embedded-sdk) リポジトリから直接 (git を使用している場合はサブモジュールを) 複製またはダウンロードします。AWS IoT Jobs のデモは[プライマリ FreeRTOS ディストリビューション](https://github.com/FreeRTOS/FreeRTOS/tree/main/FreeRTOS-Plus/Demo/AWS/Jobs_Windows_Simulator/Jobs_Demo)に含まれています。詳細については、[AWS IoT Jobs のページ](https://www.freertos.org/iot-jobs/index.html)を参照してください。  | 
| OTA | デモとライブラリ  | AWS IoT 無線通信 (OTA) アップデートライブラリは [AWS GitHub organization](https://github.com/AWS) のリポジトリにあります。[AWS IoT OTA](https://github.com/aws/ota-for-aws-iot-embedded-sdk) リポジトリから直接 (git を使用している場合はサブモジュールを) 複製またはダウンロードします。AWS IoT OTA のデモは[プライマリ FreeRTOS ディストリビューション](https://github.com/FreeRTOS/FreeRTOS/tree/main/FreeRTOS-Plus/Demo/AWS/Ota_Windows_Simulator)に含まれています。詳細については、[AWS IoT OTA のページ](https://www.freertos.org/ota/index.html)を参照してください。  | 
| CLI と FreeRTOS\$1Plus\$1CLI  | デモとライブラリ  | WinSim で実行されている CLI のサンプルがあります。詳細については、[FreeRTOS Plus コマンドラインインターフェイス](https://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_CLI/FreeRTOS_Plus_Command_Line_Interface.html)のページを参照してください。[NXP i.MX RT1060](https://github.com/FreeRTOS/iot-reference-nxp-rt1060/tree/main/examples/common/cli) および [STM32U5](https://github.com/FreeRTOS/iot-reference-stm32u5/tree/main/Common/cli) プラットフォームでの注目の FreeRTOS IoT リファレンス統合では、実際のハードウェアでの CLI サンプルも提供しています。  | 
| ログ記録  | マクロ | 一部の FreeRTOS ライブラリでは、特定のハードウェアプラットフォーム用のロギングマクロが実装されています。ロギングマクロの実装方法については、[ロギングのページ](https://www.freertos.org/logging.html)を参照してください。実際のハードウェアでの実行例については、[FreeRTOS の IoT リファレンスのいずれか](https://github.com/FreeRTOS/iot-reference-nxp-rt1060/tree/main/examples/common/logging)を参照してください。  | 
| greengrass\$1connectivity  | デモ | [移行中] このデモプロジェクトでは、AWS IoT Greengrass デバイスに接続する前にクラウド接続が利用可能であることを前提としています。ローカル認証と検出機能を実証する新しいプロジェクトが開発中です。新しいデモプロジェクトは、間もなく [FreeRTOS Github organization](https://github.com/FreeRTOS) で公開される予定です。  | 


**非推奨ライブラリとデモ**  

| 名前 | 型 | ベストプラクティス | 
| --- | --- | --- | 
| BLE | デモとライブラリ | FreeRTOS BLE ライブラリは、独自の MQTT プロトコルを実装し、携帯電話などのプロキシデバイスを使用して、Bluetooth Low Energy (BLE) を介して MQTT トピックの公開およびサブスクライブをサポートします。これはもはや義務付けられているものではありません。独自の BLE スタックか、[Nimble](https://mynewt.apache.org/latest/network/) などのサードパーティオプションを使用して、プロジェクトを最適化してください。  | 
| dev\$1mode\$1key\$1provisioning | デモ | [NXP i.MX RT1060](https://github.com/FreeRTOS/iot-reference-nxp-rt1060/blob/main/examples/common/cli/cli.c)、[STM32U5](https://github.com/FreeRTOS/iot-reference-stm32u5/blob/main/Common/cli/cli_pki.c)、または [ESP32-C3](https://github.com/FreeRTOS/iot-reference-esp32c3/blob/main/GettingStartedGuide.md) プラットフォームでの注目の FreeRTOS IoT リファレンス統合には、CLI を使用した重要なプロビジョニングの例が示されています。  | 
| posix | 抽象化とデモ | 使用はお勧めしません。 | 
| wifi\$1provisioning | 例 | この例では、Amazon FreeRTOS BLE ライブラリを使用してデバイスに WiFi 認証情報をプロビジョニングする方法を示しました。BLE による WiFi プロビジョニングの例については、[ESP32C3 プラットフォームの](https://github.com/FreeRTOS/iot-reference-esp32c3) FreeRTOS 特集 IoT リファレンスを参照してください。  | 
| レガシー抽象化 API | コード | これらは、さまざまなベンダーのさまざまなサードパーティ製ソフトウェアスタック、接続モジュール、MCU プラットフォームに抽象化インターフェイスを提供するために作成された API です。例えば、WiFi 抽象化やセキュアソケットなどのインターフェイスがあります。これらは Amazon FreeRTOS リポジトリでサポートされており、フォルダ `/libraries/abstractions/` にあります。[FreeRTOS LTS](https://www.freertos.org/lts-libraries.html) ライブラリを使用する場合、これらの API は必要ありません。 | 

上の表のライブラリとデモには、セキュリティパッチやバグ修正は適用されません。

**サードパーティライブラリ**

Amazon FreeRTOS のデモでサードパーティのライブラリを使用する場合は、サードパーティのリポジトリから直接サブモジュール化することをお勧めします。
+ **CMock**: [Cmock](https://github.com/ThrowTheSwitch/CMock) リポジトリから直接 (git を使っている場合はサブモジュールを) 複製します。
+ **jsmn**: 推奨されておらず、サポートも終了しています。
+ **lwip**: [lwip-tcpip](https://github.com/lwip-tcpip/lwip) リポジトリから直接 (git を使っている場合はサブモジュールを) 複製します。
+ **lwip\$1osal**: お使いのハードウェアプラットフォーム/ボードに lwip\$1osal を実装する方法については、[i.MX RT1060](https://github.com/FreeRTOS/iot-reference-nxp-rt1060) または [STM32U5](https://github.com/FreeRTOS/iot-reference-stm32u5) で FreeRTOS 特集リファレンス統合を参照してください。
+ **mbedtls**: [Mbed-TLS](https://github.com/Mbed-TLS/mbedtls) リポジトリから直接 (git を使っている場合はサブモジュールを) 複製します。mbedtls の設定とユーティリティは再利用できます。この場合はローカルコピーを作成してください。
+ **pkcs11**: [corePKCS11](https://github.com/FreeRTOS/corePKCS11) ライブラリまたは [OASIS PKCS 11](https://github.com/oasis-tcs/pkcs11) リポジトリから直接 (git を使っている場合はサブモジュールを) 複製します。
+ **tinycbor**: [tinycbor](https://github.com/intel/tinycbor) リポジトリから直接 (git を使っている場合はサブモジュールを) 複製します。
+ **tinycrypt**: 使用している MCU プラットフォームの暗号アクセラレーターを使用することを推奨します (可能な場合)。tinycrypt を引き続き使用したい場合は、[tinycrypt](https://github.com/intel/tinycrypt) リポジトリから直接 (git を使っている場合はサブモジュールを) 複製してください。
+ **tracealyzer\$1recorder**: Percepio の [trace recorder](https://github.com/percepio/TraceRecorderSource) リポジトリから直接 (git を使っている場合はサブモジュールを) 複製します。
+ **unity**: [ThrowTheSwitch/Unity](https://github.com/ThrowTheSwitch/Unity) リポジトリから直接 (git を使っている場合はサブモジュールを) 複製します。
+ **win\$1pcap**: win\$1pcap のメンテナンスは行われなくなりました。代わりに libslirp、libpcap (posix)、または npcap を使用することをお勧めします。

**移植テストと統合テスト**

FreeRTOS ライブラリの統合を検証するために必要な `/tests` フォルダ内のすべてのテストは、[FreeRTOS-Libraries-Integration-Tests](https://github.com/FreeRTOS/FreeRTOS-Libraries-Integration-Tests) リポジトリに移行されました。これらは PAL の実装とライブラリ統合のテストに使用できます。AWS IoT Device Tester (IDT) では同じテストを [FreeRTOS の AWS デバイス認定プログラム](https://docs.aws.amazon.com/freertos/latest/qualificationguide/afr-qualification.html)に使用しています。