
引言 本文档介绍了通过低功耗蓝牙®(BLE)连接在ST32WB设备上进行空中(OTA)固件更新的过程。它解释了如何使用STM32Cube固件包中提供的OTA应用程序。 该应用程序可以更新用户应用程序、无线固件和固件升级服务。 1 词汇表 BLE 低功耗蓝牙®(蓝牙®标准) CPU1 Cortex® M4(执行用户应用程序) CPU2 Cortex® M0+(执行RSS和无线固件) IDE 集成开发环境 IPCC 处理器间通信控制器 FUS 固件更新服务 - 由RSS提供的服务 OTA 空中固件更新 RSS 根安全服务:用于无线固件安装和更新的安全固件 SBRSA 选项字节 - 安全备份RAM起始地址 SBRV 选项字节 - 安全根复位向量 SFSA 选项字节 - 安全闪存起始地址 SIG 蓝牙®技术联盟 SNBRSA 选项字节 - 安全非备份RAM起始地址 3 STM32WB设备上的OTA应用程序 3.1 空中固件更新 3.1.1 原理 必须在设备生命周期内更新固件,以确保最佳性能、用新功能或更正的补丁更新应用程序并保持最高的安全级别。 用户应用程序、无线固件和RSS更新 STM32WB系列微控制器基于双Arm®(a)内核。 用户应用程序运行在CPU1(Cortex® M4)上,而无线固件和RSS运行在CPU2(Cortex®M0+)上。这三个应用程序可以独立更新。 由于无线固件和RSS以加密格式提供,其更新过程依赖于用于闪存受保护区域内解密和安装的STM32WB安全固件(RSS)。 ![]() 无线 可以通过典型的物理链路(如USB、UART或I2C)来完成固件的更新,但此过程需要对设备上特定的连接器进行物理访问。得益于OTA,可以使用无线连接来远程更新固件。在本应用笔记中,无线连接使用BLE协议。 更新客户端 更新过程遵循客户端/服务器架构。它由外部客户端发起且该设备用作服务器,从而通过安装新固件来响应请求。 本应用笔记介绍了STMicroelectronics提供的基于BLE的OTA客户端的两种示例(请参见图 2): • ST BLE Sensor:用于Android™或iOS设备的移动应用程序 • STMCubeMonitor-RF:在HCI透传模式下配置的与BLE USE Dongle通信的PC工具 ![]() 3.1.2 OTA应用程序 OTA应用程序是为根据客户端请求管理固件传输而设计的独立应用程序,它提供BLE服务,并安装在闪存中的正确位置。它在用户应用程序接收OTA请求后由CPU1激活和执行。 序列如图 3中所示,其中红色数字表示不同阶段。 初始状态是用户应用运行(1)的状态。接收到OTA请求(2)时,将触发系统复位(3)且OTA应用程序变为激活(4),从而监听客户端请求(5)。针对无线固件或用户应用程序的更新提供不同服务(6和7)。 ![]() 完整版请查看:附件 |
STM32WB系列微控制器空中应用和无线固件更新.pdf
下载1.4 MB, 下载次数: 0
【NUCLEO-WBA65RI评测】使用最新STM32Cube Clang/LLVM工具链开发一个blink
【NUCLEO-WBA65RI评测】2.连接板卡,读取设备数据
【NUCLEO-WBA65RI评测】数据吞吐量例程测试
【STM32团队】STM32Cube Clang/LLVM工具链使用更新CubeMX
【NUCLEO-WBA65RI评测】基本操作
【NUCLEO-WBA65RI评测】开箱
兔哥的BLE【002】-WB09最小系统板PCB设计
兔哥的BLE【001】-WB09最小系统板原理图绘制
【NUCLEO-WB09KE评测】+3.蓝牙广播
Nucleo-STM32WB09KE测评-蓝牙调试并使用OLED显示数据