|
最近学习了 ST 官方《STM32 MCUBoot 安全启动与固件升级》课程,梳理下个人理解与踩坑点。 一、课程核心收获 1. 搞懂传统 SBSFU 与新一代基于 MCUBoot 的 OEMiROT 方案差异。MCUBoot 作为开源 Bootloader,实现 Boot 与业务应用解耦,适合 U5/H5/WBA 这类 Cortex‑M33 带 TrustZone 芯片。
2. 安全核心机制! ]5 g8 F3 @! l9 w 安全启动:上电后 MCUBoot 对 APP 镜像做签名、哈希校验,校验通过才跳转运行 App,拒绝非法固件。 固件升级:支持双分区交换、双分区覆盖、单分区多种升级模式,适配不同 Flash 资源的产品。8 L% H% Z$ |" t! o* t1 \- Y- f2 ]! M 防回滚机制:依靠版本计数器,阻止设备被刷回存在漏洞的旧固件。' [( ?6 |& R" v, x( ]3 n
3. 内存布局是重中之重,Boot 分区、主镜像槽、备份镜像槽、Trailer 元数据分区,划分错误会直接导致编译、升级失败。
4. 配套工具链:密钥生成、镜像签名加密工具,也支持对接外部 HSM 签名服务器,满足量产密钥管理需求。
二、学习中遇到的疑问 1. Build Actions 配置容易出错,Boot 工程、App 工程预编译、后处理脚本要配套,容易遗漏配置。 2. 不同升级模式怎么选:Flash 空间紧张选什么模式、断电容错能力怎么权衡,需要结合产品硬件资源做取舍。 三、实践感悟0 z. ~ w7 ~% m) K% Z. ]- l 普通 IAP 升级只有简单拷贝跳转,没有校验保护,很容易被篡改固件。MCUBoot 完整覆盖镜像校验、加密、防回滚、断电保护,对物联网设备安全非常实用。课程从原理、内存布局、工具链到量产部署完整串起来,对做安全 OTA 开发很有参考价值。 v) r0 h7 Z8 I7 j# b |
《STM32CubeMX2 实战课程》学习笔记#4-课程03.STM32CubeMX2开发GPIO Toggle CMake工程并使用STM32CubeIDE for VS Code打开
《STM32CubeMX2 实战课程》学习笔记#3--课程2:STM32CubeMX2获取开发包和例程
《STM32CubeMX2 实战课程》学习笔记#2--课程4:STM32CubeMX和STM32CubeMX2官方中文入门教程
收到活动奖品
《MCUBoot 课程》学习笔记 + 安全启动与固件升级学习总结
《MCUBoot 课程》学习笔记 + 物联网设备固件安全落地心得
《MCUBoot 课程》学习笔记 + 物联网设备固件安全落地心得
ST《芯说芯语》|人形机器人一站式芯片解决方案深度分享
CRA安全月系列直播 | 9月1日-15日每周二
有奖直播 | STM32C5 & STM32Cube生态系统更新:开启高性价比开发新体验
微信公众号
手机版