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

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

[复制链接]
STMCU-管管 发布时间:2018-9-29 14:54
1.前言
2 `7 Z( u% x& a* v- ?: Y2 M+ i
5 F- e+ @/ s+ P对于一个物联网应用,远程监控设备状态、远程更新设备固件都是其要包含的典型基本功能。本示例在百度天工 IoT 平台和
3 k3 F1 l/ `/ ESTM32F769 探索板上实现了上述功能,并有以下特性:
8 s/ ^/ ?' q6 ?; Z" ]8 r
  • 支持 MQTT,HTTP 协议
  • 支持安全传输(TLS)支持应用数据的 Json 格式解析
  • 后台下载固件(不影响前台应用程序运行)
  • 断点续传
  • 固件完整性检查
    # h, W) H9 R) T( V4 p# X

1 G7 C- B. ~0 i+ h* m! `; C支持一键恢复出厂默认固件在本示例中,STM32F769DK 板可以通过板载以太网接口或者外接的 WIFI 模块连接到百度天工
% g7 P7 x) H$ F' l7 M( p+ iIoT 平台,与其建立 MQTT 连接:将板上的 LED 灯状态、软件版本等信息上传到云端,并可接收云端下发的 LED 控制命令、8 v1 F5 s! O9 l7 U+ T' N
新固件版本和下载地址。根据接收到新固件下载地址,通过 HTTP 协议从对应的服务器下载新固件。下载完成后程序通过
3 U+ l- x3 F# A# K- `  F1 ~, W0 ILCD 屏向用户提示可用的新版本信息,用户可以通过用户按键启动新固件的升级。下载和升级过程支持固件完整性校验。 4 {( t! L% C" X- J) Y
在此例程中,我们用到了百度 IoT 平台和对象存储(BOS)服务。首先需要在 IoT 平台上创建 MQTT 服务,百度 IoT 平台相当于3 t5 E7 |4 c  |% Y9 W; w
MQTT 服务器,STM32F769DK 板相当 MQTT 客户端。在本示例中,还用到了一个 PC 端工具 MQTT.fx,作为另一个 MQTT
$ m' }& W( n  F/ Q2 n7 D! E3 F客户端来向 STM32F769DK 板推送固件升级消息,接收 STM32F769DK 板发送到云端的消息并进行显示。
5 B  Q  e0 X' o: K# J远程下载的固件需要保存在百度云 BOS 服务器上,然后就可以获取到对应的下载链接。这个下载地址信息,通过 PC 上的- }5 }; K( C: G, g9 x) p. t
MQTT 客户端 MQTT.fx进行推送,STM32F769DK 板收到消息后,从百度的 BOS 服务器下载新固件。
8 o0 T3 u' m% Z9 ?+ g" q4 _本例程提供了 IAR 的工程。
) [, {+ X- T6 A2 n. J
  ?, _- }3 |, i/ g7 ^: |3 _7 S7 Q; h2.系统框图
; H& v2 V/ d( _  A6 D( ?' T$ q  e  }# k" I- E4 I9 S
QQ截图20180929135004.png
图 1.通过有线连接到云端
' Q0 c6 h% ?& \- v
QQ截图20180929135059.png

8 ?7 b' }4 y9 H- W" z/ g& R5 ?
图 2.通过 wifi 连接到云端
) ^8 a$ ~; Z  g
3.存储区域划分 8 [& `  G  V! h" ^3 N# e
- C& L, v4 _% }( ~5 O. B! y
本示例用外部 QSPI Flash 保存从云端接收到的新固件和程序运行的状态。QSPI Flash 的功能区域划分如下:
* W# u( _' K1 Q1 F9 t
  • 地址 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 开始,保存用户应用程序:它除了用户自己的功能程序之外,还包括与云端通信,以及从云端下载新固件的程序。, x- a: H- [9 C9 Q$ L/ y0 Q; i
# F! P/ @* O* o& {0 f3 {  y6 X
QQ截图20180929135111.png

7 N' H+ F: I+ C! q/ F# G3 I/ D. k& g. q
4.运行环境 . o# U. |, d5 @' V7 p) Z7 x2 u
7 ~) J& G- d0 r6 u
4.1 硬件连接部分 6 a+ p" \8 e8 J5 Q
需要的硬件: ; ^( L7 e/ d  r1 p2 u( g! e5 Q
  • 一块 STM32F769I-DISCO 开发板,一根 micro USB 线
  • 使用以太网有线连接时:一根网线,一个可以连上互联网的网口  使用 wifi 无线连接时:一个 WIFI 热点,一个 ESP-01 模块  一台可以上网的电脑(运行 MQTT.fx)
    8 @* g! R$ m8 M4 R
( |# K( G. }6 A1 Y# ]
* w$ @- U5 g+ K1 D+ M/ i9 M
...
  {3 }. B2 a3 D$ ?. [
/ f2 O* n6 Z3 @4 a了解更多,请下载后阅读1 L- E+ k% i; t0 A2 |) j, L- S

) F) X6 |* f* Q5 ^* ^9 |下载地址1>>                                     下载地址2>>                                  更多实战经验>># e  n3 \7 t3 i2 M, f. M

, }6 u3 Q3 z9 G9 G1 V. u2 K5 G! d# a. a& f, K" K" a  k$ U( @
收藏 1 评论7 发布时间:2018-9-29 14:54

举报

7个回答
寂寞,点燃一支烟 回答时间:2018-12-29 21:27:15
下载链接
4 B/ C% l- i5 T$ d$ A6 Ahttp://www.stmcu.com.cn/Designre ... dec403b271092950739
beta.guo 回答时间:2018-10-11 00:47:10
相应的源码有提供吗?到哪里下载呢?: ]6 h7 k) c0 Y9 E6 {
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
9 k# r% I% Z" ~. o下载链接
5 O: X$ E- T0 g: Chttp://www.stmcu.com.cn/Designresource/design_resource_detail/file/393603/lang/EN/token/63 ...
: R4 z# F$ t$ _
这个链接无效了,请求给个能打开的网址,或说明一下去哪找,谢谢。
米兰的无线电 回答时间:2019-9-27 16:46:08
我也是来找示例代码链接的@STMCU 能帮忙问一下吗
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版