Silicon Labs OpenThread SDK 提供了对 FreeRTOS 的支持。FreeRTOS 是一个功能齐全、广泛应用于微控制器和小型微处理器的 RTOS(Real-Time Operating System,实时操作系统)。对 FreeRTOS 的支持已集成到 Simplicity Studio 中。EFR32MGxx 全系列均支持 FreeRTOS。Documentation Index
Fetch the complete documentation index at: https://mintlify.com/dsyx/docs.silabs.com_zh/llms.txt
Use this file to discover all available pages before exploring further.
FreeRTOS 官方文档请访问 https://www.freertos.org/。Silicon Labs 建议应用程序开发者直接使用 FreeRTOS 原生 API,而不是通过 CMSIS-RTOS2 抽象层访问。
在项目中启用 FreeRTOS
要将 FreeRTOS 集成到您的应用程序中,只需在 Simplicity Studio 中为项目安装 FreeRTOS 组件即可。ot-ble-dmp 示例应用程序默认在 FreeRTOS 上运行,您也可以将 FreeRTOS 添加到任何 OpenThread 项目。ot-cli-ftd 示例应用程序是一个很好的开始示例。
安装 FreeRTOS 组件
选中 FreeRTOS,点击 Install 按钮。安装此组件将自动引入以下内容到您的项目:
- 所有 FreeRTOS 内核源文件
- Silicon Labs 提供的集成文件
- FreeRTOS 所依赖的附加组件(自动解析依赖)
FreeRTOS 任务模型
FreeRTOS 组件设计为与标准的 Silicon Labsmain.c 模板配合使用。标准的 main 函数适用于裸机(bare-metal)和基于内核的项目,负责所有必需的系统初始化和任务创建。
对于在 FreeRTOS 上运行的 OpenThread,会创建单一的 OpenThread 任务,该任务同时运行 OpenThread 协议栈和应用程序逻辑。
裸机与 FreeRTOS 应用回调对比
在裸机(bare-metal)和 FreeRTOS 两种模式下,应用逻辑的放置位置有所不同:- 裸机模式:应用程序逻辑放置在
app_process_action()回调中。 - FreeRTOS 模式:应用程序逻辑放置在
sl_ot_rtos_application_tick()回调中。
相关资源
FreeRTOS 官方文档
FreeRTOS 官方文档,涵盖 API 参考、移植指南和应用示例。
开发者指南
OpenThread 开发者指南,了解各专项领域详细的技术信息。