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