EDK II Platform là gì?

Quicknote giải thích platform trong EDK II.

3 phút đọc
Đọc bằng Tiếng Việt English 日本語
EDK II Terms cover

Trong EDK II, Platform là cấu hình firmware cụ thể cho một board/máy/sản phẩm. Nó gom package, module, library instance, PCD, flash layout và policy thành một firmware image có thể build/flash.

Nếu package là “bộ linh kiện”, thì platform là “thiết kế hoàn chỉnh” chọn linh kiện nào, cấu hình ra sao và đóng vào ROM thế nào.

Một platform thường có

Platform/MyBoard/
├─ MyBoard.dsc        # build policy: module/library/PCD
├─ MyBoard.fdf        # flash/FV layout
├─ Include/
├─ Library/
├─ Drivers/
└─ BoardConfig/

Platform quyết định những gì?

Mục Giá trị Ghi chú
Module set Driver/app nào được build Thông qua DSC [Components].
Library policy Dùng implementation nào Ví dụ DebugLib serial hay null.
PCD policy Feature/config nào bật tắt Giống build option theo board.
Flash layout FV/FD/NVRAM đặt ở đâu Thông qua FDF.
Boot policy BDS/boot option/default variable Liên quan BootOrder, Boot####, Secure Boot...

Một ví dụ thực tế

Cùng một DXE driver có thể được dùng ở hai platform:

Board A: PcdEnableVerboseLog = TRUE, DebugLib = SerialPort
Board B: PcdEnableVerboseLog = FALSE, DebugLib = Null

Source driver không đổi, nhưng hành vi log khác nhau vì platform DSC khác nhau.

Platform và lỗi “trên board A chạy, board B không chạy”

Đây là lỗi rất thực tế. Khi cùng module chạy trên platform này nhưng fail trên platform khác, đừng vội nghi code. Hãy so sánh:

  • DSC: module có được build ở cả hai platform không?
  • Library mapping: có dùng cùng library instance không?
  • PCD: policy có bị override khác không?
  • FDF: module có nằm trong cùng FV không?
  • NVRAM/default variable: boot policy có khác không?
01 Source

Package/module chung

Code có thể dùng lại.

02 DSC

Build policy

Chọn module, library, PCD.

03 FDF

Image layout

Đóng FV/FD/NVRAM.

04 Board

Firmware chạy trên máy thật

Policy trở thành hành vi thực tế.

Platform là nơi biến source chung thành firmware cụ thể cho từng board.

Checklist khi port module sang platform khác

Ghi nhớ nhanh

EDK II Platform là nơi mọi thứ hội tụ: source, build config, flash layout và policy. Khi lỗi chỉ xảy ra trên một board, hãy đọc platform DSC/FDF/PCD như đọc schematic của firmware.

Bài liên quan

Nguồn tham khảo public

Thấy nội dung này hữu ích?

Lưu lại hoặc chia sẻ cho người cũng đang học firmware, BIOS/UEFI và embedded systems.

Nội dung liên quan

Một số bài viết, ghi chú hoặc project có liên quan đến nội dung bạn vừa đọc.

Biến note thành bài viết hoàn chỉnh

Notes là nơi ghi nhanh khái niệm.