Debug Support for Unified EFI Bootloader


The embedded tools company


Debug Support for Unified EFI Bootloader
  ハイライト
ローダブル・エクステンションによるサポート
全てのUEFIフェーズのデバッグに対応
UEFIフェーズ毎にカスタマイズされた画面表示
「デバッグギャップ」のないコンティニュアスソリューション
リセットベクタからデバッグ
動的にロードされたドライバをエントリポイントからデバッグ
サポートチップ Intel x86/x64, Cortex-A
 
  はじめに
Intel x86/x64、Cortex-A用TRACE32 JTAG デバッガのローダブル・エクステンションにより、UEFI BIOSシステムの包括的なデバッグが可能となります。この機能を利用することで全てのUEFIフェーズおよびコンポーネントの開発を容易に行うことができ、リセットベクタ直後からデバッグを開始しOSに引き渡すまで、全パーツ、ドライバのデバッグをサポートします。必要に応じてOSもデバッグすることができます。


Link Support
テクニカルサポート
Supported UEFI versions




 
TOP

サポートされているUEFIのバージョン


InsydeH2O for Atom™/x86/x64

  • 32-bit: version 03.61.18 on OakTrail (Atom Z6xx)
  • 64-bit: version 03.72.51 on SabinoCanyon (Ivy Bridge Dual)

Atom™/x86用Intel BLDK

  • Intel BLDK Core 2.x

TianoCore EDK II for ARM and x86

  • sourceforge svn trunk 2011
 
TOP

はじめに


ユニファイド・エクステンシブル・ファームウェア・インターフェース(UEFI)は、従来のPC BIOSに代わる新しいシステムインターフェースです。システムのリセットや起動に加えて、OSの選択とブート処理を行います。標準BIOSとは対照的に、UEFIはドライバを動的にロードし、起動することができます。これらのドライバのOSへのインストールは不要で、ブート処理後に即座に使用することができます。

UEFIはシステムのブート処理を行う間、4つの異なるフェーズを通ります。
  • Security:CPUおよびシステムの検証
  • Pre-EFI Initialization Environment:CPU、チップセット、RAMを含むマザーボードの設定、初期化
  • Driver Execution Environment: システムに必要なすべてのドライバをロード、設定、起動
  • Boot Device Selection:OSの選択、OSローダのロード、起動

TRACE32のエクステンション機能は、特殊ウィンドウ、機能、予め用意されたスクリプトを通して、UEFI BIOSを実装するためのデバッグをサポートします。TRACE32はマルチコア環境を認識し、SMPシステム上でもUEFIデバッグが可能です。  
TOP

リセットベクタからデバッグ


TRACE32は、リセットベクタからチップのデバッグを開始することができる、JTAGベースのデバッグツールです。起動の最初のステップのウォークスルーが可能でFLASHのトラブル、リセットの振る舞いにおける不具合を検出した後、Securityフェーズに入ります。
 
TOP

Securityフェーズ(SEC)


Securityフェーズ内では、全ての検証プロセスのチェックと正しいロードを保証するためマイクロコードテーブルの検査が行われます。Securityフェーズが正常に完了するとPre-EFI Initializationフェーズが開始します。


Debugging SEC (here: the code for x86 microcode update)


List of all available microcodes
 
TOP

Pre-EFI Initializationフェーズ(PEI)


TRACE32を使って、PEIコアおよびロードされた全てのPEIモジュールをデバッグすることができます。専用の表示ウィンドウが用意されており、ファームウェアのボリュームが表示、および各々の詳細を見ることができます。さらに、各モジュールの依存性をボリューム内でチェックできます。生成されたハンドオフブロック(HOB)も表示されます。 TRACE32は、PEIモジュールのデバッグのための特別機能を提供します。まず、すべてのPEIモジュールと、そのアドレスおよび開発ファイルを表示するウィンドウが表示されます。何れのPEIモジュールも指定することが可能で、TRACE32はモジュールがロードされるのを待ち、エントリポイントでキャッチします。


ファームウェアボリュームの表示


ファームウェアボリュームの詳細表示


ハンドオフブロックの表示


Pre-EFI Initialization フェーズモジュールの一覧
 
TOP

Driver Execution Environment (DXE)


Pre-EFI Initializationフェーズからドライバ実行環境フェーズに切り替わると、DXEコアとDXEドライバで同様の機能が使用可能となります。HOB、PEIフェーズからのファームウェアのボリューム表示に加えて、TRACE32はDXE設定テーブルを表示します。DXEドライバがロードされ、動的に起動されます。ウィンドウが表示され、既にシステムにロードされたドライバを表示します。ドライバをデバッグするには、ドライバ名を指定します。デバッガはドライバがロードされ、起動するのを待ちます。開発者は、PEIモジュールと同様にエントリポイントからデバッグすることができます。


DXE設定テーブル


ロードされたDXEドライバの一覧
 
TOP

ブートデバイス選択 (BDS)


Driver Execution Environmentフェーズは、Boot Device Selectionフェーズに制御を渡します。BIOSのこの部分もTRACE32でデバッグすることができます。ユーザはデバイスリストをチェックし、レガシーBIOSコールをシングルステップ実行で通過し、ブートデバイスのユーザ選択を監視、そしてOSの引き渡しフェーズにまで入り込むことができます。
 
TOP

オペレーティングシステムローダ


ブートデバイス選択フェーズからOSローダに制御が移行するとUEFIは完了します。しかしながら、デバッグが完了していない場合もあります。TRACE32は、例えばOS固有のMMUを初期化して有効にするときなど、OSローダおよびブートフェーズを通してデバッグをアシストします。デバッガは、Linux、QNX、Windows CEなどに対応した優れたターゲットOS認識機能を提供します。これにより、開発者は、これらのカーネル、ドライバ、アプリケーションのデバッグが可能となります。
 
TOP

要約


TRACE32は各フェーズをサポートするのでチップのデバッグに使用することで、開発者はUEFI BIOSを簡単にデバッグすることができます。リセットベクタからデバッグを開始し、続けてOSおよびOSのアプリケーションまでデバッグします。「デバッグギャップ」のない、コンティニュアスソリューションが誕生したのです。




Copyright © 2017 Lauterbach Japan, Ltd., Kouhoku-ku, Nisso 16th Building, Yokohama-shi, Japan 222-0033  Impressum
The information presented is intended to give overview information only.
Changes and technical enhancements or modifications can be made without notice.
Last generated/modified: 28-Mar-2017