
STM32WBA65已经内置了 BLE OTA(Over The Air)升级功能,完全可以通过手机把固件升级到板子上。这个功能ST官方已经做好。 先简单了解一下BLE OTA的原理。芯片内部有一个双区flash 布局,包括无线固件升级服务和应用固件区。当你用手机传新固件时,FUS会把固件写入flash,并在重启后运行新固件。 传输过程用BLE GATT Profile ,手机端使用ST BLE TOOL 或者专用的OTA升级APP。 本次测试使用ST 官方的ST BLE TOOL,它内置了固件upgrade 功能,即over the air update server,如图1所示: ![]() 图1 使用两个例程的文件来完成ota升级,即BLE_p2pServer_ota和BLE_HeartRate_ota。目标是先烧写BLE_p2pServer_ota,然后通过ota download BLE_HeartRate_ota。 好了,正式进入测试过程。对了,要仔细阅读相关项目的Readme。测试了时候,发现板卡没有广播,连不到板卡上,后来发现没仔细阅读Readme。 按照文档说明如下: 1.BLE_ApplicationInstallManager binary is downloaded at the memory address 0x08000000 2.BLE_p2pServer_ota binary is downloaded at the memory address 0x08006000 就是说要烧写两个文件,BLE_ApplicationInstallManager要烧写到0x08000000这个地址,BLE_p2pServer_ota要烧写到0x08006000这个地址. keil 5 环境配置中如图2和图3所示: ![]() 图2 ![]() 图3 烧写完后,LD2会一直闪烁,说明板卡一直在广播,如图4所示: ![]() 图4 打开手机ST BLE Toolbox,会扫描到p2pS_AD,如图5所示: ![]() 图5 点击connect,进入到p2pserver配置页面,选择Over The Air Update Server这个功能选项,选择Application Binary,Address 默认为0x100000. Selected firmware: BLE_HeartRate_ota.bin,其他默认。点击Upload按钮,如图6所示: ![]() 图6 ota完成如图7所示: ![]() 图7 上电重启板卡,打开APP,可以看到能扫描出HR_AD,如图8所示: ![]() 图8 点击Connect,就是Heart Rate的运行数据了,如图9所示: ![]() 图9 整个OTA的流程基本是这样,接下来就是移植到实际项目中开发了。 |
【NUCLEO-WBA65RI评测】低功耗模式实测
【NUCLEO-WBA65RI评测】WireShark分析作为USB HID device设备的包和速度
【NUCLEO-WBA65RI评测】3.P2PServer学习双向数据交互
【NUCLEO-WBA65RI评测】物联网 LED
【NUCLEO-WBA65RI评测】蓝牙体温计
【NUCLEO-WBA65RI评测】Home Assistant 物联网心率计
【NUCLEO-WBA65RI评测】功耗测试
【NUCLEO-WBA65RI评测】介绍、环境搭建、工程测试
【NUCLEO-WBA65RI评测】使用最新STM32Cube Clang/LLVM工具链开发一个blink
【NUCLEO-WBA65RI评测】2.连接板卡,读取设备数据