关于分区头文件
“Partition Header”(分区头文件)为阵列结构,其中包含每个分区的相关信息。每个分区头文件表均由启动加载程序进行解析。该表中将包含分区大小、闪存中的地址、RAM 中的加载地址、已加密/已签名等信息。针对每个分区(包含 FSBL)均存在一个此类结构。表中最后一个结构将全部标记 NULL
值(校验和除外)。下表显示了有关
Zynq®
UltraScale+™ MPSoC 的偏移、名称和注释。
偏移 | 名称 | 注释 |
---|---|---|
0x0 | 已加密的分区数据字长 | 已加密的分区数据长度。 |
0x04 | 未加密的数据字长 | 未加密的数据长度。 |
0x08 | 分区总字长(包括身份验证证书)。请参阅 身份验证证书。 | 加密 + 填充 + 扩展 + 身份验证的总长。 |
0x0C | 下一个分区头文件偏移 | 下一个分区头文件的位置(字偏移)。 |
0x10 | 目标执行地址 LO
|
加载后此分区的低位 32 位可执行地址。 |
0x14 | 目标执行地址 HI
|
加载后此分区的高位 32 位可执行地址。 |
0x18 | 目标加载地址 LO
|
此分区要加载到的 RAM 地址的低位 32 位部分。 |
0x1C | 目标加载地址 HI
|
此分区要加载到的 RAM 地址的高位 32 位部分。 |
0x20 | 实际分区字偏移 | 与启动镜像开始位置相关的分区数据的位置。(字偏移) |
0x24 | 属性 | 请参阅 Zynq UltraScale+ MPSoC 分区属性位 |
0x28 | 节数 | 与该属性关联的节数。 |
0x2C | 校验和字偏移 | 启动镜像中校验和表的位置。(字偏移) |
0x30 | 镜像头文件字偏移 | 启动镜像中对应镜像头文件的位置。(字偏移) |
0x34 | AC 偏移 | 启动镜像中对应身份验证证书(如果存在)的位置(字偏移) |
0x38 | 分区编号/ID | 分区 ID。 |
0x3C | 头文件校验和 | “分区头文件”中先前字数总和。 |