Lauterbach’s TRACE32 Debugger tools for Intel′s x86 architecture now support InsydeH2O UEFI BIOS from Insyde Software. A new extension to Lauterbach’s JTAG debuggers allows comprehensive debugging of InsydeH2O systems with TRACE32. This new feature eases and supports the development of all UEFI phases and components. Debugging can be started right from the reset vector and all parts and drivers stepped through, up to the handover to the OS – or even into the OS if required.
Insyde Software and Lauterbach are working closely 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.
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.
Using TRACE32 to debug x86/Atom systems gives you the ability to debug your UEFI BIOS in a very comfortable way, supporting each of its phases. Start debugging right from the reset vector and continue debugging even into the OS and its applications. Now there′s a continuous solution without any debug gaps.
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 initialisation 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.