STM32WB55 OTA无线升级应用程序开发说明

STM32WB55 OTA应用程序升级说明

**经过一个星期的研究与学习,终于把STM32WB55的程序加上了OTA应用。以后程序的更新迭代真的方便太多了。直接使用无线蓝牙就能更新产品的代码。简直不要太爽。具体的开发流程以及注意事项如下文介绍。希望帮助大家排除一些坑。communication-V “FouyangH”

1. OTA应用介绍

1.1 FLASH分布(1MB)

Flash中,0x08000000 - 0x08007000中存放是OTA应用的程序。
0x08007000 - 0x08080000中是划分用户的程序和Free area。(512KB)
0x08080000 - 0x080CB000是未规划的FLASH部分。
0x080CB000 - 0x080FFFFF中是FUS和蓝牙协议固件。
因此需要往固件中下载一个0x08000000 - 0x08007000下载一个OTA应用程序(下载一次即可)。OTA应用的HEX文件已经放到程序应用文件同级的文件夹下了。
在这里插入图片描述

                                      图1 OTA应用程序

在这里插入图片描述

                                      图2 FLASH分布

在这里插入图片描述

                                      图3 FLASH分布

1.2 OTA的更新应用程序过程

首先,接收新固件的扇区的FLASH被擦除。为了能够对FLASH进行重新编程,该程序是强制性的。建议对包含需要保持不变的应用程序数据的区域进行写保护。
第二步是下载新应用程序(OTA必须要下载二进制BIN文件,不能下载HEX文件)。固件传输完成后,OTA应用程序跳转到新的应用程序。
下图展示了用户应用程序更新请求被发送,OTA应用程序执行的操作序列。
在这里插入图片描述

                                      图4 OTA应用程序更新过程

1.3 OTA的更新FUS和蓝牙协议固件的过程

在这里插入图片描述

                                      图5 OTA的更新FUS和蓝牙协议固件的过程

1.4 与固件更新相关的BLE特征(GATT)

开发者需要扩展一个服务所使用的特征的数量,甚至是标准化的特征。为了从用户调用OTA应用程序,将“重启特征”(图中的黄框)添加到应用程序支持的服务中。当客户端通过BLE协议写入该特征时,用户应用跳转到OTA应用。
在这里插入图片描述

重启请求的特征说明,Reboot请求有三个不同的字节需要客户端通知:

  1. 启动模式,用户应用程序重启或跳转到OTA应用程序(这个字节一般写0x01)
  2. 下载新应用程序的第一个扇区索引(这个字节写0x07)
  3. 需要删除的扇区数(4kbytes粒度的新固件大小) (这个字节写0xFF)
    这个特征已经在程序中加好了UUID是:0000FE11-8e22-4541-9d4c-21edae82ed19。
    整个重新启动请求特征的说明如图所示。
    在这里插入图片描述

1.5 OTA应用广播特性

在这里插入图片描述

1.6 OTA程序的服务与特征

OTA应用是一个标准的BLE应用。它提供了一个特定的服务,三个具有完成更新的特征。
在这里插入图片描述

                                      图 OTA服务与特征

在这里插入图片描述

                                      图 OTA服务与特征具体介绍

1.7 在OTA应用程序对的用户程序固件的更新

  1. 第一个连接由用户应用程序建立。它向客户端发布一个Reboot请求特征,重启后就会进入到OTA的应用程序中去。
  2. 当客户端请求重新启动设备时,这个时候,这一次在OTA应用程序和客户端之间建立一个新的连接。
    下图详细描述了更新过程中设备和客户端之间的消息和数据交换。
    在这里插入图片描述
    在这里插入图片描述

下图也详细描述了OTA应用更新过程。
在这里插入图片描述

1.8 用ST官方的APP(ST BLE Sensor)来测试OTA应用

升级用户程序的OTA过程如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

升级蓝牙协议的OTA过程如下。
在这里插入图片描述

这是我自己应用程序的OTA升级,过程也是一摸一样的。
在这里插入图片描述

1.9 使用USBdongle和STM32CubeMonitor-RF来进行OTA升级

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值