Flash Descriptorとは?
BIOS/UEFIおよびembedded firmware学習者向けにFlash Descriptorを説明するクイックノート。
Flash Descriptorは、対応platformでSPI flash layoutとaccess permissionを記述する領域である。
なぜ重要か
- firmwareがROM/flash imageとしてどのようにpackagingされるかを説明する。
- missing module、wrong FV placement、section layout問題のdebugに役立つ。
- build outputと実際にboard上で動くimageを結び付ける。
実例
例:DXE driverはcompileに成功しても、正しいFirmware Volumeに配置されていなければ実行されない。
クイックチェックリスト
覚えておくポイント
Flash Descriptorは、build outputと最終ROM image layoutを結び付けて理解する助けになる。
システムの流れに置く
Flash Descriptor は、単独の用語として暗記するよりも、firmware の流れの中に置くと理解しやすいです。誰が作り、誰が読み、値が間違ったときにどの症状として出るのかを意識すると、学習用のメモがそのまま debug のチェックポイントになります。
イメージしやすい例
firmware image は、firmware volume、file、section、dependency、entry point が重なった構造として見ると分かりやすいです。Flash Descriptor がずれると、定義した場所ではなく、dispatch、flash layout、driver discovery の段階で問題として現れることがあります。
実際のデバッグで見るポイント
Flash Descriptor は定義だけで覚えるより、具体的な flow に結びつけた方が使えます。誰が作るのか、誰が読むのか、RAM/NVRAM/flash/protocol のどこに存在するのか、間違ったときにユーザーにはどんな症状として見えるのかを確認します。
最初は少し遠回りに見えますが、BIOS/firmware を debug するときには、この見方が実際の手がかりになります。
関連ノート
公開参考資料
この記事は役に立ちましたか?
ファームウェア、BIOS/UEFI、組み込みシステムを学んでいる人に共有できます。
Biến note thành bài viết hoàn chỉnh
Notes là nơi ghi nhanh khái niệm.