打印
[STM32WBA]

【STM32WBA52CG测评】评测二 OTA固件升级

[复制链接]
1227|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
评测二 OTA固件升级
          这期本来想往深那写,先把用手机升级的效果贴上来:
STM32CubeMonitor-RF+dongle进行升级一些bug让我放弃这个念头,bug如下:
1.      dongle在插入后串口号扫描不对,会出一连串重复串口号
2.      明明待升级在广播,手机也能看到,但dongle就是扫不到提示“No device found”
3.      不管是STM32WB55还是STM32WBA52,不管STM32CubeMonitor-RF是旧版本还是新版本,死活升不了,一升就提示“Device not detected”或者超时无回复
图1 Bug1:串口频繁出现连串重复号
图2 Bug2:经常手机能扫描到STM32CubeMonitor-RF就是扫不到
图3 Bug3:扫描到进行升级无法进行提示“Device not detected”
既然dongle这条路走不通,就老老实实用手机来升吧,众所周知OTA肯定有bootloader和APP两部分:此处接收文件和跳转是APP,文件搬移和引导是bootloader。bootloader功能最小化,占用0x0800 0000~0x0800 4000,大小为16K,APP占用0x0800 4000~0x080F FFFF,大小为1008K;而APP必须要有OTA service,其配置为:
图4 OTA service配置
具体见《an5247-overtheair-application-and-wireless-firmware-update-for-stm32wb-series-microcontrollers-stmicroelectronicsP15EWARM下的.icf就对比了有OTA和无OTAflash分布,有OTA的最前面方bootloader(前文已述),而且要定义OTA_TAG_region包括TAG_OTA_STARTTAG_OTA_END
图5 带OTA功能的.icf区域划分
下面进入正题,首先IAR编译NUCLEO-WBA52CG\Applications\BLE\BLE_ApplicationInstallManager\EWARM\BLE_ApplicationInstallManager工程生成bootloader.hex,并用STM32CubeProgrammer烧录该固件;然后依次打开BLE_HeartRate_ota和BLE_p2pServer_ota,后两者均生成.bin和.hex两种格式固件:
图6 HeartRate-ota和p2pServer-ota工程生成固件
同样先烧录HeartRate-ota.hex注意bootloader和APP都是给的hex,目的就是直接带有地址划分,然后打开ST BLE Toolbox连接HR_43心率设备,选择升级文件p2pServer-ota.bin,注意升级文件又是bin格式,在”Over the Air Update Server”标签下点击“Select the type of device”选择STM32WBA,点击“Select file”选择传到手机的p2pServer-ota.bin,点击右下角箭头就开启升级过程,OTA分20B一包(浪费了蓝牙5.3的247B MTU特性,翻到用蓝牙4.x的特性),不过速度很快,升级完bootloader自动引导运行新固件可以看到新设备“p2pS_43”:
图7 由HeartRate-ota升级成p2pServer-ota

使用特权

评论回复
沙发
嵌入小菜菜| | 2023-8-17 16:19 | 只看该作者
这个OTA升级,应该是不分操作系统吧,无论是IOS,还是安卓,都是可以的吧?

使用特权

评论回复
板凳
Jacquetry| | 2023-8-17 22:52 | 只看该作者
OTA升级是怎么实现的啊?

使用特权

评论回复
地板
单片小菜| | 2023-8-18 12:00 | 只看该作者
OTA固件升级一直是硬件方面比较棘手的事情,看了楼主的演示,也没有那么复杂,可以试着做一下。

使用特权

评论回复
5
mingxiangjun|  楼主 | 2023-8-25 14:38 | 只看该作者
嵌入小菜菜 发表于 2023-8-17 16:19
这个OTA升级,应该是不分操作系统吧,无论是IOS,还是安卓,都是可以的吧? ...

手机端我只试过安卓借助ST BLE Toolbox,苹果没试;Windows端借助STM32CubeMonitor-RF和dongle就行,但我试了好多次,都没成功

使用特权

评论回复
6
mingxiangjun|  楼主 | 2023-8-25 14:39 | 只看该作者
Jacquetry 发表于 2023-8-17 22:52
OTA升级是怎么实现的啊?

就是准备BootLoader和APP,只不过它的地址偏移、配置要注意,有例程和相应文档说明

使用特权

评论回复
7
chenho| | 2023-8-25 22:24 | 只看该作者
扫不到提示“No device found”

使用特权

评论回复
8
daichaodai| | 2023-8-26 09:12 | 只看该作者
OTA升级做好了确实方便很多

使用特权

评论回复
9
xiangnan949| | 2023-9-8 16:27 | 只看该作者
楼主,后面用STM32CubeMonitor-RF烧录成功了吗,我也遇到了同样的问题

使用特权

评论回复
10
mingxiangjun|  楼主 | 2023-9-18 11:46 | 只看该作者
xiangnan949 发表于 2023-9-8 16:27
楼主,后面用STM32CubeMonitor-RF烧录成功了吗,我也遇到了同样的问题

没有,我查过官方的说法好像是版本问题,但我用上最新版同样还是无法进行OTA,只能说ST在无线方面入场晚不擅长,真的逊色于SiliconLabs、TI、Nordic

使用特权

评论回复
11
Undshing| | 2023-9-18 21:48 | 只看该作者
看着这个OTA挺不错的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

36

帖子

0

粉丝