File Sections (固件段)
-
EFI_FFS_FILE_HEADER结束后即 为 Section Header
![](https://img-blog.csdnimg.cn/img_convert/91ad24904149b42726bc9a64d9b7fade.png)
如果 FFS_FILE TYPE 为 RAW ,则不需要定义 Section Header 例如 NVRAM;如下图0x78-0x8F 为 EFI_FFS_FILE_HEADER; 因为定义为 RAW ,没有 Section Header 定义, 0x90 开始即为 NVRAM data start offset。
![](https://img-blog.csdnimg.cn/img_convert/24f257526e13ef4fdbad6f4dd30d8a87.png)
下图为有SEC Header 部分,0x19 表示为段 type 是EFI_SECTION_RAW
![](https://img-blog.csdnimg.cn/img_convert/35ffbd37d2efb6cb9a01846bf56f8e1d.png)
-
如果FFS type 如果为 EFI_FV_FILETYPE_FREEFORM,应用中我们会用settion type--- EFI_SECTION_FREEFORM_SUBTYPE_GUID 来搭配它使用,从而定义file 唯一性
![](https://img-blog.csdnimg.cn/img_convert/bb5c3c6bf9a701949ec8920b96a6dfb9.png)
3. FFS_FILE的组成 单元 Statement file 以及 INF file 中都可以定义 section type
![](https://img-blog.csdnimg.cn/img_convert/afc9d38d38d6b5e7d28b21ad8e8cb378.png)
FDF:
FDF ( Flash Description File )用于定义 Image 的内容和 布局信息 ,生成固件 .FD 烧到Flash中 GenFds 用于生成 FD
GenFW->GenSEC ->GenFFS->GenFV->GenFds 生成 FD
![](https://img-blog.csdnimg.cn/img_convert/defd599621a0241f2d7fd92997de5e45.png)