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.x | 4.4.x | Matter 1.3,支持 Thread/Wi-Fi |
| 1.4.x | 4.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 以上)。
烧录后若设备能被 App 发现并完成配网,说明环境搭建成功。此时可以用 chip-tool 在 Linux 主机上执行 chip-tool pairing ble-thread 或 chip-tool pairing ble-wifi 进行命令行配网验证,进一步确认 Matter 协议栈与网络层均正常工作。
.slcp 配置。两者的无线组件、内存布局与配网流程不同,混用会导致链接错误或运行时崩溃。建议为每个工程单独创建工作区子目录。