Matter RT1170 平台开发实战指南:基于 connectedhomeip 构建 Wi-Fi/Thread/Wi-Fi+OTBR 应用

发布时间:2026/9/17 23:22:57
Matter RT1170 平台开发实战指南:基于 connectedhomeip 构建 Wi-Fi/Thread/Wi-Fi+OTBR 应用 Matter RT1170 平台开发实战指南基于 connectedhomeip 构建 Wi-Fi/Thread/Wi-FiOTBR 应用【免费下载链接】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本篇指南基于 connectedhomeipProject Matter 官方仓库中的docs/platforms/nxp/nxp_rt1170_guide.md及其关联源码整理聚焦 NXP MIMXRT1170-EVK-B 开发板与 IW612 三射频模组Wi-Fi BLE 802.15.4的组合方案。读完本文你将掌握 RT1170 硬件接线与跳线设置、CMake 构建命令与配置项选择、制造数据写入、J-Link 烧录调试以及 OTA 升级与 Thread Border Router 的完整落地流程。一、平台定位与支持的配置RT1170 应用示例基于 Matter 代码库与 NXP MCUX SDK 构建目标板卡默认为 NXP MIMXRT1170-EVKB主机侧配合外置 IW612 无线模组实现射频功能。从源码结构看该平台的构建入口为 examples/platform/nxp/rt/rt1170/BUILD.gn它引入了build_overrides/nxp_sdk.gni并配置了app/project_include、common/util/include、common/mbedtls等公共包含路径供 GN 构建体系使用而当前推荐的构建方式则是 CMake见下文第五节。官方示例支持三种组网形态Matter over Wi-FiMatter over OpenThreadThreadMatter over Wi-Fi 且带 OpenThread Border Router 支持即 Wi-Fi Thread BR 双接口目前 RT1170 上同时支持 Wi-Fi 与 Thread 的硬件组合是RT1170 IW612Wi-Fi BLE 15.4 三合一。需要注意的一点在 CMake 构建中若未通过CONF_FILE_NAME指定prj_flavour.conf配置文件默认配置就是Matter over Wi-Fi。这一点与 Kconfig 默认值一致——在 config/nxp/chip-cmake-freertos/Kconfig.defaults 中CHIP_WIFI对CHIP_NXP_PLATFORM_RT1170平台默认y这就是“不指定配置文件即得到 Wi-Fi 应用”的根源。二、硬件准备RT1170 IW612 接线与跳线设置2.1 物料清单主机侧需要 1 块 MIMXRT1170-EVK-B射频侧需要1 个 NXP2EL M2 A1 IW612 Secure Module2.4/5GHz 双频 1x1 Wi-Fi 6 Bluetooth 5.2 802.15.4 三射频模组1 个 MuratauSD to M2 适配器revC用于承载 IW612 的 M.2 金手指若干 Male to Female 杜邦线2.2 SPI 支持的硬件飞线Rework由于 MIMXRT1170-EVK-B 出厂默认未全部引出 SPI 信号要支持 Spinel over SPI 通信必须拆除 0Ω 电阻 R404、R406、R2015。这是使用 IW612 模组前必做的一步否则 SPI 链路不通。2.3 接线拓扑物理连接顺序IW612 模组插到 Murata uSD-to-M2 适配器的 M.2 插槽再将该适配器通过SD-IO接口插到 RT1170 开发板上。适配器与 RT1170 之间的信号包括Spinel over SPI控制 15.4 射频、I2C编程 IW612 上的 IO_Expander、UARTBLE 协议栈通道与复位信号。Murata uSD-to-M2 适配器跳线位置使用 USB-C 供电跳线位置J11-2J121-2J131-2J141-2JP1.1背面ONMIMXRT1170-EVK-B 跳线位置跳线位置J562-3I2C 连接用于编程 IW612 上的 IO_ExpanderMIMXRT1170-EVK-BuSD-M2 适配器I2C_SDA (J10.18)J5.2I2C_SCL (J10.20)J5.4SPI 连接RT1170 ↔ uSD-M2 适配器MIMXRT1170-EVK-BuSD-M2 适配器SPI_MOSI (J10.8)J5.10SPI_MISO (J10.10)J9.7SPI_CLK (J10.12)J9.8SPI_CS (J10.6)J5.8SPI_INT (J26.4)J5.6GND (J10.14)J5.15UARTBLE与 Reset 连接RT1170 ↔ uSD-M2 适配器MIMXRT1170-EVK-BuSD-M2 适配器RESET (J26.2)J9.3UART_RXD (J25.13)J9.1UART_TXD (J25.15)J9.2UART_CTS (J25.9)J8.4UART_RTS (J25.11)J8.3GND (J26.1)J7.6说明Spinel over SPI 承载 OpenThread 对 IW612 15.4 射频的驱动I2C 用于初始化模组上的 IO 扩展器UART 则承载 BLE 协议栈BLE 用于 Matter 配网并提供硬件复位通路。三者缺一不可。三、构建环境准备FreeRTOS 平台通用RT1170 属于 NXP FreeRTOS 系列平台之一环境准备遵循通用的 Matter NXP Examples Guide for FreeRTOS platforms。摘要如下在 connectedhomeip 仓库根目录执行仅检出 NXP 相关子模块scripts/checkout_submodules.py --shallow --platform nxp --recursive激活 Matter 环境首次或环境过期时用 bootstrap否则用 activatesource scripts/bootstrap.sh -p all,nxp # 或 source scripts/activate.sh安装 NXP MCUX SDKthird_party/nxp/nxp_matter_support/scripts/update_nxp_sdk.py --platform common加载 SDK 环境变量source path to mcux sdk/mcux-env.sh导出 ARMGCC_DIRCMake 构建必需指向 ARM GCC 工具链根目录可使用 Matter 环境自带的工具链export ARMGCC_DIR/path/to/connectedhomeip/.environment/cipd/packages/arm注意步骤 2、4、5 需要在每个新的终端会话中重复执行。四、构建系统现状RT1170 当前支持 CMake原指南明确 RT1170 平台当前支持CMake构建系统基于 west MCUX SDK 的 CMake/Kconfig 体系。构建流程要点在 examples/all-clusters-app/nxp/CMakeLists.txt 中体现若提供了CONF_FILE_NAME变量构建系统会把examples/platform/nxp/config/${CONF_FILE_NAME}拼入CONF_FILE列表应用自身的prj.conf始终排在CONF_FILE最前面参与 Kconfig 合并通过find_package(McuxSDK 3.0.0)加载 MCUX SDK 包并引入chip-cmake-freertos模块与 SE05x 安全元件库third_party/simw-top-mini/repo/matter通过chip_configure_data_model()加载数据模型all-clusters 使用all-clusters-app.zap。一个值得注意的实现细节该 CMakeLists 中对CONFIG_CHIP_WIFI AND CONFIG_NET_L2_OPENTHREAD的组合会直接FATAL_ERROR即all-clusters-app 本身不支持“Wi-Fi Thread BR”组合该组合面向 thermostat 等支持次级网络接口的示例GN 通用参数表中也注明次级网络配网接口目前仅 thermostat 支持。选择配置时需按“示例 × 平台”的兼容表核对不能只看平台能力。五、CMake 构建命令详解构建命令格式以 All-Clusters 应用为例west build -d build_matter -b evkbmimxrt1170 examples/all-clusters-app/nxp \ -DCONF_FILE_NAMEprj_wifi.conf -Dcore_idcm7 \ -DCONFIG_MCUX_COMPONENT_component.wifi_bt_module.IW61Xy参数说明-d build_matter构建输出目录build_dir。-b evkbmimxrt1170目标板名对应 MIMXRT1170-EVK-B。-Dcore_idcm7RT1170 为双核Cortex-M7 Cortex-M4Matter 应用运行在 M7 核上。-DCONFIG_MCUX_COMPONENT_component.wifi_bt_module.IW61XyKconfig 开关启用 IW612 收发器组件。-DCONF_FILE_NAMEprj_wifi.conf选择examples/platform/nxp/config/下的配置风味文件。可用的 RT1170 配置文件摘自 NXP FreeRTOS 平台指南的配置兼容表配置文件能力prj_wifi.confWi-Fiprj_wifi_fdata.confWi-Fi 工厂数据prj_wifi_ota.conf/prj_wifi_ota_v2.confWi-Fi OTAv2 软件版本prj_wifi_ota_fdata.conf/prj_wifi_ota_fdata_v2.confWi-Fi 工厂数据 OTAprj_wifi_onnetwork.confWi-Fi on-network 配网无 BLEprj_thread_ftd.confThread FTDprj_thread_ftd_fdata.confThread FTD 工厂数据prj_thread_ftd_ota.conf/prj_thread_ftd_ota_fdata.confThread FTD OTA 工厂数据prj_thread_ftd_wifi_br_ota*.confWi-Fi Thread BR OTAv2 变体见表配置文件内容示例仓库中的 prj_wifi.conf 实际只有一行核心配置CONFIG_CHIP_WIFIy。以 Wi-Fi Thread BR OTA 的 prj_thread_ftd_wifi_br_ota.conf 为例它同时打开了CONFIG_NET_L2_OPENTHREAD、CONFIG_CHIP_OPENTHREAD_FTD、CONFIG_CHIP_WIFI、CONFIG_CHIP_SECONDARY_NETWORK_IF、CONFIG_CHIP_THREAD_NETWORK_ENDPOINT_ID2以及CONFIG_CHIP_OTA_REQUESTOR——这正是 TBR 应用“双网络接口 OTA”的 Kconfig 表达。提示BLE 与 Matter-CLI 在 CMake 构建的 Matter 应用中默认启用如需关闭请参考 如何定制 CMake 构建可用-DCONFIG_symbolvalue直接覆盖或用-DCONF_FILE绝对路径1;绝对路径2追加多个自定义 prj.conf。构建产物位于build_dir/app.elf。六、制造数据Manufacturing DataNXP 平台的制造数据写入流程见 NXP 设备制造数据写入指南。RT1170 示例的补充要点all-clusters 应用演示了加密的 Matter 制造数据存储——制造数据证书、密钥、Spake2 验证器等在烧录进设备 Flash 之前需要用 AES-128 软件密钥加密。Kconfig 侧对应CHIP_FACTORY_DATA相关选项见 prj_wifi_ota_fdata.conf 中CONFIG_CHIP_FACTORY_DATAy、CONFIG_CHIP_FACTORY_DATA_CERT_SOURCE_GENERATEDy、CONFIG_CHIP_FACTORY_DATA_GENERATE_SPAKE2_VERIFIERy。RT1170 平台在 Kconfig.defaults 中的默认出厂信息包括Vendor ID41510x1037、产品 ID41511、设备鉴别器0xA00、Spake2 口令14014、旋转设备 UID 与序列号默认值等生产替换时应通过工厂数据或 Kconfig 覆盖这些值。七、烧录与调试J-Link官方推荐使用 Segger J-Link 烧录。连接与擦除步骤$ JLink J-Link connect Device ? # 弹出对话框选择 MIMXRT1176xxxA_M7 Please specify target interface: J) JTAG (Default) S) SWD T) cJTAG TIF S Specify target interface speed [kHz]. Default: 4000 kHz Speed # 直接回车 J-Link exec EnableEraseAllFlashBanks J-Link erase 0x30000000, 0x34000000其中0x30000000–0x34000000是 RT1170 外部 Flash 的完整范围128 MB 地址窗口。然后写入应用可执行文件J-Link loadfile application_binary若使用裸二进制格式可改为指定加载基址0x30000000J-Link loadbin application_binary.bin 0x30000000该基址与 OTA 分区布局一致MCUBoot 位于 Flash 底部主应用分区自0x30040000起见下节。未启用 OTA 时直接loadbin到0x30000000即可覆盖整个外部 Flash 起始区域。八、测试示例配网验证与 UART 细节测试流程复用 FreeRTOS 平台通用指南的 Testing the example 章节使用 CHIP Tool 控制器完成配网——Wi-Fi 配置用ble-wifi配对方式Thread 配置用ble-threadWi-Fi OTBR 配置先用ble-wifi配网设备、再通过 TBR 管理簇或 Matter CLI 的otcli命令创建/加入 Thread 网络。RT1170 平台的UART 接线细节原文档“Testing the example / UART details”一节UART1命令输入口Matter-CLI可直接插入 USB 线板载 USB-UART 通道查看UART2日志输出口需要将J9 连接器的 pin 4接至 USB-UART 适配器查看。串口参数统一为115200 波特率、8 数据位、1 停止位、无校验、无流控。开启 CLI 的完整测试还需连接 UART1 与 UART2 两路串口并在 CLI 中可用 NXP 扩展命令mattercommissioning [on|off]、matterfactoryreset彻底擦除文件系统、matterreset不擦设置重启等。九、OTA 软件更新RT1170 示例支持 OTA 空中软件更新完整流程见专项指南 Matter Over-The-Air Software Update with NXP RT example applications。核心机制概述Flash 布局MCUBoot 位于 Flash 底部主应用分区与副应用分区各预留 4.4 MB可通过修改应用链接脚本中的m_app_max_sectors调整。升级模式RTs 平台默认使用 MCUBootDIRECT-XIPFlash remapping模式完成镜像切换。流程OTA Requestor 从 OTA Provider 拉取镜像 → 分块存至外部 Flash → 通知 Bootloader 重启进入测试模式 → 成功则永久生效失败则回滚主分区。RT1170 相关地址擦除外部 Flash 用J-Link erase 0x30000000, 0x34000000带签名的应用镜像烧写地址为0x30040000loadbin app_SIGNED.bin 0x30040000。CMake 自动化启用 OTA 后MCUBoot 二进制、签名应用镜像与.ota文件由third_party/nxp/nxp_matter_support/cmake/build_helpers.cmake自动生成软件版本默认 1构建 v2 版本可选带v2后缀的prj_*_v2.conf或传-DCONFIG_CHIP_DEVICE_SOFTWARE_VERSION2 -DCONFIG_CHIP_DEVICE_SOFTWARE_VERSION_STRING2.0。OTA 加密可选镜像可用 AES-128 加密CMake 侧对应-DCONFIG_CHIP_OTA_ENCRYPTIONy与-DCONFIG_CHIP_OTA_ENCRYPTION_KEYaes_128_key密钥须与应用构建端一致。Kconfig 层面Kconfig.defaults 显示 RT1170 平台在启用CHIP_OTA_REQUESTOR时默认CHIP_OTA_IMAGE_BUILDy即构建时自动生成 OTA 更新镜像软件版本默认值为1/1.5L78–L82。十、Thread Border RouterOTBRWi-Fi OpenThread BR 组合的使能入口就是第五节的构建配置选择prj_thread_ftd_wifi_br_ota*.conf一类文件并指定-Dcore_idcm7等参数。完整 BR 使用手册TBR 管理簇的 set/get active dataset、set pending dataset 流程、次级网络配网接口、Thread 凭据共享机制见 Thread Border Router usage 指南。典型工作流设备经 Wi-Fi 配网后先用generalcommissioning arm-fail-safe启动失效保护定时器再向 endpoint 2 的threadborderroutermanagement簇下发set-active-dataset-requestThread 接口即被激活并创建/加入 PAN最后commissioning-complete提交配置。对于已持有活跃 dataset 的设备需改用set-pending-dataset-request。十一、关键文件索引内容路径本指南原文docs/platforms/nxp/nxp_rt1170_guide.mdFreeRTOS 平台通用构建/测试指南docs/platforms/nxp/nxp_examples_freertos_platforms.md平台配置风味文件prj_*.confexamples/platform/nxp/configAll-clusters 应用 CMake 入口examples/all-clusters-app/nxp/CMakeLists.txtKconfig 默认值Wi-Fi 默认开、产品 ID 等config/nxp/chip-cmake-freertos/Kconfig.defaultsRT1170 平台 GN 构建配置examples/platform/nxp/rt/rt1170/BUILD.gn制造数据写入指南docs/platforms/nxp/nxp_manufacturing_flow.mdOTA 更新指南docs/platforms/nxp/nxp_RTs_ota_software_update.mdThread BR 指南docs/platforms/nxp/nxp_otbr_guide.md适用前提与限制本文适用于当前仓库版本中 NXP FreeRTOS 构建体系CMake west要求 CMake ≥ 3.30 与 MCUX SDK ≥ 3.0.0RT1170 平台的无线能力依赖 IW612 模组与前述硬件 reworkall-clusters-app 不支持 Wi-Fi Thread BR 组合构建时会被显式拦截该组合请选用支持次级网络接口的示例如 thermostat。【免费下载链接】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),仅供参考