打印
[STM32F7]

STM32如何使用Bootloader进行固件下载?

[复制链接]
640|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
STM32 Bootloader的工作原理是什么,如何通过它进行固件的下载?

使用特权

评论回复
沙发
公羊子丹| | 2025-3-4 07:43 | 只看该作者
你是打算用 官方 Bootloader(ROM 中自带的) 还是 自定义 Bootloader?官方 Bootloader 支持 USART、USB DFU 等方式,但自定义 Bootloader 灵活性更高。

使用特权

评论回复
板凳
周半梅| | 2025-3-4 07:45 | 只看该作者
你打算通过 UART、USB DFU、SPI 还是 CAN 下载固件?不同接口的 Bootloader 需要不同的启动方式,例如 USART 需要 BOOT0 拉高。

使用特权

评论回复
地板
帛灿灿| | 2025-3-4 07:47 | 只看该作者
你测试过 进入 Bootloader 模式 了吗?可以在 STM32F7 上 BOOT0 置 1 后复位,再用 STM32CubeProgrammer 连接看看是否能识别到 Bootloader。

使用特权

评论回复
5
童雨竹| | 2025-3-4 07:49 | 只看该作者
你是希望 在线升级(IAP) 还是 离线烧录(ISP)?如果是 IAP,需要在应用程序中实现一个 接收固件并写入 Flash 的逻辑。

使用特权

评论回复
6
万图| | 2025-3-4 07:51 | 只看该作者
你对 Flash 分区有规划吗?通常 Bootloader 需要占用 Flash 前面的 某个固定区域,然后把应用程序放在后面的 Flash 空间中。

使用特权

评论回复
7
Wordsworth| | 2025-3-4 07:53 | 只看该作者
你考虑过 固件完整性校验 吗?下载固件后,通常需要 CRC 或 MD5 校验,防止 Flash 写入错误导致 MCU 崩溃。

使用特权

评论回复
8
Bblythe| | 2025-3-4 07:55 | 只看该作者
你是打算 手动跳转到 Bootloader 还是 用硬件启动引导?手动跳转可以使用 void (*SysMemBootJump)(void) = (void (*)(void)) * (volatile uint32_t*) 0x1FF00004; SysMemBootJump();。

使用特权

评论回复
9
Pulitzer| | 2025-3-4 07:59 | 只看该作者
你希望 Bootloader 具备 回滚机制 吗?如果新固件烧录失败,是否要 恢复上一个固件 ?可以在 Flash 里预留一个 安全备份区域。

使用特权

评论回复
10
Uriah| | 2025-3-4 08:01 | 只看该作者
你测试过 Bootloader 下的 Flash 读写 了吗?注意 Bootloader 不能覆盖自己所在的 Flash 区域,否则会导致 MCU 变砖。

使用特权

评论回复
11
Clyde011| | 2025-3-4 08:03 | 只看该作者
你考虑过 Bootloader 加密固件 传输吗?如果 Bootloader 直接接收二进制固件并写入 Flash,可能会被逆向,可以用 AES 或 RSA 加密 来增强安全性。

使用特权

评论回复
12
将爱藏于深海| | 2025-4-21 01:11 | 只看该作者
就是用户代码而已,只是存在了一个不好删除的地方而已

使用特权

评论回复
13
她已醉| | 2025-4-21 02:34 | 只看该作者
就是固件保存和跳转,简单

使用特权

评论回复
14
失物招領| | 2025-4-21 03:33 | 只看该作者
你可以看看IAPAPP基本就这样

使用特权

评论回复
15
故意相遇| | 2025-4-21 04:34 | 只看该作者
其实就是检测到了你要BootLoader烧录,然后就正常程序固件跳转罢了

使用特权

评论回复
16
春日负喧| | 2025-4-21 05:21 | 只看该作者
STM32 Bootloader 提供了一种灵活、高效的固件更新方式,适用于各种应用场景

使用特权

评论回复
17
温室雏菊| | 2025-4-21 06:27 | 只看该作者
一般就是说通过选择合适的通信接口和工具,可以轻松实现固件的下载和更新

使用特权

评论回复
18
白马过平川| | 2025-4-21 07:29 | 只看该作者
其实在实际应用中,需要根据具体需求选择合适的通信协议和安全机制,确保固件更新的可靠性和安全性

使用特权

评论回复
19
西洲| | 2025-4-21 08:27 | 只看该作者
我理解就是一个单片机的flash的读写操作而已,还有就是中断向量表的跳转

使用特权

评论回复
20
风凉| | 2025-4-21 09:29 | 只看该作者
STM32 Bootloader STM32 微控制器内置的一段独立程序,用于在设备启动时加载用户应用程序(固件)。它允许用户通过特定接口(如 UARTUSBCAN 等)更新设备固件,而无需使用 JTAG/SWD 等调试接口

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

47

主题

604

帖子

1

粉丝