1. FSP6.0中MCUboot配置的变革解析
在嵌入式系统开发中,bootloader的配置一直是关键环节。FSP(Flexible Software Package)6.0.0版本对MCUboot的配置方式进行了重大调整,这直接影响了开发者对bootloader和应用程序内存布局的管理方式。
与FSP 5.9.0及更早版本相比,最显著的变化是移除了通过MCUboot堆栈"闪存布局"属性配置扇区地址分配的功能。这意味着开发者不能再像以前那样简单地通过图形化界面设置MCUboot、主区域、Scratch区域等的地址分配。取而代之的是,现在必须通过创建解决方案项目来明确完成链接器配置。
这种变化背后的技术考量是:
- 更精确的内存控制:直接通过链接器配置可以提供更精细的内存布局控制
- 更好的可移植性:解决方案项目的方式更符合现代嵌入式开发流程
- 更高的灵活性:开发者可以针对不同硬件配置进行定制化设置
重要提示:FSP 6.0.0中,所有内存布局配置都必须通过解决方案项目完成,不再支持早期版本中的图形化配置方式。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 非TrustZone环境下的配置流程
2.1 基础项目创建
首先需要搭建一个基于MCUboot的项目。以RA6M5为例(其他RA MCU系列流程类似),具体步骤如下:
- 在开发环境中创建新项目
- 选择MCUboot作为bootloader解决方案
- 配置基本参数,包括:
- 加密方式(如需要)
- 签名算法
- 升级策略
这个初始项目将作为后续配置的基础。值得注意的是,RA6M5是Cortex-M33内核的MCU,其内存映射和安全性考虑与非TrustZone配置有所不同,需要特别注意。
2.2 主应用程序配置
完成基础项目创建后,需要将其设置为主应用程序:
- 在项目属性中指定其为"主应用"
- 配置镜像版本号
- 设置签名密钥(如果启用安全启动)
- 构建项目
构建过程会自动生成引导加载程序SmartBundle(.sbd文件)并附加到主应用程序上。这个.sbd文件包含了bootloader所需的元数据,是后续升级过程的关键。
2.3 解决方案项目创建
这是FSP6.0中最重要的变化点。创建FSP解决方案项目(高级版)的步骤如下:
