欢迎光临
我们一直在努力

STM32H5 BootLoader 上机实操:基于串口的固件下载升级验证

目录

  • 一、前言
  • 二、自定义下载协议核心交互流程
  • 三、上机前准备:固件信息提取
  • 四、上机实操:串口固件下载验证
  • 五、总结
  • 六、结尾

一、前言

本次上机实操基于此前定义的串口下载协议,在 STM32H5 开发板上验证 BootLoader 与 PC 上位机的固件下载交互流程。核心目标是将代码层面的协议逻辑落地到硬件,完成 “BootLoader 发送请求 – 上位机回复固件信息 – 下发固件数据 – 开发板接收验证” 的全流程实操,验证串口下载功能的实际有效性。

二、自定义下载协议核心交互流程

本次实操遵循自定义的 5 步串口下载协议,明确 BootLoader(下位机)与 PC 上位机的数据收发规则:

  • 请求固件信息:BootLoader 向上位机发送字符 1,发起 “获取固件版本及相关信息” 的请求;
  • 回复固件信息:上位机先发送 5 个 0x5a 字节完成通信同步,再下发结构化的固件信息(版本、长度、加载地址等);
  • 请求固件数据:BootLoader 向上位机发送字符 2,发起 “获取固件 bin 文件” 的请求;
  • 下发固件数据:上位机接收请求后,将 bin 格式的固件文件逐包发送给 BootLoader;
  • 反馈烧录进度:BootLoader 在 Flash 烧写过程中,向上位机发送以 “$”开头、“%”结尾的进度字符串(如“$1%”“$50%”“$100%”),实时反馈升级进度。
  • 三、上机前准备:固件信息提取

    在完成 bin 文件生成(按此前流程将 axf 文件转换为可烧录的 bin 文件)后,进行固件信息提取:

  • 将create_firmware_info.exe工具放入 MDK-ARM 目录下的 demo(自定义命名)文件夹;
  • 在该文件夹内右键打开 PowerShell,输入指令: .\\\\create_firmware_info.exe .\\\\h5_app.bin 1;
  • 工具输出固件信息(十六进制):00 00 00 01 00 00 14 50 08 04 00 00 dd bc ae 34 2e 5c 5c 68 35 5f 61 70 70 2e 62 69 6e 00 00 00。
  • 注意:固件信息提取的前提是已生成对应的 bin 文件,若此前已按流程完成 bin 文件生成,可直接复用已提取的固件信息,无需重复操作。

    四、上机实操:串口固件下载验证

  • 将 BootLoader 工程烧录至 STM32H5 开发板,确保开发板与 PC 通过串口正常连接;
  • 在 PC 端串口工具中,向下位机发送包含同步字节和固件信息的完整数据:5a 5a 5a 5a 5a 00 00 00 01 00 00 14 50 08 04 00 00 dd bc ae 34 2e 5c 5c 68 35 5f 61 70 70 2e 62 69 6e 00 00 00;
  • 在串口工具中选择已生成的h5_app.bin文件,发送给开发板,可观察到开发板成功接收完成固件数据。
  • 请添加图片描述

    五、总结

  • 本次上机实操基于自定义 5 步串口下载协议,完成了 BootLoader 与 PC 的核心交互验证;
  • 固件信息提取需依赖已生成的 bin 文件,确保数据格式与协议匹配;
  • 硬件烧录后通过串口下发数据,验证了开发板对固件信息和 bin 文件的接收功能。
  • 六、结尾

    本次上机实操完成了 BootLoader 串口下载功能的硬件验证,核心验证了协议交互与固件数据接收的有效性,是实现完整固件升级流程的关键一步。掌握嵌入式 BootLoader 的硬件实操技巧,是从代码开发到工程落地的核心跨越。感谢各位的阅读,持续关注本系列笔记,一起完成固件烧录与启动的全流程验证!

    赞(0)
    未经允许不得转载:171主机测评 » STM32H5 BootLoader 上机实操:基于串口的固件下载升级验证
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址