[STM32F1] STM32 官方Bootloader相关咨询

[复制链接]
41|10
唐纳德d 发表于 2026-8-10 09:55 | 显示全部楼层 |阅读模式

我需要通过串口给单片机升级固件,要求无需物理拨动 BOOT 引脚,仅依靠串口下发指令就能完成产品常规固件升级。

我查阅资料后了解这类功能需要编写Bootloader。
我想请教大家串口远程固件升级是绝大多数开发者都会遇到的需求,ST是否推出过对应的官方现成方案?
有没有原厂封装好、可以直接拿来使用,不必从零手写自定义 Bootloader 的固件?
最好是 STM32CubeMX 能够直接配置支持的版本。

网上能找到大量爱好者、社区自制的 Bootloader 工程,但我没有办法辨别这些代码的可靠性,因此希望找到 ST 官方正版解决方案。

公羊子丹 发表于 2026-8-10 20:14 | 显示全部楼层
ST是有官方现成串口Bootloader的,就是系统内置的ISP烧录程序,不过它必须靠BOOT引脚拉高才能进入,没法纯串口指令跳转,满足不了你不用拨引脚的需求。
周半梅 发表于 2026-8-10 20:15 | 显示全部楼层
想不用手动切BOOT引脚只能自己做用户Bootloader,ST官方有配套参考工程,在STM32CubeF1固件包里,能直接基于它改串口升级逻辑,稳定性有保障。
帛灿灿 发表于 2026-8-10 20:16 | 显示全部楼层
跟你说句实在的,CubeMX不能一键生成完整升级Bootloader,只能初始化串口、Flash读写底层驱动,跳转校验、分包接收这些逻辑还是要自己补充编写。
童雨竹 发表于 2026-8-10 20:17 | 显示全部楼层
我之前踩过坑,原厂内置ISP不能软件触发,产品量产只能做自定义Bootloader,固件包里有X-CUBE-IAP_USART扩展包,专门对应串口远程升级。
万图 发表于 2026-8-10 20:18 | 显示全部楼层
Wordsworth 发表于 2026-8-10 20:19 | 显示全部楼层
想问下你的产品有没有预留按键?如果实在不想写Bootloader,也能加个软件标志位,上电读取Flash标记自动进升级模式,不用动硬件BOOT脚。
Bblythe 发表于 2026-8-10 20:20 | 显示全部楼层
网上第三方Bootloader确实风险高,很多没做Flash读写保护,升级断电直接变砖,优先用ST官方IAP示例,安全机制都封装好了不用自己完善。
Pulitzer 发表于 2026-8-10 20:21 | 显示全部楼层
原厂内置ISP只能烧录不能软件跳转,这点要分清,它是出厂烧录用的,产品在线升级必须用IAP,Cube库里面自带完整的读写Flash函数可以直接调用。
Uriah 发表于 2026-8-10 20:21 | 显示全部楼层
给你个实操步骤,先装X-CUBE-IAP_USART扩展包,打开F1配套工程,测试串口下发bin包,再修改判断逻辑,实现收到升级指令自动切换IAP运行。
Clyde011 发表于 2026-8-10 20:22 | 显示全部楼层
调侃一下,当初我也想找一键配置的工具,折腾一周才明白,CubeMX只管外设初始化,IAP业务逻辑得自己写,官方只给参考工程不提供成品固件。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

197

主题

198

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部
0