|
STM32WBA65已经内置了 BLE OTA(Over The Air)升级功能,完全可以通过手机把固件升级到板子上。这个功能ST官方已经做好。 先简单了解一下BLE OTA的原理。芯片内部有一个双区flash 布局,包括无线固件升级服务和应用固件区。当你用手机传新固件时,FUS会把固件写入flash,并在重启后运行新固件。 传输过程用BLE GATT Profile ,手机端使用ST BLE TOOL 或者专用的OTA升级APP。8 Y6 }) B, s" f. A ^ 本次测试使用ST 官方的ST BLE TOOL,它内置了固件upgrade 功能,即over the air update server,如图1所示:* N, e& X7 B0 O/ }
图1 3 T) h1 ~) X( a6 _ 使用两个例程的文件来完成ota升级,即BLE_p2pServer_ota和BLE_HeartRate_ota。目标是先烧写BLE_p2pServer_ota,然后通过ota download BLE_HeartRate_ota。: }) o) `3 ~1 U' N: o & G( Z i& X( B 好了,正式进入测试过程。对了,要仔细阅读相关项目的Readme。测试了时候,发现板卡没有广播,连不到板卡上,后来发现没仔细阅读Readme。7 d! z; u' k- s7 o! `' B M 按照文档说明如下:8 h/ ]; Z* E W0 ]. u/ A" c 1.BLE_ApplicationInstallManager binary is downloaded at the memory address 0x08000000. i9 }, F" k$ z: C 2.BLE_p2pServer_ota binary is downloaded at the memory address 0x08006000 就是说要烧写两个文件,BLE_ApplicationInstallManager要烧写到0x08000000这个地址,BLE_p2pServer_ota要烧写到0x08006000这个地址.! Z; |5 }8 A" {4 b1 j9 ~ keil 5 环境配置中如图2和图3所示:
图2 p+ F% [9 R, O0 ^& h7 O
图3 烧写完后,LD2会一直闪烁,说明板卡一直在广播,如图4所示:
图43 p* w# o; c W9 D4 A* J! u 打开手机ST BLE Toolbox,会扫描到p2pS_AD,如图5所示:7 K) ] X, {! e) p( g7 x, I# e, N
图5/ a) A* A1 l. ^& o; c, w 点击connect,进入到p2pserver配置页面,选择Over The Air Update Server这个功能选项,选择Application Binary,Address 默认为0x100000. Selected firmware: BLE_HeartRate_ota.bin,其他默认。点击Upload按钮,如图6所示:
图6% U( Z, Y$ V3 \# z ota完成如图7所示:* j# q5 o2 _+ W g" r2 V: l" a: v
图7* h' M; ^& X8 Z) ^; A k3 s' w% x( }4 k0 q 上电重启板卡,打开APP,可以看到能扫描出HR_AD,如图8所示:$ ]8 j6 ^- `5 |/ O3 t
图8 点击Connect,就是Heart Rate的运行数据了,如图9所示:
图9 5 E* q& ]/ b8 h& F6 n @ 整个OTA的流程基本是这样,接下来就是移植到实际项目中开发了。; u$ u' I! W9 {9 M; { # j2 M9 P$ |2 T0 S/ S8 c |
低功耗蓝牙无线升级: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 落地指南
微信公众号
手机版