上机实验指南:Bootloader 串口升级与启动验证

目录

1:实验流程概览

[2:修改 APP 代码(改变 LED 闪烁速度)](#2:修改 APP 代码(改变 LED 闪烁速度))

3:制作新版本固件信息并验证升级成功

一句话总结


1:实验流程概览

这张图告诉我们实验要做什么:

  1. 生成 h5_app.bin → 用 create_firmware_info.exe 制作固件信息(一串十六进制数据),复制到串口工具里备用。

  2. 烧写 h5_bootloader_ok 程序到开发板。

  3. 观察串口工具 :当收到字符 '1'(Bootloader 请求固件信息)时,点击"发送"按钮,先发 5 个 0x5A 作为同步头,紧接着发送刚才复制的固件信息。

  4. 当串口工具收到字符 '2'(Bootloader 请求固件数据)时,点击"发送文件",选择 h5_app.bin 发送。

  5. 成功后会看到 "Download OK" 提示。

  6. 修改 h5_app 代码(比如让 LED 闪烁更快),重新编译生成新 bin,然后重复上述步骤,即可实现升级。


2:修改 APP 代码(改变 LED 闪烁速度)

https://7f324e3dc0ec2dc76b00c421ee711da8.jpghttps://7f324e3dc0ec2dc76b00c421ee711da8.jpg

图中是 main.cwhile 循环,LED 先灭(GPIO_PIN_SET)延时 100ms,再亮(GPIO_PIN_RESET)延时 100ms。要想让 LED 闪烁更快,可以把 HAL_Delay(100) 改成更小的值,比如 50 或 20。修改后重新编译生成新的 h5_app.bin


3:制作新版本固件信息并验证升级成功

  • 左上角命令行:用 create_firmware_info.exe 为新固件生成信息,版本号设为 5(必须比原来大,比如原来版本是 1),输出的十六进制数据就是新的固件信息。

  • 右侧串口工具界面:提示我们手工复位开发板,重复之前的发送步骤(先发同步头 5A...,再发新固件信息,最后发新的 bin 文件)。烧录成功后,程序自动启动,LED 闪烁速度会变快(因为延时改小了)。


一句话总结

通过这三张图,我们可以完整地实现 Bootloader 串口升级:

先烧写 Bootloader → 用工具生成固件信息 → 在串口助手交互发送信息 + bin 文件 → 看到 "Download OK" → 修改 APP 后重新生成更高版本的固件 → 再次发送,观察 LED 变化,验证升级成功。

相关推荐
Strange_Head1 分钟前
快速入门 MQTT:从 Broker、发布订阅到双机通信
嵌入式硬件
LCG元42 分钟前
STM32实战:基于STM32F103的MQTT协议通信(EMQ X Broker)
stm32·单片机·嵌入式硬件
zmj32032443 分钟前
51单片机
单片机·嵌入式硬件·51单片机
zmj3203241 小时前
MCS-51单片机
单片机·嵌入式硬件·51单片机
小柯博客1 小时前
从零开始打造 OpenSTLinux 6.6 Yocto 系统 - STM32MP2(基于STM32CubeMX)(八)
c语言·git·stm32·单片机·嵌入式硬件·嵌入式·yocto
421!10 小时前
GPIO工作原理以及核心
开发语言·单片机·嵌入式硬件·学习
cmpxr_14 小时前
【单片机】STM32的启动流程(Keil)
stm32·单片机·嵌入式硬件
广药门徒15 小时前
嵌入式常用通信协议速率对比及布线要点全解析
单片机·嵌入式硬件
cmpxr_16 小时前
【单片机】RAM和ROM
单片机·嵌入式硬件
信息安全专家18 小时前
sigmastar SSD222D编译问题总结2-dash问题
linux·嵌入式硬件·dash