We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi,
I am using Keil to load an executable .elf image to Cortex m33 based device. The .elf image is generated outside Keil using makefile, so keil is used only to load this image to sram. This .elf image contains debug symbols and paths to source code. this .elf image is the result of the following process: I built library with debug information included using option -g and O0 optimization Then I build another project that use this Library which is linked sttaticly to this project and i got this .elf image finally i use Keil to load this elf image to my device through the .ini file. the problem is when debugging i can debug the source code of the second project but I can not step through the library source code the only that I can do is stepping through the disassembly of this librray no more i tried to explicitly specifying the path of this library to keil by using the command SEt SRC = Path but it didn't work. Do you have an idea what could be wrong here?
Many thanks.
Probably got too much abstraction there and the linker is stripping information, or the debugger can't use the forms of debug data provided. You'd need to review the content/structure of the final .ELF file to establish what's in there.
If you really need source level single step debugging to understand what's happening in your own code, you're going to have to change the build paradigm so useable debug information is not lost.
Disassemble the .ELF with FROMELF and play along with the listing.