在 nRF52840 Dongle 上构建并烧录 OpenThread Radio Co-Processor(RCP)固件
发布时间:2026/9/17 22:49:56 作者:尧图编辑部 阅读量:1,286
固件)
在 nRF52840 Dongle 上构建并烧录 OpenThread Radio Co-ProcessorRCP固件【免费下载链接】connectedhomeipMatter (formerly Project CHIP) creates more connections between more objects, simplifying development for manufacturers and increasing compatibility for consumers, guided by the Connectivity Standards Alliance.项目地址: https://gitcode.com/GitHub_Trending/co/connectedhomeip本指南面向需要在 Linux 主机例如 Raspberry Pi上搭建 Thread 测试网络的开发者介绍如何将 Nordic Semiconductor 的 nRF52840 Dongle 配置为 OpenThread Radio Co-ProcessorRCP先厘清 RCP 架构在 Thread/Matter 测试链路中的定位再说明基于 nRF Connect SDK 的构建与编程前置条件并结合本仓库中 OpenThread 的集成方式给出可落地的操作路径。读完本文你将理解 RCP 与 NCP 的架构差异、掌握为 nRF52840 Dongle 构建 RCP 固件的基本流程并清楚如何将其接入 OpenThread Border Router 使用。OpenThread Radio Co-Processor给不原生支持 Thread 的设备补齐网络能力OpenThread Radio Co-ProcessorRCP是 OpenThread 提供的一种协处理器设计模式其核心思想正如本文档开篇所述将 Thread 网络能力附加到本身不原生支持 Thread 的设备上。在 RCP 模式下架构上发生了明确的分工主机侧Host运行完整的 OpenThread 协议栈实现例如 OpenThread Border Router 中的ot-br-agent。Thread 网络层、路由、地址分配等逻辑都在主机 CPU 上执行可以充分利用主机丰富的计算与存储资源。协处理器侧Radio Co-Processor只负责 IEEE 802.15.4 无线射频的收发。固件中仅包含无线电驱动与底层硬件抽象不承载完整协议栈。主机与 RCP 之间通过 Spinel 协议通信。对于 nRF52840 Dongle 而言这条链路以 USB 传输USB transport方式呈现nRF52840 的 USB 外设以 CDC ACM 设备形态暴露给主机主机侧的 Thread 栈通过该串口与无线电交互。与更早期的 NCPNetwork Co-Processor模式相比RCP 的关键优势在于协议栈运行在主机端因此 Thread 协议栈的升级、配置变更无需重新烧录协处理器固件只需重启/更新主机侧组件即可生效非常适合快速迭代的测试环境。本仓库中 RCP 与 OpenThread 的集成证据connectedhomeipMatter 参考实现本身并不直接发布 RCP 固件但仓库从两个层面为「RCP dongle Thread 测试网络」这条链路提供了支撑1. OpenThread 以子模块形式纳入第三方依赖仓库通过 Git 子模块引入 OpenThread 及其多厂商集成位于 third_party/openthreadrepo/OpenThread 官方仓库协议栈主实现ot-ifx/、ot-nxp/、ot-qorvo/、ot-realtek/、ot-stm32/、ot-ti/各芯片厂商的 OpenThread 平台适配platforms/面向 efr32、ifx、nxpmcxw71/mcxw72/rt1060/rt1170/rw61x、qpg、simulation、ti 等平台的 GN 构建描述如 platforms/BUILD.gn用于将这些平台集成进 Matter 的 GN 构建体系。当你在自己的 nRF Connect SDK 工程中构建 RCP 固件时使用的是 nRF Connect SDK 自带的 OpenThread 模块而本仓库的上述集成则服务于 Matter 设备侧作为 Thread end-device 的 Matter 设备与 RCP/OTBR 组成同一 Thread 网络的场景。2. nRF Connect 平台的 Thread 支持配置在 config/nrfconnect/chip-module 中可以确认 nRF Connect 平台上 Matter 与 OpenThread 的耦合方式module.yml 中声明了 CHIP 模块的构建依赖nrfxlib与openthread说明该平台上 Thread 协议栈是 Matter 设备的基础网络能力之一Kconfig.features 中当开启CHIP_MEMORY_PROFILING且未启用 WiFi!CHIP_WIFI时会自动select OPENTHREAD_SHELL即基于 802.15.4/Thread 的设备默认启用 OpenThread shell 便于调试CMakeLists.txt 中通过CONFIG_CHIP_OPENTHREAD_CONFIG支持为 Matter 工程注入自定义 OpenThread 配置调用zephyr_set_openthread_config这意味着 Thread 相关的射频参数、网络参数可以在构建期统一定制。这些事实表明在 nRF Connect SDK 生态中「OpenThread 栈 nRF 802.15.4 射频」是一套成熟的组合而本文要构建的 RCP 固件正是这套组合的「纯射频端」形态。前置条件搭建 nRF Connect SDK 环境要构建并烧录 RCP 固件到 nRF52840 Dongle首先需要在本机安装nRF Connect SDKnRF Connect SDK即 NCS。这是 Nordic 基于 Zephyr RTOS 的软件开发套件其中包含了构建 RCP 固件所需的Zephyr 内核与构建系统west / CMakenRF 平台 HAL 与nrfxlibOpenThread 协议栈模块RCP 示例应用所依赖nRF 命令行工具链用于编译、烧录。安装过程通常包含获取 nRF Connect SDK 源码、安装 west 工具、拉取所需子模块、安装工具链GNU Arm Embedded Toolchain与烧录工具nrfjprog / nRF Command Line Tools。具体安装细节以 nRF Connect SDK 官方安装文档为准不同 SDK 版本对主机系统与工具链版本有明确要求务必保证版本匹配。构建并烧录 RCP 固件到 nRF52840 Dongle环境就绪后按照 nRF Connect SDK 文档中「Configuring a radio co-processor」配置无线协处理器一节的指引针对nRF52840 DongleUSB 传输方式执行构建与烧录。该流程通常包含以下环节定位 RCP 示例应用nRF Connect SDK 的 OpenThread 模块中提供 RCP 示例samples/openthread/ot_rcp它即上文所述「只含 802.15.4 射频驱动、不含完整协议栈」的协处理器固件。选择目标板将构建目标指定为 nRF52840 Dongle对应 Zephyr 板级定义nrf52840dongle/nrf52840。构建固件使用 west 构建生成可烧录的 hex/bin 镜像。构建产物即 RCP 固件。烧录到 DonglenRF52840 Dongle 支持两种烧录途径通过板载 Nordic SoftDevice DFU bootloader进入 DFU 模式后拖拽/发送固件使用 nRF Connect Programmer 等烧录工具写入固件。USB 连接主机烧录完成后将 Dongle 通过 USB 插入主机。固件启动后USB CDC ACM 接口即作为 RCP 与主机之间的 Spinel 通道被识别。说明本文仅概括流程主线具体的目标板标识、构建命令与烧录命令在不同 nRF Connect SDK 版本间可能存在差异请以你所安装版本对应官方文档的「Configuring a radio co-processor」章节为准。烧录之后将 Dongle 用作 Border Router 的 RCP 设备固件烧录完成后nRF52840 Dongle 就变成了一块即插即用的 Thread 射频前端。它的典型用法是作为OpenThread Border RouterOTBR的 RCP 设备用于在 Linux 机器上配置和管理 Thread 网络。本仓库的 OpenThread Border Router 指南 给出了配套的上游流程该指南介绍如何在 Raspberry Pi 3/4Ubuntu 与 Debian 主机同样支持上搭建 OTBR其 CodeLab 教程默认使用 Nordic 的 nRF52840 DK 作为 Border Router 的 RCP 设备而当你手上只有 nRF52840 Dongle 时即可按照本文档将其编程为 RCP 后替代使用。一个典型的 Matter/Thread 测试拓扑因此成型Raspberry Pi (OTBR) --USB/Spinel-- nRF52840 Dongle (RCP) | | Wi-Fi/Ethernet 802.15.4 Thread 网络 | | 手机/电脑(Commissioner) Matter 设备(Thread end-device)OTBR 为 Thread 网络提供双向 IP 连通、mDNS/SRP 服务发现、Thread-over-infrastructure 以及外部 Commissioning 支持而 RCP Dongle 则是它接入 802.15.4 空中的「天线」。相关仓库资源OpenThread 平台文档索引Border Router 与 RCP Dongle 两份指南的入口OpenThread Border Router 设置指南RCP Dongle 烧录完成后的下一步third_party/openthreadOpenThread 子模块与各厂商平台集成config/nrfconnect/chip-module/Kconfig.featuresnRF Connect 平台上与 OpenThread 相关的 Kconfig 选项config/nrfconnect/chip-module/zephyr/module.ymlCHIP 模块对nrfxlib与openthread的构建依赖声明。【免费下载链接】connectedhomeipMatter (formerly Project CHIP) creates more connections between more objects, simplifying development for manufacturers and increasing compatibility for consumers, guided by the Connectivity Standards Alliance.项目地址: https://gitcode.com/GitHub_Trending/co/connectedhomeip创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考