2. 搭建Silicon Labs Matter开发环境
Matter 开发环境不是单一软件,而是由 Simplicity Studio 6(简称 SSv6)、Gecko SDK(GSDK)、Matter 扩展包、编译器工具链和硬件调试链路共同组成的工具集合。本节的目标是让一台电脑能够完成从工程创建、代码编译到固件烧录的完整闭环。理解各组件之间的依赖关系,比记住安装按钮的位置更重要。
一、环境组成与依赖关系
Simplicity Studio 是 Silicon Labs 的集成开发环境,负责工程管理、代码编辑、编译和调试。它本身不包含芯片的底层驱动和协议栈,这些内容由 Gecko SDK 提供。Matter 协议栈、示例应用和构建脚本则以扩展包(Extension)的形式叠加在 GSDK 之上。三者版本必须匹配:SSv6 的某个版本只支持特定范围的 GSDK,而 Matter 扩展包又对 GSDK 版本有明确要求。如果版本错配,最常见的现象是工程创建后编译报错,提示找不到 slc 组件或 Matter 相关头文件。
下图展示了从主机到目标板的完整工具链与数据流关系,包括版本匹配约束和调试连接路径。
二、Simplicity Studio 6 安装要点
从 Silicon Labs 官网下载 SSv6 安装包后,安装过程本身比较直接,但有几个选择会影响后续使用。安装向导会询问是否安装 32 位 MCU 支持、是否安装无线协议栈支持,以及是否安装 Matter 扩展。建议至少勾选“Wireless”和“Matter”相关选项,否则后续需要手动添加。安装路径不要包含中文或空格,否则 SLC 组件生成器可能因路径解析问题失败。
安装完成后首次启动,SSv6 会要求登录 Silicon Labs 账号。登录后进入 Package Manager,这里可以查看已安装的 GSDK 版本和扩展包。如果安装时未勾选 Matter 扩展,可以在 Package Manager 的“Extensions”标签页中搜索“Matter”并安装。安装过程中会从网络下载数百 MB 的组件,建议保持网络稳定。
三、Gecko SDK 配置与版本管理
GSDK 是 Matter 应用的基础。SSv6 默认会安装一个 GSDK 版本,但 Matter 扩展包对 GSDK 版本有严格要求。例如,Matter 扩展包 v2.3.x 通常要求 GSDK v4.4.x 或 v4.5.x。在 Package Manager 中,可以同时安装多个 GSDK 版本,创建工程时再选择具体版本。这种多版本共存机制方便在不同项目间切换,但要注意磁盘空间占用。
配置 GSDK 时,需要关注两个路径:SDK 根目录和工具链路径。SDK 根目录通常位于 ~/SimplicityStudio/SDKs/gecko_sdk(Linux/macOS)或 C:\Users\<用户名>\SimplicityStudio\SDKs\gecko_sdk(Windows)。工具链路径由 SSv6 自动管理,一般不需要手动修改。如果编译时提示找不到 arm-none-eabi-gcc,可以在 SSv6 的 Preferences → MCU → Toolchains 中检查工具链是否已正确安装。
四、Matter 扩展包获取与工程创建
Matter 扩展包包含 Matter SDK、示例应用、ZAP 工具和构建脚本。在 Package Manager 中安装 Matter 扩展后,创建工程时选择“Matter”类别,即可看到 Light、Lock、Sensor、Thermostat 等示例。创建工程时,SSv6 会自动调用 SLC(Simplicity Studio Component)生成器,根据所选开发板和示例配置组件依赖。
工程创建完成后,建议先执行一次完整编译,确认工具链和 SDK 配置无误。编译命令由 SSv6 自动生成,底层调用 make 和 ARM GCC。如果编译失败,优先检查三个地方:GSDK 版本是否与 Matter 扩展匹配、开发板型号是否在示例支持列表中、ZAP 工具是否已正确安装。ZAP 工具用于生成 Matter 数据模型代码,如果缺失,编译会在 zap-generated 目录报错。
五、硬件选型与开发板连接
Matter 开发对硬件有一定要求。EFR32MG24 是当前主推的 Matter 开发平台,支持 2.4 GHz 频段的 802.15.4 和 BLE,Flash 容量 1536 KB,RAM 256 KB,足以运行完整的 Matter 终端设备应用。EFR32MG21 是成本优化版本,Flash 和 RAM 较小,适合功能简单的 Matter 设备。EFR32MG12/MG13 属于较早期产品,部分 Matter 示例可能不支持,选型时需确认 SDK 版本。
开发板连接方面,Silicon Labs 的开发板通常板载 J-Link 调试器,通过 USB 线连接电脑即可。连接后,SSv6 的 Device Manager 会自动识别开发板,显示芯片型号、调试接口和固件版本。如果未识别,检查 USB 驱动是否安装(Windows 需要安装 J-Link 驱动),或尝试更换 USB 线缆。识别成功后,可以在 Device Manager 中直接执行擦除、烧录和复位操作。
建议在首次烧录前,先用 Device Manager 读取芯片的 Device Info,确认芯片型号与开发板丝印一致。如果型号不匹配,可能是开发板上的芯片被更换或调试接口连接到了错误的芯片。
六、环境验证与常见问题
环境搭建完成后,建议按以下顺序验证:第一步,在 SSv6 中创建一个 Matter Light 示例工程,选择 EFR32MG24 开发板,执行编译,确认生成 .hex 或 .s37 文件。第二步,通过 Device Manager 将固件烧录到开发板,观察开发板 LED 是否按示例逻辑闪烁。第三步,使用 Matter 控制器(如 chip-tool 或手机 App)尝试配网,确认设备能够被发现并控制。
常见问题中,编译报错“undefined reference to sl_matter_...”通常说明 Matter 扩展包未正确安装或版本不匹配。烧录失败提示“Could not connect to target”通常是调试接口连接问题,检查 SWD 线序或开发板供电。配网失败则可能是 Thread 边界路由器未就绪或 Wi-Fi 凭据错误,需要分别排查网络环境。
不要在同一台电脑上混用多个版本的 J-Link 驱动和 SSv6 内置调试器。如果同时安装了独立 J-Link 软件包和 SSv6,可能出现调试器被占用的情况。建议优先使用 SSv6 内置的调试功能,避免端口冲突。