Software Archive
Read-only legacy content
17061 Discussions

load Quark BSP firmware symbols

Lee_H_Intel
Employee
921 Views

I am using a derivative of QuarkBSP on my GalileoGen2 board, a Flyswatter2 debugger, and OpenOCD 0.9.0 and Intel System Studio 2015 for Windows.  OpenOCD is running and ISS connects to the GalileoGen2, but I can't figure out how to get my firmware symbols loaded.  Does anyone have advice?

0 Kudos
7 Replies
Lee_H_Intel
Employee
921 Views

I found this https://software.intel.com/sites/default/files/managed/7e/ef/03_IntelSystemDebuggerOverview-2015.pdf

and this https://software.intel.com/en-us/articles/intel-system-studio-2014-uefi-bios-debugging

it appears "efi loadthis" is the command to use, just as ITP scripts had "loadthis".  Unfortunately the symbols won't load:

screenshot.001.png

0 Kudos
Sukruth_H_Intel
Employee
921 Views

Hi,

     I anticipate from the INFO line in the screenshot above that the symbol file (.PDB -- in case of windows based compilation) is not found at the path where SecCore.efi is present. Please check it once.

Also if you have the map file, then you can try loading the module directly using "LOADFROMMAP" command as shown below :-

eg: - EFI "LOADMODFROMMAP C:\uefi\SecCore.map SecCore.efi"

Please do let me know if you have any other queries.

Regards,
Sukruth H V

0 Kudos
Lee_H_Intel
Employee
921 Views

SecCore.pdb is present in C:\SSG\Research\lmhamel\MC.combo\Build\Repository\GalileoBoardPkg_B31EB40C-8AFC-409e-BC2B-72264A74311D_0.61\SecCore\SecCore\DEBUG_LOG\Ia32

EFI "LOADMODFROMMAP C:\uefi\SecCore.map SecCore.efi"  (changed path as appropriate) didn't give any output in the Console View.  I don't know if the command succeeded or failed.  I do know my Source Files view still shows nothing, and the Assembler view only shows x86 Assembly code.

0 Kudos
Kan_Hayashi
Employee
921 Views
Have you set right path to the symbol file on your host? Otherwise, it's not only problem with SecCore module, but with all modules. You may goto menu bar, click "Options" and choose "Source Directroies...". Then add rule.
0 Kudos
Lee_H_Intel
Employee
921 Views

Solution is to copy .efi file to same location as .pdb.
Error message should say: "PDB file found, but .efi file not found in same location".

Why does the code need the .efi file to be in same location as .pdb?  Could the code be fixed to not have this requirement?

0 Kudos
Kan_Hayashi
Employee
921 Views

As I replied at IPS -

It's not required to copy the .efi file into the same location as where the .pdb is located, if you created the rule I had provided from my original reply.
In other words, your "solution" (copying the .efi file into the folder where teh .pdb file is located) is not appropriate solution.

0 Kudos
Lee_H_Intel
Employee
921 Views

Your solution is correct for a normal build situation.  My solution, not "solution" to imply it's faulty, is the only solution for my build situation.

My suggested fix is to add this text so the user is given clear direction:

Debugger info:
ERROR: Could not locate debug symbols for file: SecCore.efi
INFO: Compile time file location: C:\SSG\Research\lmhamel\MC.combo\...\SecCore.efi

I browsed to the folder above and the .pdb file was there but not the .efi.
This is backwards from the INFO message, which says the .efi file is in the folder but implies it can't find the .pdb file from the ERROR message.

The solution is to add another INFO message that says
INFO: Check the folder to ensure the .efi and .pdb files are in the same location.

 

0 Kudos
Reply