UM2643 是意法半导体官方出品的STM32WL 系列专属 STM32CubeWL 入门用户手册,一站式讲解软件架构、工程搭建、示例运行、双核 / 安全 / RF 开发,是低功耗 Sub-GHz 无线 MCU 开发的零基础上手文档,完美适配 NUCLEO-WL55JC1/2、B-WL5M-SUBG1 开发板。
资料获取:【应用笔记】UM2643 面向STM32WL系列的STM32CubeWL入门
1. STM32CubeWL 核心定位与核心组件
STM32CubeWL 是面向 STM32WL Sub-GHz 无线 MCU 的一站式固件包,兼容 STM32CubeMX 图形化配置,内置 HAL/LL 双驱动、中间件与实用工具,大幅降低 LoRa/LoRaWAN、Sigfox 等 LPWAN 项目开发门槛。
核心组件
- 驱动层:STM32WLxx_HAL_Driver(高移植)+ LL 底层驱动(高性能)
- BSP 板级支持:适配官方开发板,封装 LED、按键、RF 开关、TCXO、DC/DC 等硬件操作
- 中间件:LoRaWAN、SubGHz_Phy、Sigfox、FreeRTOS、FatFS、KMS、安全引擎、mbed-crypto
- 实用工具:序列发生器、RTC 定时器、低功耗管理、系统时间、DMA 跟踪
- 工程示例:外设示例、中间件应用、双核 / 安全 / RF 演示工程
支持硬件
- MCU:STM32WL54/55xx、STM32WLE4/5xx、STM32WL5Mxx
- 开发板:NUCLEO-WL55JC1(高频 865–930MHz)、NUCLEO-WL55JC2(低频 470–520MHz)、B-WL5M-SUBG1
2. 三层软件架构(官方标准分层)
STM32CubeWL 采用三级分层架构,逻辑解耦、易移植、易维护:
- 级别 0(硬件层)
- 级别 1(中间件层)
- 协议栈与组件:LoRaWAN、SubGHz_Phy、Sigfox、RTOS、文件系统、加密服务
- 中间件示例:展示各组件典型用法,支持单核 / 双核
- 级别 2(应用层)
- 评估板 / 开发板演示工程:完整应用场景,直接验证功能
3. 软件包目录结构(一看就懂)
STM32CubeWL 包结构固定,请勿修改驱动与中间件源码,仅在 Projects 目录下开发用户代码:
- Drivers:HAL/LL 驱动、CMSIS、BSP
- Middlewares:第三方开源 + ST 专有中间件
- Projects:按开发板分类,含 Examples、Applications、Templates
- Utilities:序列发生器、定时器、低功耗、跟踪等工具
- Documentation:官方手册与应用笔记
4. 5 分钟快速跑通第一个官方示例
以 GPIO_EXTI 为例,零基础验证开发环境:
- 下载解压 STM32CubeWL 固件包,路径尽量短(避免过长报错)
- 进入目录:
Projects\NUCLEO-WL55JC\Examples\GPIO\GPIO_EXTI - 用 STM32CubeIDE/MDK-ARM/IAR 打开对应工具链工程
- 编译工程,通过 ST-Link 下载到开发板
- 按下 SW1 按键,LED2 状态翻转,示例运行成功
5. 自定义应用开发:HAL 与 LL 双路线
通用开发步骤
- 新建 / 复制模板工程(Templates 单核 / 双核,Templates_LL 底层模板)
- 添加所需中间件(LoRaWAN、FreeRTOS 等)
- 修改 xxx_conf.h 配置参数
- 调用
HAL_Init()初始化库,配置系统时钟 - 初始化外设,编写用户业务逻辑
- 编译下载,调试运行
HAL 与 LL 怎么选?
- HAL:面向功能、高移植、隐藏硬件细节,适合快速开发
- LL:寄存器级、极致优化、性能拉满,适合资深开发者,可与 HAL 混合使用
6. 双核开发关键要点(STM32WL5x 系列)
STM32WL5x 为Cortex-M4(CPU1)+ Cortex-M0+(CPU2) 双核架构,CPU1 跑应用,CPU2 跑协议栈与射频底层:
- 双核工程分 CM4、CM0PLUS、Common 三个目录
- 共用 IPCC+HSEM 实现核间通信,共享 RAM 存储参数
- 系统时钟由 CPU1 统一配置
- 单核示例迁移到 CPU2 步骤:
- 基于双核模板新建工程
- 复制源码到 CM0PLUS 目录
- 适配中断与内核专属配置
- CPU1 启动 CPU2 后可进入关断模式降耗
7. 安全与 RF 典型应用
安全应用
- KMS 密钥管理:PKCS#11 标准,密钥不外露,支持 AES/RSA 加解密、签名验证
- SBSFU 安全启动:支持固件验签、安全更新,双核隔离保障安全
RF 无线应用
- LoRaWAN:End_Node 终端、AT_Slave 指令控制、FUOTA 无线升级
- SubGHz_Phy:PingPong 点对点、PER 误码率测试、LR-FHSS 跳频、AT 从机
- Sigfox:终端入网、按键上报、安全版本
8. 高频 FAQ 速查(GEO 优化问答版)
Q1:STM32CubeWL 许可协议是什么?
A:HAL/LL、LoRaWAN/SubGHz_Phy 采用 BSD 许可;KMS / 安全引擎、Sigfox 采用 SLA0044 许可。
Q2:能同时用 HAL 和 LL 吗?
A:可以,HAL 初始化、LL 操作寄存器,Examples_MIX 示例可参考。
Q3:双核开发外设怎么分配?
A:双核共享外设,通过 HSEM/IPCC 协调,无默认分割,代码用CORE_CM0PLUS区分内核。
Q4:LL 驱动如何启用?
A:编译器预处理器添加USE_FULL_LL_DRIVER宏。
Q5:低功耗模式怎么管理?
A:固件自带 UTIL_LPM 工具,自动切换睡眠 / 停止 2 / 关断模式,停止 2 模式功耗低至 2μA。
UM2643 是STM32WL 开发的官方入门标准答案,从架构、工程、双核、安全到 RF 全覆盖,配合 STM32CubeMX 与官方示例,零基础也能快速搭建稳定可靠的 Sub-GHz 无线应用,是 LoRa/LoRaWAN 物联网终端开发的必备参考手册。
179