系统固件设计与 LinuxBoot 实现解析
1. 系统固件详细实现
系统固件针对评估硬件有详细的实现方案,旨在让开发者理解底层硬件适用的驱动、协议和服务要求,同时考虑为终端用户提供开发高级功能(如音频和视频驱动、硬件诊断工具)的特性集。
1.1 启动操作阶段
系统固件的启动操作分为以下几个阶段:
- SEC(安全)阶段
- DXE(驱动执行环境)阶段
- BDS(启动设备选择)阶段
- TSL(临时系统加载)阶段
- RT(运行时)阶段
下面是这些阶段的 mermaid 流程图:
graph LR
A[SEC 阶段] --> B[DXE 阶段]
B --> C[BDS 阶段]
C --> D[TSL 阶段]
D --> E[RT 阶段]
1.2 SEC 阶段详情
SEC 阶段具有以下特点:
- 复位时 1GB 预初始化物理内存,范围从 DDR 银行 0x4000_0000 到 0x8000_0000。
- 预复位 SPI NOR 已映射到 DDR 银行。
- 复位向量映射在 0x4000_0000(使用监控代码修补)。
- SEC 模块未压缩打包,根据可用物理内存设置所需堆栈后,SEC 阶段将自行开始执行。
- 准备 HOB 列表。
- 初始化 UART 控制器以进行串行消息传输,串行控制台也用于早期调试。
超级会员免费看
订阅专栏 解锁全文
975

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



