本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon-FreeRTOS Github 存储库迁移
如果您有一个基于现已弃用的 Amazon FreeRTOS 存储库的 FreeRTOS 项目,请按照以下步骤操作:
-
随时了解最新的公开可用安全修复程序。查看 FreeRTOS LTS
库页面以获取更新,或者订阅存储库以FreeRTOS-LTS GitHub 接收包含关键和安全错误修复的最新 LTS 补丁。您可以直接从各个存储库下载或克隆所需的最新 FreeRTOS LTS 补丁。 GitHub -
考虑重构网络传输接口实现以优化您的硬件平台。最新的 coreMQTT
库不需要安全套接字和 WiFi API 等抽象 API。有关更多详细信息,请参阅传输接口 。
附录
下表为 Amazon-FreeRTOS 存储库中的所有演示项目、旧库和抽象 API 提供了建议。
| Name | Type | 建议 |
|---|---|---|
coreHTTP |
演示和库 |
直接从 FreeRTOS Github 组织中的 |
coreMQTT |
演示和库 |
直接从 FreeRTOS Github 组织中的 |
核心 MQTT-Agent |
演示和库 |
直接从 FreeR MQTT-Agent TOS |
device_defender_for_aws |
演示和库 |
De AWS IoT vice Defender 库位于AWS GitHub 组织 |
device_shadow_for_aws |
演示和库 |
AWS IoT Device Shadow 库位于AWS GitHub 组织 |
jobs_for_aws |
演示和库 |
AWS IoT 作业库位于AWS GitHub 组织 |
OTA |
演示和库 |
AWS IoT Over-The-Air (OTA) 更新库位于AWS GitHub 组织 |
CLI 和 freeRTOS_ Plus_CLI |
演示和库 |
上面有一个 CLI 示例 WinSim。有关更多详细信息,请参阅 FreeRTOS Plus 命令行界面 |
日志记录 |
宏 |
某些 FreeRTOS 库提供了适用于特定硬件平台的日志宏的实现。有关如何实现日志宏的信息,请参阅日志记录页面 |
greengrass_connectivity |
演示 |
[迁移正在进行中] 此演示项目假设在连接到 AWS IoT Greengrass 设备之前可以进行云连接。一个演示本地身份验证和发现能力的新项目正在开发中。预计新演示项目将很快会在 FreeRTOS Github 组织 |
| Name | Type | 建议 |
|---|---|---|
BLE |
演示和库 |
FreeRTOS BLE 库可实现专有的 MQTT 协议并支持通过代理设备(例如手机)使用低功耗蓝牙 (BLE) 功能发布和订阅 MQTT 主题。这不再是强制性的。您可以使用自己的 BLE 堆栈或第三方选项(例如 NimBLE |
dev_mode_key_provisioning |
演示 |
恩智浦i.MX RT1060 |
posix |
抽象和演示 |
不建议使用。 |
wifi_provisioning |
示例 |
此示例演示了如何使用 Amazon-FreeRTOS BLE 库在设备上配置 WiFi 凭证。有关通过 BLE 进行配置的 WiFi 示例,请参阅 ESP32C3 平台上 |
传统抽象 API |
代码 |
这些 API 旨在为众多供应商提供的各种第三方软件堆栈、连接模块和 MCU 平台提供抽象接口。例如,有 WiFi 抽象接口、安全套接字等。它们在 Amazon-FreeRTOS 存储库中受支持,并且位于文件夹中 |
上表中的库和演示不会获得安全补丁或错误修复。
Third-party 图书馆
当演示 Amazon-FreeRTOS 使用第三方库时,我们建议您直接从第三方存储库中对其进行子模块。
-
CMock:直接从 Cmock
存储库中克隆(如果使用 git,则为子模块)。 -
jsmn:不推荐,也不再受支持。
-
lwip:直接从 lwip-tcpip
存储库中克隆(如果使用 git,则为子模块)。 -
lwip_osal:有关如何在硬件上实现 lwip_osal 的信息,请参阅 i.MX RT1060
或 STM32U5 上的 FreeRTOS 精选参考集成。 platform/board -
mbedtl s:直接从存储库中克隆它(如果你使用 git 则为子模块)。Mbed-TLS
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