STMCU小助手
发布时间:2022-8-7 15:08
|
1.前言 9 A' P& A/ j k& Y+ ?9 }0 } STM32F769DK 云端固件升级例程分为两部分:Bootloader 和用户应用程序。 该软件基于 STM32F7Cube 库运行在 STM32F769I-DISCO 探索板上,利用百度的 IoT 平台实现了从云端更新固件的功能。( @ R. c, U. o! @* q9 r; |: Q Bootloader 部分主要负责将新版本用户应用程序从 QSPI Flash 烧到 MCU 内部 Flash 中,并跳转到应用程序运行,功能相对简单。% M) H3 U9 [) c3 b" i2 Z* ` 用户应用程序部分除了用户自己的功能程序外,还包括固件版本云端推送,固件文件云端下载以及断点续传等功能,程序结构相对复杂。- U& ` {8 |- s+ W+ B- _, O, k/ S. s3 j* K 本文档主要介绍用户应用程序这部分。也会对 Bootloader 做简单介绍。 用户应用程序软件包包括以下功能组件0 E9 k1 }9 i) A( M 从云端更新固件的应用程序代码' f6 H q: E/ p+ x MbedTLS(用于建立和云端的安全连接) LwIP(使用有线连接时的 TCP/IP 协议栈) FreeRTOS+ r5 Y% v% ?8 Z" k+ y- `- u# b6 I! X: | Paho Embedded MQTT(MQTT 客户端在 STM32 上的实现) cJSON(封装和解析 MQTT 数据包负载)+ G; i) G! A# Q; o( v STM32F769I-Disc 的板级驱动(包括 QSPI Flash,LCD,Wifi 模块等驱动) STM32F7 系列的 HAL 库 支持 IAR Embedded Workbench IDE,V7.80.4 及以上版本。 本例程仅作为 STM32 无线远程升级功能的参考。 2.软件架构 用户应用程序的软件分层如下图,应用层程序可以通过接口函数调用各层的服务。 9 C4 X# g5 x1 d, L STM32F7Cube HAL 库:HAL 驱动层向上层软件提供了使用各个外设的接口函数。包括通常的或扩展属性的 APIs。上层的中间件,应用程序等可以通过调用这些 API 函数来操作外设,这样便不会使得上层的软件依赖于某个特定的MCU。使得程序更具有复用性,并且容易移植到其他的 MCU 系列上去。 STM32F769DK BSP 板级驱动:针对 STM32F769DK 这块板子上使用到的外设和资源,提供了相应的 API 函数,比如 LED 灯的控制,按键的操作等。9 B# H }/ T: e8 ]& m! z LwIP 协议栈:TCP/IP 协议的实现。3 U& d9 j& H# Z mbedTLS: 支持设备与云端建立 TLS 连接。% M+ F% Y+ U6 r Paho:Paho Embedded MQTT 实现 MQTT 客户端部分的协议。支持与云端建立 MQTT 通信。 cJSON:针对嵌入式系统,提供 JSON 格式数据的解析。 FreeRTOS: 轻量级的实时操作系统。除此以外,应用层还实现了: 0 i2 X8 P; d g! x6 A. z 连接百度 IoT 平台的 MQTT 客户端: 基于 Paho,根据百度 IoT 平台的连接逻辑进行封装实现。 HTTP 客户端:在 MCU 端实现了 HTTP 客户端,支持通过 TCP 或者 TLS 的方式从云端下载文件。 远程固件更新的程序:实现云端推送,自动下载,以及断点续传的逻辑。+ l2 D. n$ E+ n% T
2 q4 V+ ]8 ]) J0 k! N 3.文件结构 + m1 w9 t+ q2 ? 用户应用程序的文件结构如下: ) m. M7 Z; `0 j. D X) {$ z
o+ S! Z- r+ c' X& }+ |+ M" E 完整版请查看:附件: u& N' N4 V, K + R l9 u. T/ q% [. S } |
Development guide for STM32 OTA demo.pdf
下载658.58 KB, 下载次数: 0
基于STM32F767通过cube配置:QSPI接口读写64M PSRAM+flash参考资料...
STM32F746G-DISCO移植lvgl9.0性能基准测试
STM32F745 USART1 Bootloader启动失败排查与解决的流程分析
STM32芯片命名规则
STM32 引脚到底有多少?为什么一个引脚能当好几个用?
入门嵌入式,为什么STM32是“优选起步”?
嵌入式-单片机-STM32 EXTI中断
STM32单片机进行除零运算,为何程序不崩溃?
STM32 LL为什么比HAL高效?
STM32时钟详解
微信公众号
手机版