建置進口
編譯從 HpPlatformPkg/PlatformPkg.dsc 開始;DEC 宣告 GUID/PCD;FDF 描述 flash 佈局;BLD 放 APCB/PSP/ROM 腳本。
大綱
HpPlatformPkg/PlatformPkg.dsc:PLATFORM_NAME、FLASH_DEFINITION、DEFINE、大量!include與 Components。HpPlatformPkg/HpPlatformPkg.dec:package GUID、Include 路徑、PCD(VBIOS GUID、PCIe base、Cirrus dAMP、PspDynamicRegion、feature flags)。HpPlatformPkg/BuildOptions.dsc:編譯巨集,含DSC_MULTI_PROJECT_ID_SET(X53、Z2_MINI=12453、以及 CRB/NB 等 ID)。PlatformPkg.fdf、FlashMap_32M.fdf、PlatformRecovery.fdf。PostCodeForPlatform_0F.dsc:平台 post code 區段 0x0F。HpPlatformPkg/BLD/:ApcbBuild.bat、PspBuild.bat、BuildRomF.bat、PspCloneTool/。
詳細解釋
DSC 怎麼把世界拼起來
PlatformPkg.dsc 先鎖死四個專案 DEFINE(註解寫 DO NOT change,由 DefineMod.py 更新),再定義 AMD 平台常數:HP_PLATFORM=AMD、HP_SIO_PACKAGE=HpNuvoton324Pkg、HP_DESKTOP_PACKAGE=HpDtPkg。接著 include:
- HpCore / HpFeature 的 Def 與 Config
- Nuvoton / USB-C Def
HpFeaturePlatformConfig.dsc(轉去目前 SKU 的 HpFeature/*.dsc)$(HP_PROJECT_PATH)/Config/*.dsc(Platform/Chipset/ConDev/Sio/Capsule/HpDtPkg/PlatformPkgConfig)- 各套件 PostCode DSC
LibraryClasses 會把本包的 hook 指到 HpPlatformPkg/Library/... 或 MultiProject 底下的實作。Components 列出要編進 FV 的 INF(含條件編譯)。
FDF 與 32M 映像
工作站映像走 32M flash map;X53Mint 的 BLD/BIOSImageDirectory32M_LPDDR5_FP11_Z2_MINI.xml 描述 LPDDR5 FP11 佈局。PSP firmware 由 PspCloneTool / PspBuild 在 pre-build 處理。