FreeRTOS 移植 - FreeRTOS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

FreeRTOS 移植

什么是 FreeRTOS 投票?

与世界领先的芯片公司合作开发了 15 年,现在每 175 秒下载一次,是面向微控制 FreeRTOS 和小型微处理器的市场领先的实时操作系统 (RTOS)。根据 MIT 开源许可免费分发,FreeRTOS 包含一个内核和一组持续增加的库,可广泛应用于各个行业领域。FreeRTOS 的设计重点是可靠性和易用性。

FreeRTOS 包含用于连接、安全性和无线 (OTA) 更新的库。FreeRTOS 还包括演示应用程序,在合格的板上展示 FreeRTOS 功能。

FreeRTOS 是一个开源项目。您可以在 GitHub 网站 (https://github.com/aws/amazon-freertos) 上下载源代码,提供更改或增强功能或报告问题。我们根据 MIT 开源许可证发布 FreeRTOS 代码,以便您可以在商业和个人项目中使用这些代码。

我们也欢迎为 FreeRTOS 文档(FreeRTOS 用户指南FreeRTOS 移植指南, 和FreeRTOS 资格认证指南)。有关文档的 markdown 来源,请访问 https://github.com/awsdocs/aws-freertos-docs。这是根据知识共享 (CC BY-ND) 许可证发布的。

FreeRTOS 内核和组件是单独发布的,并使用语义版本控制。定期发布集成的 FreeRTOS 版本。所有版本使用基于日期的版本控制,格式为 YYYYMM.NN,其中:

  • Y 表示年份。

  • M 表示月份。

  • N 表示指定月份的版本顺序(00 表示第一个版本)。

例如,2021 年 7 月的第二个版本为 202107.01。

以前,FreeRTOS 版本在主要版本中使用语义版本控制。虽然它已改用基于日期的版本控制(FreeRTOS 1.4.8 更新为 FreeRTOSAmazon201906.00),FreeRTOS 内核和每个单独的 FreeRTOS 库仍保留语义版本控制。在语义版本控制中,版本号本身 (X.Y.Z) 表示版本是主要版本、次要版本还是修订版本。您可以使用库的语义版本评估新版本对应用程序的影响以及适用范围。

LTS 版本的维护方式与其他版本类型不同。除了解决缺陷以外,还经常使用新功能更新主要版本和次要版本。LTS 版本仅使用解决严重缺陷和安全漏洞的更改进行更新。在发布后,不会在给定 LTS 版本中引入新功能。它们在发布后至少保留三个日历年,并为设备制造商提供使用稳定基准的选项,而不是使用主要和次要版本表示的更动态的基准。

将 FreeRTOS 移植到您的 IoT 设备

在微控制器主板能够运行 FreeRTOS 之前,必须将部分 FreeRTOS 代码移植到设备的硬件。基本内核端口应参考FreeRTOS 移植指南上的www.freertos.org. 对于打算包含 FreeRTOS 库以实现安全性、连接性等的移植,以下说明建立在内核端口之上。

将 FreeRTOS 移植到您的设备

  1. 按照中的说明进行操作下载要 FreeRTOS 植的下载最新版本的 FreeRTOS,用于移植。

  2. 按照中的说明进行操作为移植设置 FreeRTOS 源代码配置 FreeRTOS 下载中的文件和文件夹以进行移植和测试。

  3. 按照中的说明进行操作移植 FreeRTOS 库将 FreeRTOS 库移植到您的设备。每个移植主题包含有关测试移植的说明。

系统要求

将移植到 FreeRTOS 的设备必须是满足以下最低要求的微控制器主板:

  • 25 MHz 的处理速度

  • 64KB RAM

  • 为存储在 MCU 上的每个可执行映像提供 128 KB 程序内存

  • (如果 移植Amazon IoT无线更新库)MCU 上存储两个可执行映像

移植较旧版本的 FreeRTOS

如果您要移植旧版本的 FreeRTOS,请转到FreeRTOSAmazon参考集成存储库,并按版本标签签出要移植的 FreeRTOS 版本。tests 文件夹中的资格认证和测试文档为 PDF 格式。请参阅下表中的资格认证和测试文档历史记录。

FreeRTOS 移植和资格认证文档的修订历史记录

日期

移植和资格认证指南的文档版本

更改历史记录

FreeRTOS 版本

2021 年 7 月

202107.00(移植指南)

202107.00(资格认证指南)

202107.00

2020 年 12 月

202012.00(移植指南)

202012.00(资格认证指南)

202012.00

2020 年 11 月

202011.00(移植指南)

202011.00(资格认证指南)

202011.00

2020 年 7 月

202007.00(移植指南)

202007.00(资格认证指南)

  • 发布版本

202007.00

2020 年 2 月 18 日

202002.00(移植指南)

202002.00(资格认证指南)

  • 版本 202002.00

  • Amazon FreeRTOS 投票现已成为 FreeRTOS 投票

202002.00

2019 年 12 月 17 日

201912.00(移植指南)

201912.00(资格认证指南)

201912.00

2019 年 10 月 29 日

201910.00(移植指南)

201910.00(资格认证指南)

  • 版本 201910.00

  • 更新了随机数生成器移植信息。

201910.00

2019 年 8 月 26 日

201908.00(移植指南)

201908.00(资格认证指南)

  • 版本 201908.00

  • 添加了配置 HTTPS 客户端库以进行测试

    更新了 移植代码库

201908.00

2019 年 6 月 17 日

201906.00(移植指南)

201906.00(资格认证指南)

  • 发布版本 201906.00

  • 更新了目录结构

201906.00 主版本

2019 年 5 月 21 日

1.4.8(移植指南)

1.4.8(资格认证指南)

1.4.8

2019 年 2 月 25 日

1.1.6

  • 从“入门指南模板”附录中删除了下载和配置说明(第 84 页)

1.4.5

1.4.6

1.4.7

2018 年 12 月 27 日

1.1.5

  • 使用 CMake 要求更新了“资格认证清单”附录(第 70 页)

1.4.5

1.4.6

2018 年 12 月 12 日

flink-client

  • 在 TCP/IP 移植附录中添加了 lwIP 移植说明(第 31 页)

1.4.5

2018 年 11 月 26 日

1.1.3

  • 增加了低功耗蓝牙移植附录(第 52 页)

  • 添加了Amazon IoTFreeRTOS 测试信息

  • 在 “列在 FreeRTOS 控制台上的信息” 附录中添加了 CMake 链接(第 85 页)

1.4.4

2018 年 11 月 7 日

1.1.2

  • 更新了 PKCS # 11 移植附录中的 PKCS # 11 PAL 接口移植说明(第 38 页)

  • 更新了 CertificateConfigurator.html 的路径(第 76 页)

  • 更新了“入门指南模板”附录(第 80 页)

1.4.3

2018 年 10 月 8 日

1.1.1

  • aws_test_runner_config.h 测试配置表中新增了“AFQP 所需”列(第 16 页)

  • 更新了“创建测试项目”部分中的 Unity 模块目录路径(第 14 页)

  • 更新了“建议的移植顺序”图表(第 22 页)

  • 更新了 TLS 附录“测试设置”中的客户端证书和密钥变量名称(第 40 页)

  • 更改了 Secure Sockets 库移植附录“测试设置”(第 34 页)、TLS 移植附录“测试设置”(第 40 页)和“TLS 服务器设置”附录(第 57 页)中的文件路径

1.4.2

2018 年 8 月 27 日

1.1.0

  • 添加了 OTA 更新移植附录(第 47 页)

  • 添加了引导加载程序移植附录(第 51 页)

1.4.0

1.4.1

2018 年 8 月 9 日

1.0.1

  • 更新了“建议的移植顺序”图表(第 22 页)

  • 更新了 PKCS # 11 移植附录(第 36 页)

  • 更改了 TLS 移植附录“测试设置”(第 40 页)和“TLS 服务器设置”附录第 9 步(第 51 页)中的文件路径

  • 修补了 MQTT 移植附录“先决条件”中的超链接(第 45 页)

  • 为“创建 BYOC 的说明”附录中的示例添加了 Amazon CLI 配置说明(第 57 页)

1.3.1

1.3.2

2018 年 7 月 31 日

1.0.0

初始版本的 FreeRTOS 资格认证计划指南

1.3.0

移植常见问题

什么是 FreeRTOS 移植?

FreeRTOS 移植是指特定于主板的、所需 FreeRTOS 库和您的平台支持的 FreeRTOS 的 API 实现。通过移植,API 可在主板上工作,并实现设备驱动程序与平台供应商提供的 BSP 之间的必需集成。您的移植还应包含主板所需的所有配置调整(如时钟频率,堆栈大小、堆大小)。

我的设备不支持 Wi-Fi、低功耗蓝牙或无线 (OTA) 更新。移植 FreeRTOS 是否需要所有库?

移植 FreeRTOS 连接库的主要要求是您的设备可以连接到云。例如,如果您可以通过安全的以太网连接来连接到云,则 Wi-Fi、低功耗蓝牙和无线 (OTA) 库不是必需的。请记住,在不移植所有库的情况下,部分测试和演示应用程序将无法正常工作。

我可以达到”Echo 服务器”(例如,通过跨 2 个不同接入点的两个子网)?

需要 Echo 服务器才能通过 TCP/IP 和 TLS 端口测试。必须通过主板连接的网络访问 Echo 服务器。如果您需要不同子网中的设备都可以与单个 Echo 服务器通信,请咨询您的 IT 支持人员以启用通过子网路由。

运行 FreeRTOS 移植测试需要打开哪些网络端口?

运行 FreeRTOS 移植测试需要以下网络连接:

端口

协议

443、8883

MQTT

8443

Greengrass Discovery

如果您对移植的疑问在本页面或 FreeRTOS 移植指南的其余部分中都找不到答案,请联系 FFreeRTOS 工程团队.