什么是 FreeRTOS? - FreeRTOS
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

什么是 FreeRTOS?

与世界领先的芯片公司合作开发了 15 年,现在每 175 秒下载一次,FreeRTOS 是面向微控制器和小型微处理器的市场领先的实时操作系统 (RTOS)。FreeRTOS 根据 MIT 开源许可免费分发,其中包含一个内核和一组持续增加的库,可广泛应用于各个行业领域。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 版本。三种类型的 FreeRTOS 版本是主要、次要和长期支持 (LTS)。主要版本表示为多个库添加了新功能或重要更新。所有版本使用基于日期的版本控制,格式为 YYYYMM.NN,其中:

  • Y 表示年份。

  • M 表示月份。

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

例如,2019 年 6 月的第二个版本为 201906.01。

以前,FreeRTOS 发行版在主要版本中使用语义版本控制。虽然它已改用基于日期的版本控制(FreeRTOS 1.4.8 更新为 FreeRTOS 201906.00),但 FreeRTOS 内核和每个单独的 FreeRTOS 库仍保留语义版本控制。在语义版本控制中,版本号本身 (X.Y.Z) 表示版本是主要版本、次要版本还是修订版本。这可能会导致出现以下情况:语义版本控制根据不影响单个应用程序的更改来表示主要版本。您可以使用库的语义版本评估新版本对应用程序的影响以及适用范围。

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

FreeRTOS 架构

FreeRTOS 通常作为单个已编译映像,与设备应用程序所需的所有组件一起,刷写到设备。此映像中结合了嵌入式开发人员针对应用程序编写的功能、Amazon 提供的软件库、FreeRTOS 内核,以及适用于硬件平台的驱动程序和主板支持程序包 (BSP)。不论使用的是何种微处理器,对于 FreeRTOS 内核和所有 FreeRTOS 软件库,嵌入式应用程序开发人员均可以采用相同的标准化接口。

FreeRTOS 内核

FreeRTOS 内核是一个实时操作系统,支持多种架构,适合用于构建嵌入式微控制器应用程序。该内核提供:

  • 多任务计划程序。

  • 多个内存分配选项(包括创建静态分配系统的功能)。

  • 任务间协调基元,包括任务通知、消息队列、多种信号灯类型以及流和消息缓冲区。

有关 FreeRTOS 内核的最新文档,请参阅 FreeRTOS.org。Freeertos.org 提供了一系列关于使用 FreeRTOS 内核的详细教程和指南,包括快速入门指南和更深入的掌握 FreeRTOS 实时内核。有关本指南中 FreeRTOS 内核的更多信息,请参阅FreeRTOS 内核基础知识

FreeRTOS 库

利用 FreeRTOS 所包含的库,可以:

  • 使用 MQTT 和 Device Shadow 安全地将设备连接到 AWS IoT 云。

  • 发现并连接到 AWS IoT Greengrass 核心。

  • 管理 Wi-Fi 连接。

  • 侦听和处理 FreeRTOS 无线更新

有关更多信息,请参阅 FreeRTOS 库

下载 FreeRTOS 源代码

您可以从 FreeRTOS 控制台下载为符合 FreeRTOS 要求的平台配置的 FreeRTOS 版本。有关取得认证的平台的列表,请参阅 符合 FreeRTOS 条件的硬件平台FreeRTOS 合作伙伴网站。

您也可以从 GitHub 克隆或下载 FreeRTOS。有关说明,请参阅 README.md 文件。

FreeRTOS 控制台

FreeRTOS 控制台,您可以配置和下载程序包,其中包含为基于微控制器的设备编写程序所需的全部内容:

  • FreeRTOS 内核。

  • FreeRTOS 库。

  • 平台支持库。

  • 硬件驱动程序。

有关更多信息,请参阅 FreeRTOS 控制台

开发工作流程

您可通过下载 FreeRTOS 来开始开发。解压缩程序包并将其导入您的 IDE。然后,您可以在所选硬件平台上开发应用程序,使用适合您设备的开发流程制造和部署这些设备。部署的设备可以连接到 AWS IoT 服务或 AWS IoT Greengrass,作为完善的 IoT 解决方案的一部分。

其他资源

这些资源可能对您很有用。

  • 如果您要向 FreeRTOS 工程团队询问有关 FreeRTOS 的问题,可以在 FreeRTOS GitHub 页面上提出问题。

  • 有关 FreeRTOS 的技术问题,请访问 FreeRTOS 社区论坛

  • 要获取 AWS 的技术支持,请访问 AWS 支持中心

  • 有关 AWS 账单、账户服务、事件、滥用的问题和其他 AWS 相关问题,请访问联系我们页面。