Silicon Labs

EFR32MG24

此示例用作灯泡设备类型,具有开启/关闭功能。 这些步骤已在 SiLabs EFR32MG24 开发板上进行了验证。

此示例使用测试供应商 ID (VID) 和产品 ID (PID) 0x8005

初始设置

  1. 安装 connectedhomeip 代码库中指定的依赖项:
    1. 构建诉讼或调查
    2. 构建 EFR32 照明示例
  2. 安装 Simplicity Commander 并确保其二进制文件(命令工具)位于 PATH 中。例如:
    export PATH=$PATH:/Applications/Commander.app/Contents/MacOS/
  3. 在计算机上安装 JLink(需要刷写映像),如 EFR32 照明示例的查看日志记录输出中所述。
  4. 克隆并初始化 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
  5. 导出环境变量:
    1. 如果您的开发板是 10 dBm 版本,请使用 BRD4186C
      export EFR32_BOARD=BRD4186C
    2. 如果您的开发板是 20 dBm 版本,请使用 BRD4187C
      export EFR32_BOARD=BRD4187C

构建映像并刷写开发板

  1. 为照明应用构建图片:
    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 文件夹中生成图片。
  2. 将 EFR32 开发板与计算机连接,然后将映像刷写到 EFR32 开发板:
    python3 out/debug/chip-efr32-lighting-example.flash.py --erase

安装引导加载程序

  1. 打开 Simplicity Commander:
    commander
  2. 打开左上角的“Select Kit...”下拉菜单,然后选择要使用引导加载程序进行刷写的套件。此菜单填充检测到的所有 JLink 设备,并按序列号列出它们。为便于选择,请拔下所有支持 JLink 的设备(要刷写的设备除外),以便列表中只填充一个套件。
  3. 选择左侧的 Flash 图块。
  4. Flash MCU 部分,点击浏览
  5. 转到 connectedhomeip/third_party/silabs/matter_support/matter/efr32/bootloader_binaries 并找到与您设置的 EFR32_BOARD 环境变量匹配的 .s37 文件:

    1. 如果您的开发板为 10 dBm 版本,并且您使用的是 BRD4186C,请选择 bootloader-storage-spiflash-single-1024k-BRD4186C-gsdk4.1.s37
    2. 如果您的开发板是 20 dBm 版本,并且您使用的是 BRD4187C,请选择 bootloader-storage-spiflash-single-1024k-BRD4187C-gsdk4.1.s37

    点击打开以选择文件。

  6. 点击 Flash

请注意,刷写引导加载程序后,后续刷写应用应省略 --erase 标志,否则必须重新刷写引导加载程序--erase 标记会清空开发板的所有闪存,包括引导加载程序。

验证示例

  1. 检查开发板中的日志。打开两个终端窗口。
    1. 在第一个窗口中:
      JLinkExe -device EFR32MG12PXXXF1024 -if JTAG -speed 4000 -autoconnect 1
    2. 在第二个窗口中:
      JLinkRTTClient
      日志将在第二个窗口中输出。
  2. 该设备应在计算机上将自身显示为 USB 串行设备。您可以在 /dev/ 中进行查找:
    ls -la /dev/tty*
    您可以使用 minicom 或 screen 打开串行控制台。例如,如果设备位于 /dev/ttyACM0
    screen /dev/ttyACM0 115200
    您可以通过串行控制台输入 OpenThread 命令(例如 state)。
  3. 如果您之前已配对过 EFR32 开发板,建议将其恢复出厂设置
    1. 长按 PB0 按钮超过 10 秒。
    2. LED 灯将闪烁 3 次。持续按住该按钮,直到您看到二维码在小显示屏上刷新。

EFR32MG12

此示例用作灯泡设备类型,具有开启/关闭功能。 这些步骤已在 SiLabs EFR32MG12 (Mighty Gecko) 开发板上得到了验证。

此示例使用测试供应商 ID (VID) 和产品 ID (PID) 0x8005

初始设置

  1. 安装 connectedhomeip 代码库中指定的依赖项:
    1. 构建诉讼或调查
    2. 构建 EFR32 照明示例
  2. 安装 Simplicity Commander 并确保其二进制文件(命令工具)位于 PATH 中。例如:
    export PATH=$PATH:/Applications/Commander.app/Contents/MacOS/
  3. 在计算机上安装 JLink(需要刷写映像),如 EFR32 照明示例的查看日志记录输出中所述。
  4. 克隆并初始化 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
  5. 导出环境变量:
    export EFR32_BOARD=BRD4161A

构建映像并刷写开发板

  1. 为照明应用构建图片:
    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 文件夹中生成图片。
  2. 将 EFR32 开发板与计算机连接,然后将映像刷写到 EFR32 开发板:
    python3 out/debug/chip-efr32-lighting-example.flash.py --erase

验证示例

  1. 检查开发板中的日志。打开两个终端窗口。
    1. 在第一个窗口中:
      JLinkExe -device EFR32MG12PXXXF1024 -if JTAG -speed 4000 -autoconnect 1
    2. 在第二个窗口中:
      JLinkRTTClient
      日志将在第二个窗口中输出。
  2. 该设备应在计算机上将自身显示为 USB 串行设备。您可以在 /dev/ 中进行查找:
    ls -la /dev/tty*
    您可以使用 minicom 或 screen 打开串行控制台。例如,如果设备位于 /dev/ttyACM0
    screen /dev/ttyACM0 115200
    您可以通过串行控制台输入 OpenThread 命令(例如 state)。
  3. 如果您之前已配对过 EFR32 开发板,建议将其恢复出厂设置
    1. 长按 PB0 按钮超过 10 秒。
    2. LED 灯将闪烁 3 次。持续按住该按钮,直到您看到二维码在小显示屏上刷新。

后续步骤

成功构建 Matter 示例后,请创建开发者项目