STMCU小助手
发布时间:2022-12-6 15:12
|
引言 本文档介绍了通过低功耗蓝牙®(BLE)连接在ST32WB设备上进行空中(OTA)固件更新的过程。它解释了如何使用STM32Cube固件包中提供的OTA应用程序。8 U' n6 E& A6 Y: g 该应用程序可以更新用户应用程序、无线固件和固件升级服务。8 B' J$ c& L1 Z# V , U9 s" l% ~* ]. i S7 r* S * O) q" h1 C$ s# T- o 1 词汇表4 p- j/ G6 J& V2 u E BLE 低功耗蓝牙®(蓝牙®标准) CPU1 Cortex® M4(执行用户应用程序)/ C8 [# V: H2 J; w3 m4 m CPU2 Cortex® M0+(执行RSS和无线固件), y0 d& q1 @. @ IDE 集成开发环境 IPCC 处理器间通信控制器 FUS 固件更新服务 - 由RSS提供的服务' F/ P" Z H) U' }9 ` @ OTA 空中固件更新( i) _( ?1 i" [ RSS 根安全服务:用于无线固件安装和更新的安全固件 SBRSA 选项字节 - 安全备份RAM起始地址% T1 K+ H( S) p8 c SBRV 选项字节 - 安全根复位向量 SFSA 选项字节 - 安全闪存起始地址 SIG 蓝牙®技术联盟 SNBRSA 选项字节 - 安全非备份RAM起始地址$ j3 D Q# q0 a2 ^6 q' Z 3 STM32WB设备上的OTA应用程序 3.1 空中固件更新 3.1.1 原理8 L; Y7 K- V7 _, {6 S 必须在设备生命周期内更新固件,以确保最佳性能、用新功能或更正的补丁更新应用程序并保持最高的安全级别。- L; v1 ~9 ]$ t8 v) D; ~6 V 用户应用程序、无线固件和RSS更新( t9 y) M+ N* o" y STM32WB系列微控制器基于双Arm®(a)内核。 用户应用程序运行在CPU1(Cortex® M4)上,而无线固件和RSS运行在CPU2(Cortex®M0+)上。这三个应用程序可以独立更新。 t% R9 N; ^$ B5 o: g& i 由于无线固件和RSS以加密格式提供,其更新过程依赖于用于闪存受保护区域内解密和安装的STM32WB安全固件(RSS)。 ]! O1 L8 ]! f9 D6 D
& }' u- p% x1 R- l0 I7 P9 J 无线 可以通过典型的物理链路(如USB、UART或I2C)来完成固件的更新,但此过程需要对设备上特定的连接器进行物理访问。得益于OTA,可以使用无线连接来远程更新固件。在本应用笔记中,无线连接使用BLE协议。7 q3 q6 ^& u5 y+ m2 x) P 8 @/ w+ I! `- C( _ 更新客户端 更新过程遵循客户端/服务器架构。它由外部客户端发起且该设备用作服务器,从而通过安装新固件来响应请求。 本应用笔记介绍了STMicroelectronics提供的基于BLE的OTA客户端的两种示例(请参见图 2): • ST BLE Sensor:用于Android™或iOS设备的移动应用程序. d* S T$ x/ E* ]; i; U4 N • STMCubeMonitor-RF:在HCI透传模式下配置的与BLE USE Dongle通信的PC工具 * u8 l8 u# S+ P5 G N- ?
3.1.2 OTA应用程序 OTA应用程序是为根据客户端请求管理固件传输而设计的独立应用程序,它提供BLE服务,并安装在闪存中的正确位置。它在用户应用程序接收OTA请求后由CPU1激活和执行。 序列如图 3中所示,其中红色数字表示不同阶段。: r- \1 H6 \/ f4 Y1 `# R6 b* @7 _ 初始状态是用户应用运行(1)的状态。接收到OTA请求(2)时,将触发系统复位(3)且OTA应用程序变为激活(4),从而监听客户端请求(5)。针对无线固件或用户应用程序的更新提供不同服务(6和7)。$ ]) z3 R% X0 m; C$ K
3 F/ S. g5 i5 w7 v D3 J 完整版请查看:附件 4 E" P( V- h$ c3 O D! @ |
STM32WB系列微控制器空中应用和无线固件更新.pdf
下载1.4 MB, 下载次数: 0
低功耗蓝牙无线升级:STM32WB OTA 固件更新技术解析
STM32WB Zigbee 自定义集群开发实战:AN5491 应用笔记深度解读
吃透:STM32WB 上 Zigbee 睡眠终端设备开发攻略
STM32 无线 MCU HSE 频率与启动时间精确调谐实战指南
深度解读:STM32WB 2.4GHz 低成本 PCB 蛇形天线设计实战指南
经验分享 | STM32WB 双核无线 MCU 开发全流程实战指南
STM32WB 基于 Custom Template 实现 BLE 私有协议 实操开发指南
详解STM32单片机的堆栈
STM32单片机进行除零运算,为何程序不崩溃?
从照明到楼宇:STM32WBx5 BLE Mesh 落地指南
微信公众号
手机版