Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/dsyx/docs.silabs.com_zh/llms.txt

Use this file to discover all available pages before exploring further.

本指南介绍如何使用 Bluetooth SDK v3.x、Simplicity Studio® 5(SSv5)及兼容的 WSTK(Wireless Starter Kit)开始 Bluetooth 开发。如果您购买了 EFR32BG WSTK,可以先使用预编译的 Demo 和 Android/iOS App 进行试验,再开发自己的应用程序。
如果您使用 Simplicity Studio 4 和 Bluetooth SDK v2.x,请参阅 QSG139: Bluetooth® SDK v2.x Quick Start Guide

前提条件

在开始应用开发前,请确认您已完成以下准备:

硬件准备

购买 EFR32BG Wireless Starter Kit 或其他兼容目标硬件。

账号注册

在 Silicon Labs 官网注册账号,用于访问支持门户和下载资源。

安装 Simplicity Studio 5

下载并安装 SSv5 及包含 Bluetooth SDK 的 Silicon Labs Gecko SDK。

获取编译器

SSv5 内置免费 GCC 编译器;或安装 IAR Embedded Workbench for ARM(可选,需兼容版本)。
如需 30 天 IAR-EWARM 评估许可证,可前往 Silicon Labs 支持门户 → Contact Support → Software Releases → Development Tools,下载对应 IAR 版本安装包,并在安装时通过 IAR License Wizard 注册。

Bluetooth Stack 特性

v3.x Silicon Labs Bluetooth Stack 支持以下主要特性(适用于全系列 EFR32[B|M]G 设备):
特性说明
Bluetooth 版本Bluetooth 5.3
同时支持的角色Central、Peripheral、Broadcaster、Observer 可并发
最大同时连接数8(xG1/xG13/xG22)至 32(xG12/xG21/xG24)
最大吞吐量700 kbps(1M PHY);1300 kbps(2M PHY)
加密算法AES-128
配对模式Just Works、Numeric Comparison、Passkey Entry、OOB
最大同时绑定数最多 32(PS Store 最多 13)
Host 接口4 线 UART(含 RTS/CTS)或 2 线 UART

运行 Demo 软件

准备主板

1

连接 Radio Board

将 Bluetooth Module Radio Board 连接到 Mainboard,使用 Mainboard USB 连接器连接到 PC,并将 Power Switch 调整到 AEM 位置。
2

验证连接

检查蓝色 USB Connection Indicator LED 是否点亮或闪烁,确认 Mainboard LCD 显示 Silicon Labs Logo。
3

烧录 Demo

打开 SSv5,在 Debug Adapters 视图中选择设备,切换到 Example Projects & Demos 选项卡,点击所选 Demo 上的 RUN 按钮。
4

使用 EFR Connect App 测试

从 Google Play Store 或 App Store 安装 EFR Connect App,通过 Bluetooth Browser 或 Demo 选项卡连接并测试您的设备。

三种 Demo 测试场景

烧录 Bluetooth – NCP Demo 后,使用 Bluetooth NCP Commander 工具(通过 Project Configurator → Configuration Tools 选项卡或 Simplicity Studio Tools 菜单打开):
  1. 启动 NCP Commander,使用 JLink 适配器建立 Virtual UART 连接,点击 Connect
  2. 选择 Local GATT 菜单 → 点击 Create Basic GATT 构建基本 GATT 数据库。
  3. 选择 Advertise 菜单 → 点击 +(Create Set)创建广告集。
  4. 将 Advertising Data Type 设置为 Generated data,点击 Start 开始广告。
  5. 使用 EFR Connect App 的 Bluetooth Browser 连接设备,浏览 GATT 数据库。

开始应用程序开发

开发 Bluetooth 应用包含两个主要步骤:定义 GATT 数据库结构编写事件处理程序

创建新项目

1

启动 New Project Wizard

在 Simplicity Studio 5 中选择 File → New → Silicon Labs Project Wizard
2

选择目标和工具链

在 Target, SDK, and Toolchain 对话框中确认 SDK 版本。如需使用 IAR 替代 GCC,请在此处更改(创建后难以更改 Toolchain)。点击 NEXT
3

选择示例项目

在 Example Project Selection 对话框中,按 Bluetooth 过滤,选择 Bluetooth – SoC Empty(最常用起始点)。点击 NEXT
SoC Empty 并非完全空白——它提供了最小 GATT 数据库(Generic Access Service、Device Information Service、OTA Service)和基础事件处理循环,支持 OTA DFU。
4

配置项目

在 Project Configuration 对话框中根据需要重命名项目,选择是否链接 SDK 文件(推荐默认的链接方式)。点击 FINISH

模式选择指南

Bluetooth – SoC Empty 或最接近需求的示例开始。
  • gatt_configuration.btconf 中设计 GATT 数据库
  • app.c 的事件处理循环中添加业务逻辑
  • 使用 sl_bt_gatt_server_read_attribute_value() / sl_bt_gatt_server_write_attribute_value() 读写本地 Characteristic 值

配置 GATT 数据库

项目创建后,gatt_configuration.btconf 选项卡中会自动打开可视化 GATT Configurator:
  • 点击 Profile (Custom BLE GATT)Add 添加自定义 Service
  • 选择 Service → Add 添加自定义 Characteristic
  • 点击 Add Predefined 从 SIG 标准库中选择标准 Service/Characteristic
每个 Characteristic 的引用会在 gatt_db.h 中生成宏定义,在代码中可通过这些宏访问对应句柄,用于读写操作。

安装组件(Component Configuration)

SDK v3.x 采用基于 Gecko Platform 的组件化架构,通过 Component Editor 安装和配置软件特性:
1

打开 Component Editor

点击项目的 <project-name>.slcp 选项卡,点击 Software Components
2

搜索并安装组件

使用关键词搜索所需组件(如 “led”、“freertos”、“micrium”),在左侧面板选择组件后点击 Install
3

配置组件参数

已安装且可配置的组件(显示齿轮图标)可点击 Configure 打开 Component Editor 查看并修改参数。
4

等待代码生成

更改配置后,SSv5 会自动保存并生成项目文件。在 Simplicity IDE 右下角可查看生成进度,生成完成后再构建。

构建与烧录

点击 Simplicity IDE 的 Debug 图标构建并下载项目,然后点击 Play 开始在设备上运行。

使能现场更新(Field Updates)

OTA DFU

通过 Bluetooth 空中下载方式为 SoC 应用程序部署新固件。需要 Gecko Bootloader 支持。参阅 AN1086: Using the Gecko Bootloader with Silicon Labs Bluetooth Applications

UART DFU

通过 UART 串行链路为现场设备部署新固件,适用于 NCP 模式的设备。

开发工具简介

可视化构建 GATT 数据库,无需手动编辑 XML 文件。支持添加预定义标准 Service、自定义 Service/Characteristic,以及导入/导出 GATT 数据库。详见 GATT Configurator 使用指南
用于测试和评估 Bluetooth SoC/Module,通过 BGAPI 串行协议控制 Bluetooth 硬件,支持在目标设备上动态构建 GATT 数据库。独立应用位于 C:\SiliconLabs\SimplicityStudio\v5\developer\adapter_packs\ncp_commander
实时测量设备功耗,可查看峰值和平均功耗,检查睡眠模式电流。可同时测量多个设备。注意:EFR32BG22 的 SDK 示例默认启用了 EM2 调试(init_mcu.c),这会增加电流消耗,与 Datasheet 数值存在差异。
免费的数据包捕获和调试工具,通过 PTI(Packet Trace Interface)直接从 SoC/Module 捕获无线数据包,支持 Bluetooth 数据包解码,提供网络流量的图形化视图。
图形化配置外设引脚,可轻松重新分配 USART、GPIO 等引脚功能,保存后自动生成配置源码。
作为 GCC 的替代编译器,可用于开发和调试 Bluetooth 应用。安装后 SSv5 启动时会自动检测并配置。需使用 SDK 发行说明中指定的兼容版本。

Build docs developers (and LLMs) love