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

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

亚马逊 FreeRTOS Github 存储库迁移指南

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

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

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

附录

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

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

coreHTT

演示和库

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

CoreMQTT

演示和库

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

CoreMatt-Agent

演示和库

直接从 FreeRTOS Github 组织中的 C oreMqtt-Agen t 存储库(如果使用 git 则为子模块)克隆或下载 Core Mqtt-Agent 库。CoremQtt-Agent-Demos 演示位于 Coremqtt-Agent-Demos 存储库中。有关详细信息,请参考 CoremQtt-Agent 页面

device_defender_for_a

演示和库

DeAmazon IoT vice Defender 库位于Amazon GitHub 组织中的存储库中。直接从 Device De fender 存储库克隆或下载它(如果使用 gitAmazon IoT 则为子模块)。DeAmazon IoT vice Defender 演示在 FreeRTOS 的主要发行版中。有关更多详细信息,请参阅 “Amazon IoT设备防御器” 页面

device_shadow_for_aws

演示和库

DeAmazon IoT vice Shadow 库位于Amazon GitHub 组织中的存储库中。直接从 Device Shadow 存储库克隆或下载它(如果使用 git 则为Amazon IoT子模块)。DeAmazon IoT vice Shadow 演示在 FreeRTOS 的主要发行版中。有关更多详细信息,请参阅 “Device ShAmazon IoT adow” 页面

jobs_for_aws

演示和库

Amazon IoTJobs 库位于Amazon GitHub 组织中的存储库中。直接从 Amazon IoTJob s 存储库克隆或下载它(如果使用 git 则为子模块)。Amazon IoT乔布斯演示在主要的 FreeRTOS 发行版中。更多详情,请参阅 “职Amazon IoT位” 页面

OTA

演示和库

OvAmazon IoT er-The-Air (OTA) 更新库位于Amazon GitHub 组织中的存储库中。直接从 OT Amazon IoTA 存储库克隆或下载它(如果使用 git 则为子模块)。OAmazon IoT TA 演示在 FreeRTOS 的主要发行版中。有关详细信息,请参考 OT Amazon IoTA 页面

CLI 和 freertos_plus_CLI

演示和库

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

日志记录

宏观的

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

greengrass_ 连接

演示

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

过时的库和演示
名称 类型 建议

BLE

演示和库

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

开发模式_密钥配置

演示

恩智浦 i.MX RT1060STM32U5ESP32-C3 平台上的精选 FreeRTOS IoT 参考集成提供了使用 CLI 进行关键配置的示例。

posix

抽象和演示

不建议使用。

Wifi_配置

示例

此示例演示了如何使用 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:直接从 C orepkcs11 库或 O ASIS PKCS 11 存储库中克隆它(如果你使用 git 则是子模块)。

  • tinycbor:直接从 t inycbor 存储库克隆它(如果你使用 git 则是子模块)。

  • tinycrypt:我们建议您使用来自 MCU 平台的加密加速器(如果有)。如果你想继续使用 tinycrypt,可以直接从 t inycry pt 存储库克隆它(如果你使用 git 则是子模块)。

  • tracealyzer_recorder:直接从 Percepio 的跟踪记录器存储库中克隆它(如果你使用 git 则是子模块)。

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

  • win_pcap:win_pcap 已不再维护。我们建议你改用 libslirp、libpcap (posix) 或 npcap。

移植测试和集成测试

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