Amazon-FreeRTOS Github 存储库迁移指南 - FreeRTOS

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

Amazon-FreeRTOS Github 存储库迁移指南

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

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

  2. 考虑重构网络传输接口实现以优化您的硬件平台。最新的 CoreMQTT 库不需要 APIs 诸如安全套接字Wifi APIs 之类的摘要。有关更多详细信息,请参阅传输接口

附录

下表提供了对 Amazon-FreerTOS 存储库 APIs 中所有演示项目、旧库和摘要的建议。

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

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

演示和库

De AWS IoT vice Defender 库位于AWS GitHub 组织中的存储库中。直接从 AWS IoT Device Defender 存储库中克隆或下载该库(如果使用 git,则为子模块)。Dev AWS IoT ice Defender 演示在 FreeR TOS 的主发行版中。有关更多详细信息,请参阅 AWS IoT Device Defender 页面

device_shadow_for_aws

演示和库

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

jobs_for_aws

演示和库

AWS IoT 作业库位于AWS GitHub 组织中的存储库中。直接从 AWS IoT Jobs 存储库中克隆或下载该库(如果使用 git,则为子模块)。 AWS IoT 任务演示位于主要的 FreeRT OS 发行版中。有关更多详细信息,请参考 AWS IoT Jobs 页面

OTA

演示和库

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

CLI 和 FreeRTOS_Plus_CLI

演示和库

上面有一个 CLI 示例 WinSim。有关更多详细信息,请参阅 FreeRTOS Plus 命令行界面页面。 RT1恩智浦i.MX STM32060和 U5平台上的精选FreeRTOS物联网参考集成还提供了有关实际硬件的CLI示例。

logging

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

greengrass_connectivity

演示

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

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

BLE

演示和库

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

dev_mode_key_provisioning

演示

RT1恩智浦i.MX STM32060、U5或-C3平台上的精选FreeRTOS物联网参考集成提供了使用CLI进行 ESP32关键配置的示例。

posix

抽象和演示

不建议使用。

wifi_provisioning

示例

此示例演示了如何使用 Amazon-FreerTOS BLE 库在设备上配置 WiFi 凭证。有关通过 BLE 进行配置的 WiFi 示例,请参阅 C3 平台ESP32上的 FreeRTOS 精选物联网参考资料。

遗产摘要 APIs

code

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

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

第三方库

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

  • CMock: 直接从 C moc k 存储库中克隆它(如果你使用 git 则为子模块)。

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

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

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

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

  • pkcs11:直接从核心库或 O ASIS PK CS 11 存储PKCS11库中克隆它(如果你使用 git 则为子模块)。

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

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

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

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

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

移植测试和集成测试

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