系统固件架构与开发模型解析
1. Slim Bootloader 配置与架构
1.1 板级配置
Slim Bootloader 利用配置元素管理板级差异,配置元素分为静态配置和动态配置。
- 静态配置 :在构建时确定,用于控制某些选项是否包含在最终的引导加载程序映像中。一旦配置完成,除非重新构建映像,否则无法更改。它有助于控制映像大小,因为可以轻松去除未使用的功能。例如,在 BootLoader.py 中定义了许多常见的静态配置选项,并提供了默认值,平台可以在其 BoarcConfig.py 中覆盖这些默认值。
- 动态配置 :允许在引导时根据特定条件启用或禁用某些配置选项,使相同的代码能够动态适应当前的执行环境。Slim Bootloader 采用 YAML 文件格式描述动态平台配置,顶层 YAML 文件可以包含子 YAML 文件,每个配置集在 YAML 文件中都有一个唯一的配置标签 ID。为了支持单个引导加载程序映像中的多个板卡,引入了 DLT 文件来描述特定板卡的配置差异。
1.2 配置流程
配置 YAML 和 DLT 文件由工具解析,生成配置 C 头文件和配置二进制 blob,它们将与 Slim Bootloader 源代码一起编译,创建最终的闪存映像。为方便用户,Slim Bootloader 提供了 GUI Python 脚本 ConfigEditor 来查看和修改平台配置选项。修改后的配置二进制 blob 可以保存回 DLT 文件,或用作创建配置胶囊映像的
超级会员免费看
订阅专栏 解锁全文
1682

被折叠的 条评论
为什么被折叠?



