12_OTA功能设计

发布时间 2023-09-19 12:08:41作者: 爱吃冰激凌的黄某某

OTA功能设计

image-20230912094429547

芯片划分

芯片开头一块划分为: bootloader

后面一些划分为: 应用程序数据

bootloader区地址不变, 那么通过网络就可以远程修改应用程序区数据实现OTA

image-20230912095509758

image-20230912095748998

OTA流程

image-20230912100229209

1通过WIFI模块将100k的更新数据发送到STM32芯片

2STM32芯片分为BOOT引导程序区, APP应用区, 存储区, 升级标志, 备份区(成熟APP)

3WIFI模块先将数据存储到存储区, 待到数据发送完毕使用CRC, MD5或者其他校验数据完整性方法, 确认无误后, 打开升级标志, 进行重启

4Boot引导程序进行重启, 先查看升级标志, 有标志就进行升级操作, 将存储区的数据覆盖到App区, 升级完成后, 将升级标志关闭, 如果在升级过程中出现掉电情况, 那么下次重启Boot查看升级标志还是打开的继续升级覆盖

5没有升级标志就正常运行APP程序

6如果WIFI模块下载到STM32芯片的包是错误的有问题的, 那么通过Boot更新后APP会出现错误, 那么这时候就需要备份区的数据, 备份区的数据来源是芯片出场写入或App区正常运行的数据或者存储器确认没错误的数据

7那么在重启时, 有一个button, 我们按住button重启, Boot引导程序就去备份区拿数据覆盖APP区, 实现修复