Amazon-FreeRTOS Github 存储库迁移指南 - FreeRTOS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Amazon-FreeRTOS Github 存储库迁移指南

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

  1. 随时了解最新的公开可用安全修复程序。查看 FreeRTOS LTS 库页面以获取更新,或者订阅 FreeRTOS-LTS GitHub 存储库以接收包含关键和安全错误修复的最新 LTS 补丁。您可以直接从各个 GitHub 存储库下载或克隆所需的最新 FreeRTOS LTS 补丁。

  2. 考虑重构网络传输接口实现以优化您的硬件平台。最新的 coreMQTT 库不需要安全套接字WiFi API 等抽象 API。有关更多详细信息,请参阅传输接口

附录

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

迁移的库和演示
名称 类型 建议

coreHTTP

演示和库

直接从 FreeRTOS Github 组织中的 coreHTTP 存储库(如果使用 git,则为子模块)克隆或下载 coreHTTP 库。coreHTTP 演示在 FreeRTOS 的主分发中。有关更多详细信息,请参考 coreHTTP 页面

coreMQTT

演示和库

直接从 FreeRTOS Github 组织中的 coreMQTT 存储库(如果使用 git,则为子模块)克隆或下载 coreMQTT 库。coreMQTT 演示在 FreeRTOS 主分发中。有关更多详细信息,请参考 coreMQTT 页面

coreMQTT-Agent

演示和库

直接从 FreeRTOS Github 组织中的 coreMQTT 代理存储库(如果使用 git,则为子模块)克隆或下载 coreMQTT 代理库。coreMQTT 代理演示在 coreMQTT 代理演示存储库中。有关更多详细信息,请参考 coreMQTT 代理页面

device_defender_for_aws

演示和库

Amazon IoTDevice Defender 库位于 Amazon GitHub 组织的存储库中。直接从 Amazon IoT Device Defender 存储库中克隆或下载该库(如果使用 git,则为子模块)。Amazon IoT Device Defender 演示位于 FreeRTOS 主分发中。有关更多详细信息,请参阅 Amazon IoT Device Defender 页面

device_shadow_for_aws

演示和库

Amazon IoT Device Defender 库位于 Amazon GitHub 组织的存储库中。直接从 Amazon IoT Device Shadow 存储库中克隆或下载该库(如果使用 git,则为子模块)。Amazon IoT Device Shadow 演示位于 FreeRTOS 主分发中。有关更多详细信息,请参阅 Amazon IoT Device Shadow 页面

jobs_for_aws

演示和库

Amazon IoT Jobs 库位于 Amazon GitHub 组织的存储库中。直接从 Amazon IoT Jobs 存储库中克隆或下载该库(如果使用 git,则为子模块)。Amazon IoT 演示在 FreeRTOS 主分发中。有关更多详细信息,请参考 Amazon IoT Jobs 页面

OTA

演示和库

Amazon IoT空中下载(OTA)更新库位于 Amazon GitHub 组织的存储库中。直接从 Amazon IoT OTA 存储库中克隆或下载该库(如果使用 git,则为子模块)。Amazon IoT OTA 演示在 FreeRTOS 主分发中。有关更多详细信息,请参考 Amazon IoT OTA 页面

CLI 和 FreeRTOS_Plus_CLI

演示和库

WinSim 上有一个 CLI 示例运行。有关更多详细信息,请参阅 FreeRTOS Plus 命令行界面页面。 NXP i.MX RT1060 STM32U5 平台上的精选 FreeRTOS IoT 参考集成还提供了有关实际硬件的 CLI 示例。

日志记录

某些 FreeRTOS 库提供了适用于特定硬件平台的日志宏的实现。有关如何实现日志宏的信息,请参阅日志记录页面。有关在实际硬件上运行的示例,请参阅 FreeRTOS 精选 IoT 参考之一

greengrass_connectivity

演示

[正在进行迁移] 此演示项目假设在连接到 Amazon IoT Greengrass 设备之前可以进行云连接。一个演示本地身份验证和发现能力的新项目正在开发中。预计新演示项目将很快会在 FreeRTOS Github 组织中发布。

已弃用的库和演示
名称 类型 建议

BLE

演示和库

FreeRTOS BLE 库可实现专有的 MQTT 协议并支持通过代理设备(例如手机)使用低功耗蓝牙 (BLE) 功能发布和订阅 MQTT 主题。这不再是强制性的。您可以使用自己的 BLE 堆栈或第三方选项(例如 NimBLE)来最大限度优化项目。

dev_mode_key_provisioning

演示

NXP i.MX RT1060 STM32U5 ESP32-C3 平台上的精选 FreeRTOS IoT 参考集成提供了使用 CLI 进行关键预配的示例。

posix

抽象和演示

不建议使用。

wifi_provisioning

示例

此示例演示了如何使用 Amazon-FreeRTOS BLE 库在设备上配置 WiFi 凭证。有关通过 BLE 预配 WiFi 的示例,请参阅 ESP32C3 平台上的 FreeRTOS 精选 IoT 参考。

传统抽象 API

代码

这些 API 旨在为众多供应商提供的各种第三方软件堆栈、连接模块和 MCU 平台提供抽象接口。例如,提供了用于 WiFi 抽象、安全套接字等的接口。它们在 Amazon-FreeRTOS 存储库中受支持,并且位于 /libraries/abstractions/ 文件夹中。使用 FreeRTOS LTS 库时,不需要这些 API。

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

第三方库

当 Amazon-FreeRTOS 中的演示使用第三方库时,我们建议您直接使用第三方存储库中的子模块。

  • CMock:直接从 Cmock 存储库中克隆(如果使用 git,则为子模块)。

  • jsmn:不推荐,也不再受支持。

  • lwip:直接从 lwip-tcpip 存储库中克隆(如果使用 git,则为子模块)。

  • lwip_osal:有关如何在硬件平台/主板上实现 lwip_osal 的信息,请参阅 i.MX RT1060STM32U5 上的 FreeRTOS 精选参考集成。

  • mbedtls:直接从 Mbed-TLS 存储库中克隆(如果使用 git,则为子模块)。mbedtls 配置和实用工具可重复使用;在这种情况下,请创建本地副本。

  • pkcs11:直接从 corePKCS11 库或 OASIS PKCS 11 存储库中克隆(如果使用 git,则为子模块)。

  • tinycbor:直接从 tinycbor 存储库中克隆(如果使用 git,则为子模块)。

  • tinycrypt:我们建议您使用 MCU 平台上的加密加速器(如果有)。如果您想继续使用 tinycrypt,请直接从 tinycrypt 存储库中克隆(如果使用 git,则为子模块)。

  • tracealyzer_recorder:直接从 Percepio 的 trace recorder 存储库中克隆(如果使用 git,则为子模块)。

  • unity:直接从 ThrowTheSwitch/Unity 存储库中克隆(如果使用 git,则为子模块)。

  • win_pcap:win_pcap 已停止维护。我们建议您使用 libslirp、libpcap (posix) 或 npcap。

移植测试和集成测试

/tests 文件夹下所有验证 FreeRTOS 库集成所需的测试都已迁移到 FreeRTOS-Libraries-Integration-Tests 存储库中。它们可用于测试 PAL 实现和库集成。Amazon IoT Device Tester (IDT) 为 适用于 FreeRTOS 的 Amazon 设备资格认证计划使用相同的测试。