Google 发布的 OpenThread 已被 OpenThread 团队、芯片供应商和社区移植到多个设备和平台。OpenThread 代码库中包含所有移植平台的构建示例。
如需查看供应商支持的所有平台和社区端口的可搜索列表,请参阅搜索供应商。
支持
对每个平台的支持因时间而异。一些平台带有 OpenOpen 团队标识的当前支持级别标记。未标记的平台最近尚未经过测试,可能会被视为“支持有限”。
支持级别 | 说明 |
---|---|
![]() |
提供全面的基本支持,以及使用 OpenThread 的任何线程认证组件。其中许多平台已经过 OpenThread 团队的测试和使用,建议在我们的演示版和 Codelab 中使用它们。 |
![]() |
这些平台未经过全面测试,可能缺少某些关键功能。 |
![]() |
当前不受支持,并且在运行 OpenThread 时可能会遇到问题。使用时需自行承担风险。 |
系统架构

OpenThread 在设计时考虑到了可移植性和灵活性。代码是可移植的 C/C++(C99 和 C++03),由于狭窄的抽象层,与系统架构无关。此抽象层意味着 OpenThread 可以在裸机或操作系统上运行。到目前为止,已被证明,OpenThread 可以在 FreeRTOS、RIOT-OS、Zephyr OS、Linux 和 macOS 上运行。
OpenThread 的可移植性没有对平台功能做任何假设。OpenThread 提供了能够利用增强的无线装置和加密功能的钩子,从而降低内存、代码和计算周期等系统要求。此操作可以按平台完成,同时保留默认配置。
OpenThread 拥有可配置的构建系统,开发者可根据需要在其中启用或停用功能。除了默认的 GNU 工具链之外,源代码可与许多其他常用的工具链(如 IAR 和 Visual Studio)搭配使用。
平台设计
OpenThread 支持系统芯片 (SoC) 和网络协处理器 (NCP) 设计。
SoC 是一种单芯片解决方案,组合了 RFIC(Thread 为 802.15.4)和处理器,其中 OpenThread 和应用层在本地处理器上运行。
NCP 设计是应用层在主机处理器上运行,并使用标准化的主机控制器协议通过串行连接与 OpenThread 通信(我们称之为 Spinel)。在此设计中,OpenThread 可以在无线处理器或主机处理器上运行。
单芯片,仅线程 (SoC)

在此设计中,应用层和 OpenThread 在同一处理器上运行。该应用直接使用 OpenThread API 和 IPv6 堆栈。
这是最常用于最终用户设备的 SoC 设计。由于它与单芯片高度集成,因此费用最低,功耗最低。
单芯片、多接口 (SoC)

当 SoC 具有多个无线装置(例如 802.15.4 和 WLAN)或 802.15.4 和蓝牙低功耗 (BLE) 时,应用层和 OpenThread 仍会在同一处理器上运行。在多接口设计中,OpenThread 通过原始 IPv6 数据报接口利用共享的第三方 IPv6 堆栈。
联合处理器设计
OpenThread 支持无线协处理器 (RCP) 和网络协处理器 (NCP) 设计。如需了解详情,请参阅协处理器设计。
待解决的平台问题
目前,OpenThread 平台存在以下问题: