请选择 进入手机版 | 继续访问电脑版

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

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

[复制链接]
STMCU-管管 发布时间:2018-9-29 14:54
1.前言 ) J! }5 Y+ L! I# T
# @) m+ Q# r/ ]3 R# Q
对于一个物联网应用,远程监控设备状态、远程更新设备固件都是其要包含的典型基本功能。本示例在百度天工 IoT 平台和2 a" }' ~# ~- C1 S
STM32F769 探索板上实现了上述功能,并有以下特性:# d' O- k5 |% x8 n- t
  • 支持 MQTT,HTTP 协议
  • 支持安全传输(TLS)支持应用数据的 Json 格式解析
  • 后台下载固件(不影响前台应用程序运行)
  • 断点续传
  • 固件完整性检查' @. n0 U4 {! d+ S6 \! m3 {

3 I& u% A2 H0 Q' c4 T支持一键恢复出厂默认固件在本示例中,STM32F769DK 板可以通过板载以太网接口或者外接的 WIFI 模块连接到百度天工, Y2 @5 J0 `- M/ j: T! y
IoT 平台,与其建立 MQTT 连接:将板上的 LED 灯状态、软件版本等信息上传到云端,并可接收云端下发的 LED 控制命令、
4 D; H  r3 b2 L* X4 C* o新固件版本和下载地址。根据接收到新固件下载地址,通过 HTTP 协议从对应的服务器下载新固件。下载完成后程序通过
  a' I- J4 C! fLCD 屏向用户提示可用的新版本信息,用户可以通过用户按键启动新固件的升级。下载和升级过程支持固件完整性校验。 - K, ^: E- m, y& B6 x* |
在此例程中,我们用到了百度 IoT 平台和对象存储(BOS)服务。首先需要在 IoT 平台上创建 MQTT 服务,百度 IoT 平台相当于
. Y4 S) I5 }5 h0 e2 \% xMQTT 服务器,STM32F769DK 板相当 MQTT 客户端。在本示例中,还用到了一个 PC 端工具 MQTT.fx,作为另一个 MQTT* r# J+ r# l1 l$ ^) |
客户端来向 STM32F769DK 板推送固件升级消息,接收 STM32F769DK 板发送到云端的消息并进行显示。 4 p3 N' }4 T9 ^) o& s3 S: H
远程下载的固件需要保存在百度云 BOS 服务器上,然后就可以获取到对应的下载链接。这个下载地址信息,通过 PC 上的
/ R5 B3 k1 n5 U4 d3 [2 ^4 cMQTT 客户端 MQTT.fx进行推送,STM32F769DK 板收到消息后,从百度的 BOS 服务器下载新固件。 ) S$ {2 O# M9 F6 y$ e
本例程提供了 IAR 的工程。
' D3 `+ v( i$ m$ t9 `/ Z' G
4 S; W- ^5 A; Y9 X2.系统框图
6 y' I( E0 e8 U  {0 m4 W: m, x; b" o7 E
QQ截图20180929135004.png
图 1.通过有线连接到云端
; [6 c0 R  v0 e& U* Z
QQ截图20180929135059.png
2 t, g, t- @0 O4 H) ?
图 2.通过 wifi 连接到云端
8 g* U4 {) j+ i3 ^5 F1 E+ ^6 ^" |
3.存储区域划分 ; }) u- z$ P# S7 G8 ~, Z

% R6 I8 z3 ^# K  D# Y7 s( v本示例用外部 QSPI Flash 保存从云端接收到的新固件和程序运行的状态。QSPI Flash 的功能区域划分如下:
1 |: k5 L. {! m- D3 ~$ b( o
  • 地址 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 开始,保存用户应用程序:它除了用户自己的功能程序之外,还包括与云端通信,以及从云端下载新固件的程序。
    ! w$ z% G, ?5 N% i5 F; E! g
: y: }% E& o! t, `5 \
QQ截图20180929135111.png

4 e1 @/ k4 l4 G8 w" x, {, c$ f9 o
4.运行环境 1 ^, Y, l5 B5 E+ V$ n9 u
( _2 g# X, o( Z7 @
4.1 硬件连接部分
/ e* V) ]  e1 {9 }+ e9 \* T6 m6 U需要的硬件:
, a1 Q8 W- Z( b! E7 L
  • 一块 STM32F769I-DISCO 开发板,一根 micro USB 线
  • 使用以太网有线连接时:一根网线,一个可以连上互联网的网口  使用 wifi 无线连接时:一个 WIFI 热点,一个 ESP-01 模块  一台可以上网的电脑(运行 MQTT.fx)1 R1 e$ Y% @) K* S8 }: `
7 ?# p1 H9 o! R

, F. W0 {2 N+ W...
6 I& c! `* l3 F6 n
( {! O4 x; {( t7 n$ C* [0 v% ^# s了解更多,请下载后阅读
7 k8 b! s( O, i: A
9 W& N% x0 k$ Y0 N7 U$ E1 b& E- h1 A下载地址1>>                                     下载地址2>>                                  更多实战经验>>' t3 _( j7 u9 ^, o& R

! ~# N8 ^+ m- S$ q/ l. B7 g6 b2 z( Z+ z$ A% T, V9 f
收藏 1 评论7 发布时间:2018-9-29 14:54

举报

7个回答
寂寞,点燃一支烟 回答时间:2018-12-29 21:27:15
下载链接
! ?* M8 T8 j5 Y0 U. y- _http://www.stmcu.com.cn/Designre ... dec403b271092950739
beta.guo 回答时间:2018-10-11 00:47:10
相应的源码有提供吗?到哪里下载呢?) y- z+ t" J0 Z4 u$ L# _
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:277 T. j+ K( d  S1 N% J
下载链接
: {. o5 O) M% y% v9 Z; x; \http://www.stmcu.com.cn/Designresource/design_resource_detail/file/393603/lang/EN/token/63 ...

2 V: O0 _. z4 C这个链接无效了,请求给个能打开的网址,或说明一下去哪找,谢谢。
米兰的无线电 回答时间:2019-9-27 16:46:08
我也是来找示例代码链接的@STMCU 能帮忙问一下吗
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版