3. 开发环境搭建与Simplicity Studio工程创建

Matter 开发的第一步不是写代码,而是把工具链、SDK 与协议扩展三者对齐。Silicon Labs 的 Matter 开发以 Simplicity Studio 5 为集成入口,以 Gecko SDK(GSDK) 提供底层无线协议栈与 Matter 组件,再通过 Matter Extension 把 Matter 的构建系统、示例工程和 CLI 工具接入 Studio。三者版本必须匹配,否则会出现组件缺失、编译报错或烧录后设备无法入网等问题。

一、安装 Simplicity Studio 与必要组件

从 Silicon Labs 官网下载 Simplicity Studio 5 安装包(Windows/Linux/macOS 均可)。安装时选择自定义安装,至少勾选以下内容:

  • Simplicity Studio 5 主程序:提供工程管理、编译、调试与 Energy Profiler 等工具。
  • Gecko SDK:建议选择 4.4.x 或更高版本(Matter 1.3/1.4 对应 GSDK 4.4+)。安装器会同时拉取 32-bit MCU 平台与无线协议栈。
  • GCC 工具链(ARM GNU Toolchain):用于编译 EFR32 系列目标文件。
  • J-Link / Simplicity Commander:用于烧录与读取芯片信息。

安装完成后首次启动 Studio,会提示登录 Silicon Labs 账号并选择工作区目录。工作区路径建议不含中文与空格,例如 D:\Silabs\workspace,避免后续构建脚本解析路径失败。

二、安装 Matter Extension 与 SDK 版本对齐

Matter 支持并非默认随 GSDK 安装,需要单独安装扩展。在 Studio 菜单栏选择 Help → Update Software,在 “Available” 页签中搜索 Matter,勾选 Matter Extension 并安装。安装后重启 Studio,在 Preferences → Simplicity Studio → SDKs 中可以看到 Matter SDK 的路径与版本号。

版本对齐是本节最容易踩坑的地方。Matter Extension 的版本必须与 GSDK 主版本兼容,例如:

Matter Extension推荐 GSDK说明
1.3.x4.4.xMatter 1.3,支持 Thread/Wi-Fi
1.4.x4.4.x 及以上Matter 1.4,新增 ICD 等特性

如果 Studio 中同时存在多个 GSDK 版本,需要在工程创建时显式指定,否则默认使用最新版可能导致 Matter 组件找不到对应依赖。

三、创建 Matter over Thread 工程

在 Studio 中点击 File → New → Silicon Labs Project Wizard。选择目标芯片,例如 EFR32MG24B310F1536IM48(MG24 是 Matter over Thread 的常用 SoC,内置 1536 KB Flash、256 KB RAM,支持 802.15.4 与 BLE)。在 SDK 选择页确认 GSDK 版本与 Matter Extension 已勾选。

在示例工程列表中筛选 Matter,选择 Matter – Light Over Thread(或 Matter – Lock Over Thread)。工程名建议使用英文,例如 matter_light_thread。创建向导会询问是否生成 slc 工程文件与 .slcp 配置,保持默认即可。

工程创建完成后,先不要急着编译。打开 matter_light_thread.slcp,在 Software Components 中确认以下关键组件已启用:

  • Matter Core:Matter 协议栈核心。
  • OpenThread:Thread 协议栈,角色通常为 Sleepy End Device 或 Router。
  • BLE Stack:用于设备配网(Commissioning)阶段的 BLE 广播。
  • NVM3:用于保存 Matter 配网信息与 Thread 网络参数。

若缺少 BLE Stack,设备将无法被手机 App 发现;若缺少 NVM3,配网后重启会丢失网络信息。确认无误后点击 Build,首次编译约需 3–8 分钟,取决于机器性能。

四、创建 Matter over Wi-Fi 工程

Wi-Fi 版本的目标芯片不同,通常选择 EFR32MG24 + WF200 组合,或使用 SiWx917 等 Wi-Fi SoC。在 Project Wizard 中选择对应开发板,例如 BRD4186C + BRD8029A(MG24 + WF200 扩展板)。示例工程选择 Matter – Light Over Wi-Fi。

Wi-Fi 工程需要额外配置 Wi-Fi 凭据。在 slcp 的 Wi-Fi Configuration 中填写 SSID 与密码,或使用 SL_WIFI_SSID、SL_WIFI_PASSWORD 宏在代码中注入。注意:Matter over Wi-Fi 的配网流程通常由手机 App 通过 BLE 下发 Wi-Fi 凭据,因此工程中仍需保留 BLE Stack,但 Wi-Fi 连接建立后 BLE 会关闭以省电。

Wi-Fi 工程对 RAM 占用更高,建议在 Linker 配置中确认堆栈大小,必要时将 SL_STACK_SIZE 调整到 8 KB 以上。编译前检查 sl_wifi 组件是否已包含,否则会出现 sl_wifi_init 未定义。

五、烧录与首次验证

将开发板通过 USB 连接,Studio 会自动识别并显示在 Debug Adapters 中。右键工程选择 Debug As → Silicon Labs ARM Program,或使用 Simplicity Commander 命令行:

commander flash matter_light_thread.s37 --address 0x0
commander reset

烧录完成后,设备应开始 BLE 广播。用手机上的 Matter 调试 App(如 chip-tool 或 Silicon Labs Matter 示例 App)扫描,应能看到设备名称与 VID/PID。若扫描不到,依次检查:BLE Stack 是否启用、天线是否连接、供电是否稳定(Wi-Fi 峰值电流可达 300 mA 以上)。

首次编译若报 “Matter SDK not found”,通常是 Matter Extension 未安装或 SDK 路径未在 Preferences 中注册。重新执行 Update Software 并确认 Matter 扩展已勾选即可。
Matter 开发环境三层结构与工程创建路径 Simplicity Studio 5 工程管理 / 编译 / 调试 Energy Profiler / Commander Project Wizard 入口 工作区路径:D:\Silabs\workspace Gecko SDK (GSDK 4.4+) 802.15.4 / BLE / Wi-Fi 协议栈 NVM3 / 外设驱动 / 中间件 GCC ARM 工具链 版本需与 Matter 扩展匹配 Matter Extension Matter 1.3 / 1.4 协议栈 示例工程 / chip-tool 构建脚本 / 组件定义 通过 Update Software 安装 Matter over Thread 工程 芯片:EFR32MG24B310F1536IM48 示例:Matter – Light Over Thread 组件:Matter Core + OpenThread + BLE Stack + NVM3 Matter over Wi-Fi 工程 芯片:EFR32MG24 + WF200 示例:Matter – Light Over Wi-Fi 组件:Matter Core + sl_wifi + BLE Stack + NVM3 + 凭据配置

烧录后若设备能被 App 发现并完成配网,说明环境搭建成功。此时可以用 chip-tool 在 Linux 主机上执行 chip-tool pairing ble-thread 或 chip-tool pairing ble-wifi 进行命令行配网验证,进一步确认 Matter 协议栈与网络层均正常工作。

Thread 与 Wi-Fi 工程不要混用同一份 .slcp 配置。两者的无线组件、内存布局与配网流程不同,混用会导致链接错误或运行时崩溃。建议为每个工程单独创建工作区子目录。