Debugging Debugging InsydeH2O UEFI BIOS with Lauterbach’s TRACE32
Both companies, Insyde Software and Lauterbach GmbH, work close together to make the BIOS and the debugger understand each other. The goal is to provide the best UEFI development environment and debugging solutions to BIOS developers.
The "Unified Extensible Firmware Interface" (UEFI) is the successor of the traditional PC BIOS. It manages the reset and startup of the system plus the selection and booting of an OS. In contrary to the standard BIOS, UEFI is capable of dynamically loading and starting drivers. Those drivers then do no longer need to be installed into the OS, instead they’re instantly available after boot.
UEFI runs through different phases while booting the system. Starting from a security phase, it runs into an initialization phase (PEI), which already loads some basic modules. The following “driver execution environment” (DXE) then is responsible to load dynamic drivers that are necessary to run this particular system. After this, the boot device selection (BDS) passes control to the appropriate OS.
Lauterbach’s new extension to TRACE32 now supports the debugging of UEFI BIOS implementations through all phases with special windows, functions and prepared scripts. TRACE32 is aware of multicore environments, allowing the UEFI debugging even on SMP systems. All features are just based on the symbol information, there’s no need for special debugging software or drivers on the target system.
Especially within the PEI and DXE phases, TRACE32 shows special windows with all created PEI modules or all loaded DXE drivers. Detailed analysis of the UEFI framework is possible, looking at contents of the firmware volumes, or dependencies of the modules. The debugger provides a special mechanism that allows starting debugging a PEI module, or a DXE driver right from its entry point, shortly after it is loaded. After this, debugging through the BDS, and subsequently into the starting OS is supported by the debugger.
Visit Insyde Software at www.insydesw.com
Visit Lauterbach at www.lauterbach.com