EFR32MG24
此示例用作灯泡设备类型,具有开启/关闭功能。 这些步骤已在 SiLabs EFR32MG24 开发板上进行了验证。
此示例使用测试供应商 ID (VID) 和产品 ID (PID) 0x8005
。
初始设置
- 安装
connectedhomeip
代码库中指定的依赖项: - 安装 Simplicity Commander 并确保其二进制文件(命令工具)位于
PATH
中。例如:
。export PATH=$PATH:/Applications/Commander.app/Contents/MacOS/
- 在计算机上安装 JLink(需要刷写映像),如 EFR32 照明示例的查看日志记录输出中所述。
- 克隆并初始化
connectedhomeip
代码库:cd ~
git clone https://github.com/project-chip/connectedhomeip.git
cd connectedhomeip
git fetch origin v1.0-branch
git checkout FETCH_HEAD
git submodule update --init --recursive
source ./scripts/activate.sh
- 导出环境变量:
- 如果您的开发板是 10 dBm 版本,请使用
BRD4186C
:export EFR32_BOARD=BRD4186C
- 如果您的开发板是 20 dBm 版本,请使用
BRD4187C
:export EFR32_BOARD=BRD4187C
- 如果您的开发板是 10 dBm 版本,请使用
构建映像并刷写开发板
- 为照明应用构建图片:
系统将在cd examples/lighting-app/efr32
source third_party/connectedhomeip/scripts/activate.sh
gn gen out/debug --args="efr32_board=\"${EFR32_BOARD}\""
ninja -C out/debug
out/debug
文件夹中生成图片。 - 将 EFR32 开发板与计算机连接,然后将映像刷写到 EFR32 开发板:
python3 out/debug/chip-efr32-lighting-example.flash.py --erase
安装引导加载程序
- 打开 Simplicity Commander:
commander
- 打开左上角的“Select Kit...”下拉菜单,然后选择要使用引导加载程序进行刷写的套件。此菜单填充检测到的所有 JLink 设备,并按序列号列出它们。为便于选择,请拔下所有支持 JLink 的设备(要刷写的设备除外),以便列表中只填充一个套件。
- 选择左侧的 Flash 图块。
- 在 Flash MCU 部分,点击浏览。
转到
connectedhomeip/third_party/silabs/matter_support/matter/efr32/bootloader_binaries
并找到与您设置的EFR32_BOARD
环境变量匹配的.s37
文件:- 如果您的开发板为 10 dBm 版本,并且您使用的是
BRD4186C
,请选择bootloader-storage-spiflash-single-1024k-BRD4186C-gsdk4.1.s37
。 - 如果您的开发板是 20 dBm 版本,并且您使用的是
BRD4187C
,请选择bootloader-storage-spiflash-single-1024k-BRD4187C-gsdk4.1.s37
。
点击打开以选择文件。
- 如果您的开发板为 10 dBm 版本,并且您使用的是
点击 Flash。
请注意,刷写引导加载程序后,后续刷写应用应省略 --erase
标志,否则必须重新刷写引导加载程序。--erase
标记会清空开发板的所有闪存,包括引导加载程序。
验证示例
- 检查开发板中的日志。打开两个终端窗口。
- 在第一个窗口中:
JLinkExe -device EFR32MG12PXXXF1024 -if JTAG -speed 4000 -autoconnect 1
- 在第二个窗口中:
日志将在第二个窗口中输出。JLinkRTTClient
- 在第一个窗口中:
- 该设备应在计算机上将自身显示为 USB 串行设备。您可以在
/dev/
中进行查找:
您可以使用 minicom 或 screen 打开串行控制台。例如,如果设备位于ls -la /dev/tty*
/dev/ttyACM0
:
您可以通过串行控制台输入 OpenThread 命令(例如screen /dev/ttyACM0 115200
state
)。 - 如果您之前已配对过 EFR32 开发板,建议将其恢复出厂设置:
- 长按 PB0 按钮超过 10 秒。
- LED 灯将闪烁 3 次。持续按住该按钮,直到您看到二维码在小显示屏上刷新。
EFR32MG12
此示例用作灯泡设备类型,具有开启/关闭功能。 这些步骤已在 SiLabs EFR32MG12 (Mighty Gecko) 开发板上得到了验证。
此示例使用测试供应商 ID (VID) 和产品 ID (PID) 0x8005
。
初始设置
- 安装
connectedhomeip
代码库中指定的依赖项: - 安装 Simplicity Commander 并确保其二进制文件(命令工具)位于
PATH
中。例如:
。export PATH=$PATH:/Applications/Commander.app/Contents/MacOS/
- 在计算机上安装 JLink(需要刷写映像),如 EFR32 照明示例的查看日志记录输出中所述。
- 克隆并初始化
connectedhomeip
代码库:cd ~
git clone https://github.com/project-chip/connectedhomeip.git
cd connectedhomeip
git fetch origin v1.0-branch
git checkout FETCH_HEAD
git submodule update --init --recursive
source ./scripts/activate.sh
- 导出环境变量:
export EFR32_BOARD=BRD4161A
构建映像并刷写开发板
- 为照明应用构建图片:
系统将在cd examples/lighting-app/efr32
source third_party/connectedhomeip/scripts/activate.sh
gn gen out/debug --args="efr32_board=\"${EFR32_BOARD}\""
ninja -C out/debug
out/debug
文件夹中生成图片。 - 将 EFR32 开发板与计算机连接,然后将映像刷写到 EFR32 开发板:
python3 out/debug/chip-efr32-lighting-example.flash.py --erase
验证示例
- 检查开发板中的日志。打开两个终端窗口。
- 在第一个窗口中:
JLinkExe -device EFR32MG12PXXXF1024 -if JTAG -speed 4000 -autoconnect 1
- 在第二个窗口中:
日志将在第二个窗口中输出。JLinkRTTClient
- 在第一个窗口中:
- 该设备应在计算机上将自身显示为 USB 串行设备。您可以在
/dev/
中进行查找:
您可以使用 minicom 或 screen 打开串行控制台。例如,如果设备位于ls -la /dev/tty*
/dev/ttyACM0
:
您可以通过串行控制台输入 OpenThread 命令(例如screen /dev/ttyACM0 115200
state
)。 - 如果您之前已配对过 EFR32 开发板,建议将其恢复出厂设置:
- 长按 PB0 按钮超过 10 秒。
- LED 灯将闪烁 3 次。持续按住该按钮,直到您看到二维码在小显示屏上刷新。
后续步骤
成功构建 Matter 示例后,请创建开发者项目。