打印
[STM32MP1]

STM32如何进行Bootloader开发和定制?

[复制链接]
624|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
欢乐家园|  楼主 | 2025-2-28 23:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32的Bootloader如何定制,以支持不同的固件下载方式?

使用特权

评论回复
沙发
公羊子丹| | 2025-3-2 08:11 | 只看该作者
STM32MP1 的 Bootloader 通常基于 U-Boot,你是想修改 U-Boot 还是开发一个自己的 Bootloader?

使用特权

评论回复
板凳
周半梅| | 2025-3-2 08:13 | 只看该作者
如果要支持多种固件下载方式,可以在 U-Boot 里添加 USB DFU、TFTP、SD 卡加载等功能,你现在主要是想用哪种方式?

使用特权

评论回复
地板
帛灿灿| | 2025-3-2 08:14 | 只看该作者
你可以在 configs/stm32mp1_defconfig 里启用 CONFIG_CMD_DFU,这样 U-Boot 就能支持 USB DFU 模式进行固件更新。

使用特权

评论回复
5
童雨竹| | 2025-3-2 08:15 | 只看该作者
STM32MP1 的 BootROM 负责最初的加载阶段,可以通过 Boot Pins 选择启动模式,你是用 eMMC、SD 卡,还是 NAND Flash 启动的?

使用特权

评论回复
6
万图| | 2025-3-2 08:17 | 只看该作者
如果想让 Bootloader 支持 A/B 分区更新,可以在 U-Boot 里增加 bootcount 逻辑,确保固件更新失败时还能回滚。

使用特权

评论回复
7
Wordsworth| | 2025-3-2 08:18 | 只看该作者
你需要在 Bootloader 里做安全验证吗?如果是,STM32MP1 支持 OP-TEE 进行固件签名校验,防止非法固件被加载。

使用特权

评论回复
8
Bblythe| | 2025-3-2 08:19 | 只看该作者
你是用 ST 提供的 OpenSTLinux 还是自己编译 U-Boot?如果是自己编译,建议先熟悉 U-Boot Kconfig 的配置方法。

使用特权

评论回复
9
Pulitzer| | 2025-3-2 08:20 | 只看该作者
在定制 Bootloader 时,可以在 board/st/stm32mp1/ 目录下修改 board_init_f 和 board_init_r,添加自定义的初始化逻辑。

使用特权

评论回复
10
Uriah| | 2025-3-2 08:21 | 只看该作者
如果要支持网络更新,可以在 U-Boot 里启用 CONFIG_CMD_TFTPBOOT,这样可以通过 TFTP 服务器下载新固件。

使用特权

评论回复
11
Clyde011| | 2025-3-2 08:22 | 只看该作者
你是否考虑使用 STM32CubeProgrammer 进行 Bootloader 调试?它可以通过 USB/UART 直接烧录固件,方便调试启动问题。

使用特权

评论回复
12
失物招領| | 2025-3-24 01:24 | 只看该作者
定制STM32Bootloader以支持不同的固件下载方式,你就自己写呗,或者花钱找别人写呗

使用特权

评论回复
13
她已醉| | 2025-3-24 02:23 | 只看该作者
Bootloader的主要功能包括:初始化硬件(如时钟、外设等)。检查是否需要更新固件。支持多种固件下载方式(如UARTUSBCANI2CSPISD卡等)。验证固件的完整性和合法性(如CRC校验、签名验证)。跳转到应用程序

使用特权

评论回复
14
将爱藏于深海| | 2025-3-24 03:25 | 只看该作者
要做BootLoader,最初就是硬件初始化:初始化时钟、GPIO、外设等。检查固件更新:通过某种方式(如按键、标志位、通信接口)判断是否需要更新固件。固件下载:通过选定的通信接口接收固件数据。固件验证:对接收到的固件进行校验(如CRC、签名)。固件存储:将固件写入Flash的应用程序区域。跳转到应用程序:如果不需要更新固件或固件更新完成,跳转到应用程序

使用特权

评论回复
15
捧一束彼岸花| | 2025-3-24 04:34 | 只看该作者
定制STM32Bootloader需要根据具体需求选择固件下载方式

使用特权

评论回复
16
春日负喧| | 2025-3-24 05:21 | 只看该作者
支持多种下载方式可以增加Bootloader的灵活性

使用特权

评论回复
17
温室雏菊| | 2025-3-24 06:34 | 只看该作者
固件验证和存储布局是Bootloader设计的关键部分

使用特权

评论回复
18
白马过平川| | 2025-3-24 07:23 | 只看该作者
调试和测试是确保Bootloader稳定性的重要步骤

使用特权

评论回复
19
故意相遇| | 2025-3-24 08:23 | 只看该作者
总金额周BootLoader你说支持不同的固件下载是指的固件的格式吧

使用特权

评论回复
20
西洲| | 2025-3-24 09:23 | 只看该作者
一般就是支持binhex都是转成bin再烧录的,所以格式我觉得最好别改动

使用特权

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

本版积分规则

110

主题

982

帖子

1

粉丝