你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F769DK 云端固件升级例程使用说明

[复制链接]
STMCU小助手 发布时间:2022-8-7 14:56
1.前言
对于一个物联网应用,远程监控设备状态、远程更新设备固件都是其要包含的典型基本功能。本示例在百度天工 IoT 平台和STM32F769 探索板上实现了上述功能,并有以下特性:  支持 MQTT,HTTP 协议
 支持安全传输(TLS)支持应用数据的 Json 格式解析
 后台下载固件(不影响前台应用程序运行)
 断点续传
 固件完整性检查
支持一键恢复出厂默认固件在本示例中,STM32F769DK 板可以通过板载以太网接口或者外接的 WIFI 模块连接到百度天工IoT 平台,与其建立 MQTT 连接:将板上的 LED 灯状态、软件版本等信息上传到云端,并可接收云端下发的 LED 控制命令、新固件版本和下载地址。根据接收到新固件下载地址,通过 HTTP 协议从对应的服务器下载新固件。下载完成后程序通过LCD 屏向用户提示可用的新版本信息,用户可以通过用户按键启动新固件的升级。下载和升级过程支持固件完整性校验。 在此例程中,我们用到了百度 IoT 平台和对象存储(BOS)服务。首先需要在 IoT 平台上创建 MQTT 服务,百度 IoT 平台相当于MQTT 服务器,STM32F769DK 板相当 MQTT 客户端。在本示例中,还用到了一个 PC 端工具 MQTT.fx,作为另一个 MQTT客户端来向 STM32F769DK 板推送固件升级消息,接收 STM32F769DK 板发送到云端的消息并进行显示。远程下载的固件需要保存在百度云 BOS 服务器上,然后就可以获取到对应的下载链接。这个下载地址信息,通过 PC 上的MQTT 客户端 MQTT.fx 进行推送,STM32F769DK 板收到消息后,从百度的 BOS 服务器下载新固件。
本例程提供了 IAR 的工程
2.系统框图

%%T27SI`ACRFLXE_{8PVE@1.png

87~FQO4T%~@ICW]2S$[L3KR.png


3.存储区域划分
本示例用外部 QSPI Flash 保存从云端接收到的新固件和程序运行的状态。QSPI Flash 的功能区域划分如下:
 地址 0 开始的 64K 字节:Info 区域,用来保存程序运行的状态以及接收到的固件下载地址和版本号等。
 地址 0x00010000 开始的 4M 字节:Default Firmware 区域,用来保存默认的应用程序固件。通常可以将第一版稳定的应用程序,烧写到 Default 区域中,用作“恢复板子出厂设置”。
 地址 0x00410000 开始的 4M 字节:Download Firmware 区域,用来保存在 OTA 过程中从云端下载的当前新固件。
STM32F769 MCU 的内部 Flash 分为两部分:
 地址 0x08000000 开始是 Bootloader 程序:板子复位后,先执行的是 Bootloader 的程序,之后再跳转到应用程序。bootloader 程序会根据用户操作决定是否将 QSPI Flash 中的固件更新到 MCU 内部 Flash 中。
 地址 0x08010000 开始,保存用户应用程序:它除了用户自己的功能程序之外,还包括与云端通信,以及从云端下载新固件的程序。


R$I}KLH(2R(FX~7~2F(`G8N.png


完整版请查看:附件




STM32 OTA Demo.pdf

下载

1.42 MB, 下载次数: 3

收藏 评论0 发布时间:2022-8-7 14:56

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版