

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon-FreeRTOS Github 存储库迁移
<a name="github-repo-migration"></a>

 如果您有一个基于现已弃用的 Amazon FreeRTOS 存储库的 FreeRTOS 项目，请按照以下步骤操作：

1.  随时了解最新的公开可用安全修复程序。查看 [FreeRTOS LTS](https://www.freertos.org/lts-libraries.html) 库页面以获取更新，或者订阅存储库以[FreeRTOS-LTS](https://github.com/FreeRTOS/FreeRTOS-LTS) GitHub 接收包含关键和安全错误修复的最新 LTS 补丁。您可以直接从各个存储库下载或克隆所需的最新 FreeRTOS LTS 补丁。 GitHub 

1.  考虑重构网络传输接口实现以优化您的硬件平台。最新的 [coreMQTT](https://www.freertos.org/mqtt/index.html) 库不需要[安全套接字](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。有关更多详细信息，请参阅[传输接口](https://www.freertos.org/network-interface.html)。

## 附录
<a name="appendix"></a>

下表为 Amazon-FreeRTOS 存储库中的所有演示项目、旧库和抽象 API 提供了建议。


**迁移的库和演示**  

| Name | Type | 建议 | 
| --- | --- | --- | 
| **coreHTTP** | 演示和库 | 直接从 [FreeRTOS Github 组织[中的 ](https://github.com/FreeRTOS/coreHTTP)coreHTTP](https://github.com/FreeRTOS) 存储库（如果使用 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 组织[中的 ](https://github.com/FreeRTOS/coreMQTT)coreMQTT](https://github.com/FreeRTOS) 存储库（如果使用 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)。 | 
| 核心 MQTT-Agent | 演示和库  | 直接从 [FreeR MQTT-Agent TOS](https://github.com/FreeRTOS) Github 组织中的[核心MQTT-Agent](https://github.com/FreeRTOS/coreMQTT-Agent)存储库（如果使用 git 则为子模块）克隆或下载核心库。核心MQTT-Agent 演示位于[核心MQTT-Agent-Demos](https://github.com/FreeRTOS/coreMQTT-Agent-Demos)存储库中。有关更多详细信息，请参阅[核心MQTT-Agent 页面](https://www.freertos.org/mqtt-agent/index.html)。 | 
| device\_defender\_for\_aws | 演示和库  | De AWS IoT vice Defender 库位于[AWS GitHub 组织](https://github.com/AWS)中的存储库中。直接从 [AWS IoT Device Defender](https://github.com/aws/Device-Defender-for-AWS-IoT-embedded-sdk) 存储库中克隆或下载该库（如果使用 git，则为子模块）。Dev AWS IoT ice Defender 演示在 FreeR [TOS 的主发行版](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\_shadow\_for\_aws | 演示和库  |  AWS IoT Device Shadow 库位于[AWS GitHub 组织](https://github.com/AWS)中的存储库中。直接从 [AWS IoT Device Shadow](https://github.com/aws/Device-Shadow-for-AWS-IoT-embedded-sdk) 存储库中克隆或下载该库（如果使用 git，则为子模块）。Dev AWS IoT ice Shadow 演示在 FreeR [TOS 的主发行版](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\_for\_aws | 演示和库  |  AWS IoT 作业库位于[AWS GitHub 组织](https://github.com/AWS)中的存储库中。直接从 [AWS IoT Jobs](https://github.com/aws/Jobs-for-AWS-IoT-embedded-sdk) 存储库中克隆或下载该库（如果使用 git，则为子模块）。 AWS IoT 任务演示位于[主要的 FreeRT](https://github.com/FreeRTOS/FreeRTOS/tree/main/FreeRTOS-Plus/Demo/AWS/Jobs_Windows_Simulator/Jobs_Demo) OS 发行版中。有关更多详细信息，请参考 [AWS IoT Jobs 页面](https://www.freertos.org/iot-jobs/index.html)。 | 
| OTA | 演示和库  |  AWS IoT Over-The-Air (OTA) 更新库位于[AWS GitHub 组织](https://github.com/AWS)中的存储库中。直接从 [AWS IoT OTA](https://github.com/aws/ota-for-aws-iot-embedded-sdk) 存储库中克隆或下载该库（如果使用 git，则为子模块）。 AWS IoT OTA 演示在 FreeR [TOS 的主发行版](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\_ Plus\_CLI  | 演示和库  | 上面有一个 CLI 示例 WinSim。有关更多详细信息，请参阅 [ 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\_connectivity  | 演示 | [迁移正在进行中] 此演示项目假设在连接到 AWS IoT Greengrass 设备之前可以进行云连接。一个演示本地身份验证和发现能力的新项目正在开发中。预计新演示项目将很快会在 [FreeRTOS Github 组织](https://github.com/FreeRTOS)中发布。 | 


**已弃用的库和演示**  

| Name | Type | 建议 | 
| --- | --- | --- | 
| BLE | 演示和库 | FreeRTOS BLE 库可实现专有的 MQTT 协议并支持通过代理设备（例如手机）使用低功耗蓝牙 (BLE) 功能发布和订阅 MQTT 主题。这不再是强制性的。您可以使用自己的 BLE 堆栈或第三方选项（例如 [NimBLE](https://mynewt.apache.org/latest/network/)）来最大限度优化项目。 | 
| dev\_mode\_key\_provisioning | 演示 | [恩智浦i.MX [RT1060](https://github.com/FreeRTOS/iot-reference-stm32u5/blob/main/Common/cli/cli_pki.c)、STM32U5 [ ESP32-C3](https://github.com/FreeRTOS/iot-reference-esp32c3/blob/main/GettingStartedGuide.md)或平台上的](https://github.com/FreeRTOS/iot-reference-nxp-rt1060/blob/main/examples/common/cli/cli.c)精选 FreeRTOS 物联网参考集成提供了使用 CLI 进行关键配置的示例。 | 
| posix | 抽象和演示 | 不建议使用。 | 
| wifi\_provisioning | 示例 | 此示例演示了如何使用 Amazon-FreeRTOS BLE 库在设备上配置 WiFi 凭证。有关通过 BLE 进行配置的 WiFi 示例，请参阅 ESP32C3 平台[上](https://github.com/FreeRTOS/iot-reference-esp32c3)的 FreeRTOS 精选物联网参考资料。 | 
| 传统抽象 API | 代码 | 这些 API 旨在为众多供应商提供的各种第三方软件堆栈、连接模块和 MCU 平台提供抽象接口。例如，有 WiFi 抽象接口、安全套接字等。它们在 Amazon-FreeRTOS 存储库中受支持，并且位于文件夹中`/libraries/abstractions/`。使用 [ FreeRTOS LTS 库](https://www.freertos.org/lts-libraries.html)时，不需要这些 API。 | 

上表中的库和演示不会获得安全补丁或错误修复。

**Third-party 图书馆**

当演示 Amazon-FreeRTOS 使用第三方库时，我们建议您直接从第三方存储库中对其进行子模块。
+ **CMock**：直接从 [Cmock](https://github.com/ThrowTheSwitch/CMock) 存储库中克隆（如果使用 git，则为子模块）。
+ **jsmn**：不推荐，也不再受支持。
+ **lwip**：直接从 [lwip-tcpip](https://github.com/lwip-tcpip/lwip) 存储库中克隆（如果使用 git，则为子模块）。
+ **lwip\_osal**[：有关如何在硬件上实现 lwip\_osal 的信息，请参阅 [i.MX RT1060](https://github.com/FreeRTOS/iot-reference-nxp-rt1060) 或 STM32U5 上的 FreeRTOS 精选参考集成。](https://github.com/FreeRTOS/iot-reference-stm32u5) platform/board
+ **mbedtl** s：直接从存储库中克隆它（如果你使用 git 则为子模块）。[Mbed-TLS](https://github.com/Mbed-TLS/mbedtls)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\_recorder**：直接从 Percepio 的 [trace recorder](https://github.com/percepio/TraceRecorderSource) 存储库中克隆（如果使用 git，则为子模块）。
+ **unity**：直接从[ThrowTheSwitch/Unity](https://github.com/ThrowTheSwitch/Unity)存储库中克隆它（如果你使用 git 则为子模块）。
+ **win\_pcap**：win\_pcap 已停止维护。我们建议您使用 libslirp、libpcap (posix) 或 npcap。

**移植测试和集成测试**

该`/tests`文件夹下验证FreeRTOS库集成所需的所有测试都已迁移到存储库中。[ FreeRTOS-Libraries-Integration-Tests](https://github.com/FreeRTOS/FreeRTOS-Libraries-Integration-Tests)它们可用于测试 PAL 实现和库集成。 AWS IoT 设备测试器 (IDT) 在 FreeRTOS 的[AWS 设备认证计划](https://docs.aws.amazon.com/freertos/latest/qualificationguide/afr-qualification.html)中使用相同的测试。