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

STM32F769DK 云端固件升级例程软件开 发文档

[复制链接]
STMCU小助手 发布时间:2022-8-7 15:08
1.前言
; L7 P! o  h/ j8 PSTM32F769DK 云端固件升级例程分为两部分:Bootloader 和用户应用程序。# e3 P6 Y+ }& |
该软件基于 STM32F7Cube 库运行在 STM32F769I-DISCO 探索板上,利用百度的 IoT 平台实现了从云端更新固件的功能。7 b8 V3 h) }; g& n/ M% H
Bootloader 部分主要负责将新版本用户应用程序从 QSPI Flash 烧到 MCU 内部 Flash 中,并跳转到应用程序运行,功能相对简单。
7 l8 E' [. [1 ^5 o2 R& _* C3 d5 e用户应用程序部分除了用户自己的功能程序外,还包括固件版本云端推送,固件文件云端下载以及断点续传等功能,程序结构相对复杂。) M$ ~6 z. G' c! v; s) P; ?" z
本文档主要介绍用户应用程序这部分。也会对 Bootloader 做简单介绍。
/ X& S) E* O8 y3 i6 z" a( x/ g& R用户应用程序软件包包括以下功能组件  Z! A  H0 V# S) q( G( M& @: X
 从云端更新固件的应用程序代码
3 n$ ?1 O. n7 T/ N: F4 @ MbedTLS(用于建立和云端的安全连接)! S) k1 Q" P8 `7 i
 LwIP(使用有线连接时的 TCP/IP 协议栈)  FreeRTOS
" m9 X* i0 G. h5 `5 F+ n Paho Embedded MQTT(MQTT 客户端在 STM32 上的实现)
& H6 M  A8 H! w+ y" Y4 n" [8 S* N cJSON(封装和解析 MQTT 数据包负载)
# t( d2 {5 N" v8 } STM32F769I-Disc 的板级驱动(包括 QSPI Flash,LCD,Wifi 模块等驱动)
- j/ d3 Y# C; t# e STM32F7 系列的 HAL 库
7 L5 e( q: A. \( E% p3 Y/ J: l0 X7 Y支持 IAR Embedded Workbench IDE,V7.80.4 及以上版本。
! O# l* b, h! A; p) [) H本例程仅作为 STM32 无线远程升级功能的参考。
6 T) j# h4 g# @2 M, G, G7 s( ?
2.软件架构 ( G, E# y. W+ a3 Q! M6 a. y0 e
用户应用程序的软件分层如下图,应用层程序可以通过接口函数调用各层的服务。 # y1 s# T2 g; Y0 T; @. n
 STM32F7Cube HAL 库:HAL 驱动层向上层软件提供了使用各个外设的接口函数。包括通常的或扩展属性的 APIs。上层的中间件,应用程序等可以通过调用这些 API 函数来操作外设,这样便不会使得上层的软件依赖于某个特定的MCU。使得程序更具有复用性,并且容易移植到其他的 MCU 系列上去。0 v% M5 z- ]+ c0 y$ S& Z
 STM32F769DK BSP 板级驱动:针对 STM32F769DK 这块板子上使用到的外设和资源,提供了相应的 API 函数,比如 LED 灯的控制,按键的操作等。# g1 ~. c! R" @
 LwIP 协议栈:TCP/IP 协议的实现。
+ R" C# g, Y  B  \, O mbedTLS: 支持设备与云端建立 TLS 连接。
2 U+ Y3 M! Y0 R+ o% Z Paho:Paho Embedded MQTT 实现 MQTT 客户端部分的协议。支持与云端建立 MQTT 通信。  cJSON:针对嵌入式系统,提供 JSON 格式数据的解析。  FreeRTOS: 轻量级的实时操作系统。除此以外,应用层还实现了:
, Z* A  K' S+ i6 z6 U5 u 连接百度 IoT 平台的 MQTT 客户端: 基于 Paho,根据百度 IoT 平台的连接逻辑进行封装实现。2 \% b  M4 y5 P6 B: J
 HTTP 客户端:在 MCU 端实现了 HTTP 客户端,支持通过 TCP 或者 TLS 的方式从云端下载文件。
0 R" P3 x5 Z) V$ Z. n8 G 远程固件更新的程序:实现云端推送,自动下载,以及断点续传的逻辑。& T, ?4 _/ \* L" m$ T: P3 Y

3 J' ~$ F) J- t6 H( P' V

) F4 ^6 s8 w+ v* W3 N* Q+ X 4`{90)XPYXDOMGC}J1LDF{3.png
3 T+ T- m5 k& m2 K) h  ~" D3 [0 B7 s* B/ x: i* y8 }
3.文件结构
; v1 @) {7 l/ v6 Y1 J
用户应用程序的文件结构如下:
) p1 H( j! l3 s2 c0 Q' N% K% e% U* f) G* ~1 h

1 T3 f- \- h, \! g, b6 E TQ]P33CE)0R4~2F5SK[O{MI.png : V, n3 r% [" p  ?6 a" Y  j
3 ?0 u0 T7 s+ m4 [% w% o

& k: I+ ^! s2 v9 u: W' |- V完整版请查看:附件
9 i& f- h7 X0 n, L* h# O! e% t- S" g# I
# F4 ?- @1 d- ~  f/ L

Development guide for STM32 OTA demo.pdf

下载

658.58 KB, 下载次数: 0

赞 收藏 评论0 发布时间:2022-8-7 15:08

举报

0个回答

所属标签

相似技术帖

官网相关资源

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