Note: SCT 2.1 U201 Traning

keypoint:

1. Build Process sequence

Phmake.exe –> SctProj.exe –> nmake –> ProcessDsc.exe –> nmake modules

2.   Module in Project.def

       Module       Name, VerNum, [Parameter]       // [Parameter] is an option

       [Parameter] will  generation a “SCT_PATH_Parameter”, see temp\project.[env|inc|h]

3. SctProj.exe always not to parse “Projects”directory, so module cannot place under “Projects”fold.

4. project.def will pull module information, module will collection Dxe/Pei/Lib information

5. Module should have three parts

      Fold: “ModuleName/VerNum” & “ModuleName/VerNum/Build”,
      File: module.def
      Files Pei.dsc/Dxe.dsc/Library.dsc under “Build”fold

6. After module can to override before module setting
      Project.def has highest priority. others module order by in project.def sequence, last is high priority, first is lowest

7.  Building order, Libraray -> PEI –> DXE

8. All Hook Routine defined under “\Exec”
          ref. “\Platform", “\Boards" folds

9. PCA Debug
       Option EFI_SYMBOLIC_DEBUG, 1 for source code debugging
       Option SUPPORT_DEBUG, 1 for Debug Print output
       Dxe can to use Software breakpoint (due to DXE phase run on RAM), PEI/SMM/CSM cannot
       Due to PEI run on ROM (insert __debugbreak() into code)
       SMM will cannot location a correct address, move to SMRAM Segment, (insert __debugbreak() into code))
       CSM16 need insert “int 3”to assembly code

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

%d 位部落客按了讚: