搜索
查看: 1726|回复: 3

[实战经验] STM32F769DK 云端固件升级例程软件开发文档

[复制链接]
  • TA的每日心情
    开心
    2018-2-6 09:20
  • 签到天数: 1 天

    [LV.1]初来乍到

    1182

    主题

    4967

    帖子

    1

    蝴蝶豆

    论坛元老

    最后登录
    2020-3-17
    发表于 2018-10-17 16:05:56 | 显示全部楼层 |阅读模式
    STM32F769DK 云端固件升级例程软件开发文档


    1. 前言
    STM32F769DK 云端固件升级例程分为两部分:Bootloader 和用户应用程序。
    该软件基于 STM32F7Cube 库运行在 STM32F769I-DISCO 探索板上,利用百度的 IoT 平台实现了从云端更新固件的功能。 Bootloader 部分主要负责将新版本用户应用程序从 QSPI Flash 烧到 MCU 内部 Flash 中,并跳转到应用程序运行,功能相对简单。

    用户应用程序部分除了用户自己的功能程序外,还包括固件版本云端推送,固件文件云端下载以及断点续传等功能,程序结构相对复杂。

    本文档主要介绍用户应用程序这部分。也会对 Bootloader 做简单介绍。

    用户应用程序软件包包括以下功能组件
    从云端更新固件的应用程序代码
    - MbedTLS(用于建立和云端的安全连接)
    - LwIP(使用有线连接时的 TCP/IP 协议栈)
    - FreeRTOS
    - Paho Embedded MQTT(MQTT 客户端在 STM32 上的实现)
    - cJSON(封装和解析 MQTT 数据包负载)
    - STM32F769I-Disc 的板级驱动(包括 QSPI Flash,LCD,Wifi 模块等驱动)
    - STM32F7 系列的 HAL库


    支持 IAR Embedded Workbench IDE,V7.80.4 及以上版本。
    本例程仅作为 STM32 无线远程升级功能的参考。



    2. 软件架构
    用户应用程序的软件分层如下图,应用层程序可以通过接口函数调用各层的服务。
    - STM32F7Cube HAL 库:HAL 驱动层向上层软件提供了使用各个外设的接口函数。包括通常的或扩展属性的 APIs。
    上层的中间件,应用程序等可以通过调用这些 API 函数来操作外设,这样便不会使得上层的软件依赖于某个特定的
    MCU。使得程序更具有复用性,并且容易移植到其他的 MCU 系列上去。
    - STM32F769DK BSP 板级驱动:针对 STM32F769DK 这块板子上使用到的外设和资源,提供了相应的 API 函数,比 如 LED 灯的控制,按键的操作等。
    - LwIP 协议栈:TCP/IP 协议的实现。
    - mbedTLS: 支持设备与云端建立 TLS 连接。
    - Paho:Paho Embedded MQTT 实现 MQTT 客户端部分的协议。支持与云端建立 MQTT 通信。
    - cJSON:针对嵌入式系统,提供 JSON 格式数据的解析。
    - FreeRTOS: 轻量级的实时操作系统。

    除此以外,应用层还实现了:
    - 连接百度 IoT 平台的 MQTT 客户端: 基于 Paho,根据百度 IoT 平台的连接逻辑进行封装实现。
    - HTTP 客户端:在 MCU 端实现了 HTTP 客户端,支持通过 TCP 或者 TLS 的方式从云端下载文件。
    - 远程固件更新的程序:实现云端推送,自动下载,以及断点续传的逻辑。

    12.png



    3. 文件结构

    用户应用程序的文件结构如下:
    13.png



    4. 软件模块

    4.1  网络 抽象层
    在实际的应用中,设备端可能通过多种方式连接到云端。比如以太网,WIFI,2G/3G 等。所以程序中增加了网络抽象层,来
    支持在不同连接方式上的切换。


    ...


    了解更多,请下载后阅读

    下载地址1>>           下载地址2>>           更多实战经验>>


    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    8

    帖子

    0

    蝴蝶豆

    新手上路

    最后登录
    2018-11-5
    发表于 2018-10-17 22:55:46 | 显示全部楼层
    支持,谢谢分享
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    60

    主题

    2111

    帖子

    31

    蝴蝶豆

    版主

    最后登录
    2023-6-21
    发表于 2018-10-18 08:31:33 | 显示全部楼层
    好东西,,谢谢分享!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    4

    帖子

    0

    蝴蝶豆

    中级会员

    最后登录
    2019-7-2
    发表于 2018-12-24 09:43:31 | 显示全部楼层
    OTA好实例,谢谢分享
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

    GMT+8, 2024-4-25 13:24 , Processed in 0.183807 second(s), 40 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表