|
STM32WBA65已经内置了 BLE OTA(Over The Air)升级功能,完全可以通过手机把固件升级到板子上。这个功能ST官方已经做好。- ^( Z" S2 I; _! s: ^6 O# K 先简单了解一下BLE OTA的原理。芯片内部有一个双区flash 布局,包括无线固件升级服务和应用固件区。当你用手机传新固件时,FUS会把固件写入flash,并在重启后运行新固件。& O6 W* y4 s( K. H6 | 传输过程用BLE GATT Profile ,手机端使用ST BLE TOOL 或者专用的OTA升级APP。* G! X, b4 x i, A6 v# | 本次测试使用ST 官方的ST BLE TOOL,它内置了固件upgrade 功能,即over the air update server,如图1所示:
图1 , r( r B- H2 w: J5 T1 w 使用两个例程的文件来完成ota升级,即BLE_p2pServer_ota和BLE_HeartRate_ota。目标是先烧写BLE_p2pServer_ota,然后通过ota download BLE_HeartRate_ota。1 [+ g& ~: u7 N7 `3 \' v$ g6 ^ - Q4 W" O% g2 B4 A - c/ T9 g, \ |& w2 Z: \ U6 I 好了,正式进入测试过程。对了,要仔细阅读相关项目的Readme。测试了时候,发现板卡没有广播,连不到板卡上,后来发现没仔细阅读Readme。6 F% L% P4 v* y7 G+ g 按照文档说明如下: 1.BLE_ApplicationInstallManager binary is downloaded at the memory address 0x080000003 Y4 p4 ~: W. ]% B8 i: h 2.BLE_p2pServer_ota binary is downloaded at the memory address 0x08006000: N6 p" g3 s8 u4 C2 V" g3 Y 就是说要烧写两个文件,BLE_ApplicationInstallManager要烧写到0x08000000这个地址,BLE_p2pServer_ota要烧写到0x08006000这个地址. keil 5 环境配置中如图2和图3所示:
图2 ' x- o3 n/ p' i" K3 k
图3 烧写完后,LD2会一直闪烁,说明板卡一直在广播,如图4所示:
图4 打开手机ST BLE Toolbox,会扫描到p2pS_AD,如图5所示:
图5 1 f6 M! z: m0 F0 i" K6 l 点击connect,进入到p2pserver配置页面,选择Over The Air Update Server这个功能选项,选择Application Binary,Address 默认为0x100000.' o* }% v, ?8 X! r. A; G0 t Selected firmware: BLE_HeartRate_ota.bin,其他默认。点击Upload按钮,如图6所示:
图6& Z& h, g" T/ n/ M # z! G2 L" p1 t$ S6 L5 U \, `% L5 E ota完成如图7所示:* J& J- g/ T1 ^! G& f( z5 v
图70 D! G/ j7 E1 d# v2 f. v$ \ $ o! x3 a# p- v, y 上电重启板卡,打开APP,可以看到能扫描出HR_AD,如图8所示:
图8 点击Connect,就是Heart Rate的运行数据了,如图9所示:
图9) m+ P- H0 T9 _- y. {- M1 J 整个OTA的流程基本是这样,接下来就是移植到实际项目中开发了。" z; `& x: Y& @, h2 O |
低功耗蓝牙无线升级: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 落地指南
微信公众号
手机版