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.

Silicon Labs Proprietary Flex SDK v3.x 为开发者提供了两条应用开发路径:一是基于 RAIL(Radio Abstraction Interface Layer)直接开发自定义无线协议,二是基于 Silicon Labs Connect protocol stack 快速构建低功耗简单网络应用。本文档聚焦于使用 Simplicity Studio 5(SSv5)和 Flex SDK v3.x 在 EFR32 器件上创建、配置和运行 RAIL 示例应用的完整流程。

产品概述

Silicon Labs RAIL

直观、通用的无线电接口层,支持 proprietary 或 standards-based 协议实现。作为库提供,链接到应用程序中使用。

Silicon Labs Connect

功能全面、易于自定义的无线网络解决方案,针对低功耗简单网络拓扑优化,包含完整 MAC 层功能。

Gecko Bootloader

可配置的 bootloader,支持通过内部或外部存储器中的更新映像(.gbl 格式)执行固件更新。

Gecko Platform

包含 EMLIB、EMDRV、RAIL Library、NVM3 和 mbedTLS 等底层驱动和组件,直接与 Silicon Labs 芯片交互。

选择开发路径

如果您需要以下功能,建议从 Connect 示例开始:
  • MAC 层功能(跳频、安全性)
  • 网络形成和星型网络、路由支持
  • Application-level 功能(诊断、I/O、邮箱、sleepy end device 管理)
  • 引导加载(包括 serial 和 OTA)
对于需要直接控制无线电物理层或开发自定义协议的场景,则应选择 RAIL 示例作为起点。

先决条件

在开始之前,请确认:
  • 已购买 Wireless Gecko (EFR32) Portfolio Wireless Kit
  • 已安装 Simplicity Studio 5Flex SDK v3.x
  • (可选)已安装 IAR Embedded Workbench for ARM(IAR EWARM),用于替代默认的 GCC 编译器
要获取 IAR 30 天评估许可证,请访问 Silicon Labs 支持门户,进入 Software Releases > Development Tools 下载对应版本,安装后通过 License Wizard 注册评估许可证。

RAIL 示例应用说明

Flex SDK 包含以下主要 RAIL 示例应用:
RAIL 库的通用测试工具,包含所有 RAIL 功能的串行命令,支持:
  • 发送和接收数据包
  • 在 RAIL 时基中调度传输
  • 配置地址过滤
  • 启用 CCA 机制(CSMA/LBT)
  • 更改传输信道和功率级别
  • 输出连续 unmodulated tone 或 modulated PN9 stream
  • 进入 Direct Mode(使用异步 GPIO 收发数据)
演示基于 RAIL 的最简单发送和接收功能,适合快速验证基本无线连通性。
演示两个节点之间最简单的交换发送和确认操作。
演示使用可通过信道选择的多个 PHY。默认信道 0 配置为 2.4 GHz/250 kbps,信道 1 配置为 915 MHz/500 kbps。
在两个设备之间使用 user-defined 参数进行无线范围测试,设计为在 WSTK 硬件上独立运行(无需 host computer 命令),支持测试期间移动。
演示 EFR32 的低功耗模式(EM0 活动、EM1 睡眠、EM2 深度睡眠)。
最小化 RAIL 项目结构,用作自定义应用程序的起点。

创建 RAIL 项目

1

打开项目向导

打开 SSv5 的 File 菜单,选择 New > Silicon Labs Project Wizard,打开 Target, SDK, and Toolchain Selection 对话框。如需将编译工具链从默认 GCC 切换为 IAR,请在此处操作。确认配置后点击 NEXT
2

选择示例应用

Example Project Selection 对话框中,使用 Technology Type 和 Keyword 过滤器搜索目标示例(如 RAILtest)。选中目标示例后点击 NEXT
3

配置项目信息

Project Configuration 对话框中,可重命名项目、更改默认项目文件位置,以及选择是否链接或复制项目文件。
如果更改任何链接的资源,引用该资源的其他项目也会同步变更。
点击 FINISH,开始生成项目文件。
4

查看和配置组件

项目将在 Simplicity IDE Perspective 中打开,同时 Project Configurator 显示在 OVERVIEW 选项卡。点击 SOFTWARE COMPONENTS 选项卡查看组件库。Flex SDK v3.x 采用 Gecko Platform component-based 架构,安装组件时会自动:
  1. 将 SDK 文件复制到项目文件夹
  2. 复制所有依赖项
  3. 添加新的 include 目录到项目设置
  4. 将配置文件复制到 /config 文件夹
  5. 修改 auto-generated 文件以集成组件
已安装的组件显示复选标记,可配置组件带有齿轮符号。点击 CONFIGURE 可打开 Component Editor 进行详细配置。
5

配置无线电 PHY

在 SOFTWARE COMPONENTS 选项卡中,展开 Advanced Configurators 组件分组,选择 Radio Configurator,点击 Open在 Radio Configurator 中:
  1. 选择无线电配置文件(profile)
  2. 选择预定义的无线电 PHY
  3. 如需自定义,打开 Customized 选项进行调整
保存 radio_settings.radioconf 时,无线电配置将自动生成并保存到 /autogen/rail_config.h/autogen/rail_config.c
Radio Configurator 中的更改不会自动保存,需要手动保存 radio_settings.radioconf 文件。
6

配置引脚(可选)

在 Advanced Configurators 分组中,选择 Pin Tool,点击 Open,打开 <project>.pintool 文件。使用 Pin Tool 可轻松配置新外设或更改现有外设的引脚分配。
Pin Tool 中的更改不会自动保存,需要手动保存。

编译和烧录应用程序

在 Simplicity IDE 中,直接点击 Debug 控件,系统将自动编译并将应用程序烧录到已连接的开发硬件。烧录完成后进入 Debug perspective,点击 Resume 启动应用程序运行。调试控件说明:
控件功能
Resume启动/继续运行
Suspend暂停运行
Disconnect退出调试模式
Reconnect重新连接

与示例交互

根据示例应用,可以通过 WSTK 主板的按钮、LED、LCD 或 Console 界面(CLI)与应用程序交互。 启动 Console 界面:
  1. 在 Simplicity IDE perspective 中,右键 Debug Adapters 视图中的调试适配器
  2. 选择 Launch Console(或从 Tools 图标选择 Device Console
  3. 选择 Serial 1 选项卡,按回车键获取 CLI 提示符
RAILtest 快速通信测试:
1

准备两块开发板

在两块无线板上烧录相同的 RAILtest 固件,并为每块板分别打开一个 Console 窗口。确认已连接天线(如适用)。RAILtest 启动后,两块板均处于 RX 接收状态。
2

第一块板发送

在第一个 Console 窗口中输入 tx 1。第一个节点将发送一个数据包并返回 RX 状态,第二个节点在其 Console 窗口中报告接收到的数据包。
3

第二块板发送

在第二个 Console 窗口中输入 tx 1。第二个节点将发送一个数据包并返回 RX 状态,第一个节点在其 Console 窗口中报告接收到的数据包。
在 RAILtest 应用中输入 help 可获取完整的 CLI 命令列表。

使用自定义板

使用自定义硬件板时,可采用以下两种方法:
在 WSTK 上创建示例后,使用 Project Configurator OVERVIEW 选项卡中的 Change Target/SDK 控件移除 WSTK。这样保留原有套件接线,再通过 Pin Tool 按需修改引脚配置。
从项目中删除 WSTK 时,依赖于 WSTK 的组件(通常是外设初始化组件)也会被同时删除,请注意检查并补充必要的组件。

进阶工具

Multi-Node Energy Profiler

轻松测量设备运行时功耗。在 Simplicity IDE 中通过 Profile 菜单选择 Profile as / Simplicity Energy Profiler target 启动。支持同时测量多个设备,可查看峰值和平均功耗及睡眠模式电流。

Network Analyzer

免费的数据包捕获和调试工具,直接从 EFR32 SoC/Module 的 PTI(Packet Trace Interface)捕获数据包,提供网络流量的图形化视图,比 air-based 捕获更准确。

Simplicity Commander

通过 J-Link 接口刷写固件映像、擦除 flash、锁定/解锁调试访问及写保护 flash 页。提供 GUI 和 CLI 两种使用方式。

Radio Configurator

Simplicity Studio 内置工具,用于配置无线电 PHY 参数。配置结果自动生成 rail_config.crail_config.h 文件。

项目结构参考

project_root/
├── autogen/           # 自动生成的代码(PHY 配置、初始化、链接器脚本)
│   ├── rail_config.c
│   ├── rail_config.h
│   └── ...
├── config/            # 组件配置头文件
├── gecko_sdk_x.x.x/  # SDK 组件源文件和二进制文件
├── app_init.c         # 应用初始化代码(在此添加初始化逻辑)
├── app_process.c      # 应用主循环(在此实现主逻辑)
├── main.c             # 系统入口(不建议修改)
├── <project>.slcp     # 项目配置文件
└── <project>.pintool  # 引脚配置文件
main.c 由 System 组件管理,不建议直接修改。所有初始化代码应添加到 app_init.c,主循环逻辑应在 app_process.c 中实现,以确保与 RTOS 的兼容性。

Build docs developers (and LLMs) love