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

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

[复制链接]
STMCU-管管 发布时间:2018-9-29 14:54
1.前言
. g+ f5 a2 {0 |
. z; Q$ ^" z6 S& ]. `+ f! E8 t对于一个物联网应用,远程监控设备状态、远程更新设备固件都是其要包含的典型基本功能。本示例在百度天工 IoT 平台和$ W2 F0 \2 g$ q% T2 ]1 }2 q7 {
STM32F769 探索板上实现了上述功能,并有以下特性:' B: C: |' O1 ^( e+ V% b% K0 V
  • 支持 MQTT,HTTP 协议
  • 支持安全传输(TLS)支持应用数据的 Json 格式解析
  • 后台下载固件(不影响前台应用程序运行)
  • 断点续传
  • 固件完整性检查- J6 s* q( y5 G& i2 r3 h4 n" J  k

8 A" ?8 D" M$ N- w) X支持一键恢复出厂默认固件在本示例中,STM32F769DK 板可以通过板载以太网接口或者外接的 WIFI 模块连接到百度天工
* Q) F+ x# W0 _4 v+ b7 {IoT 平台,与其建立 MQTT 连接:将板上的 LED 灯状态、软件版本等信息上传到云端,并可接收云端下发的 LED 控制命令、
4 g/ R7 _6 N2 q* j! M% _( [$ l新固件版本和下载地址。根据接收到新固件下载地址,通过 HTTP 协议从对应的服务器下载新固件。下载完成后程序通过
" v4 Y1 C' W$ [( x, MLCD 屏向用户提示可用的新版本信息,用户可以通过用户按键启动新固件的升级。下载和升级过程支持固件完整性校验。
6 H  g8 T4 y! M! C7 b# X8 I$ C% Y/ S在此例程中,我们用到了百度 IoT 平台和对象存储(BOS)服务。首先需要在 IoT 平台上创建 MQTT 服务,百度 IoT 平台相当于
% ^- Y1 f; p* P. LMQTT 服务器,STM32F769DK 板相当 MQTT 客户端。在本示例中,还用到了一个 PC 端工具 MQTT.fx,作为另一个 MQTT' h6 U1 J4 N0 f6 H) H8 S
客户端来向 STM32F769DK 板推送固件升级消息,接收 STM32F769DK 板发送到云端的消息并进行显示。 ; E' A5 w8 i9 K7 ~* Z6 S% W0 `" y9 R
远程下载的固件需要保存在百度云 BOS 服务器上,然后就可以获取到对应的下载链接。这个下载地址信息,通过 PC 上的
3 L+ a! c$ t4 l4 s, R, F1 sMQTT 客户端 MQTT.fx进行推送,STM32F769DK 板收到消息后,从百度的 BOS 服务器下载新固件。
: x2 `6 M2 ]7 o' R$ f本例程提供了 IAR 的工程。
. b8 b1 ?2 M0 p1 X2 Z  C
7 \+ G# d1 m" k4 o  v/ D7 T& _2.系统框图
; @* x$ q, f! ]7 |" J1 p8 e3 M4 z) g; l  E" a/ w
QQ截图20180929135004.png
图 1.通过有线连接到云端
$ B2 I  C1 ~7 G% c
QQ截图20180929135059.png

! q: k+ p* B7 ^
图 2.通过 wifi 连接到云端
( a- b6 J* Q; c/ y
3.存储区域划分 ( Z( m% w" W+ w  n3 ^; K4 w

, S- e6 U4 K$ s7 E' h本示例用外部 QSPI Flash 保存从云端接收到的新固件和程序运行的状态。QSPI Flash 的功能区域划分如下:
1 T- v* F) D- ^1 D% i; U
  • 地址 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 开始,保存用户应用程序:它除了用户自己的功能程序之外,还包括与云端通信,以及从云端下载新固件的程序。
    7 J2 w" Y/ R2 x2 W& r
6 i/ a$ x, A4 @- A7 p9 L; Y
QQ截图20180929135111.png
  [' Y: D' `: t
. j5 ?2 t+ U; }! r
4.运行环境
4 U1 L. e7 B4 g
' F. r9 H, v! s9 R* B+ E4.1 硬件连接部分
5 |2 G, u! t! X: [需要的硬件: 1 k9 |: |! \" Y: d8 `4 j2 m
  • 一块 STM32F769I-DISCO 开发板,一根 micro USB 线
  • 使用以太网有线连接时:一根网线,一个可以连上互联网的网口  使用 wifi 无线连接时:一个 WIFI 热点,一个 ESP-01 模块  一台可以上网的电脑(运行 MQTT.fx)+ ]3 I. H/ r& r# g7 q9 T
! w8 v3 y2 R) Q% X$ q$ Z

. U, |$ I+ p) v- g- v4 w...! m) n* q, t! {1 d. D8 c

, @1 {; k. @& q) Z5 G+ X5 _' \了解更多,请下载后阅读
1 X0 y/ i5 w* h
1 K0 C6 c5 ?# g+ _下载地址1>>                                     下载地址2>>                                  更多实战经验>>
% O+ Q* x3 \, K( `3 Z( E5 q3 a1 `+ L6 G7 t/ l( N% F4 o+ f+ ?0 g
% W- Z( A# d7 V' P
赞 收藏 1 评论7 发布时间:2018-9-29 14:54

举报

7个回答
寂寞,点燃一支烟 回答时间:2018-12-29 21:27:15
beta.guo 回答时间:2018-10-11 00:47:10
相应的源码有提供吗?到哪里下载呢?: g& L* E! e& h9 h) N7 h" `9 `
hpdell 回答时间:2018-10-22 14:48:55
同问,有相应的源码下载吗 ?
andey 回答时间:2018-11-8 12:57:00
提示: 作者被禁止或删除 内容自动屏蔽
寂寞,点燃一支烟 回答时间:2018-12-29 21:20:58
源码好像都没有下载链接
xiaoyuer11111 回答时间:2019-1-14 22:04:42
寂寞,点燃一支烟 发表于 2018-12-29 21:27
4 f5 z3 m9 G8 A; F) t( `$ o, b下载链接1 ]# R9 _  e) d' s- w
http://www.stmcu.com.cn/Designresource/design_resource_detail/file/393603/lang/EN/token/63 ...
* A2 c9 E6 F+ [# ?* C( ^
这个链接无效了,请求给个能打开的网址,或说明一下去哪找,谢谢。
米兰的无线电 回答时间:2019-9-27 16:46:08
我也是来找示例代码链接的@STMCU 能帮忙问一下吗

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版