This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TM4C123GH6PM: After compilation, where is the executable file that gets downloaded to the microcontroller?

Part Number: TM4C123GH6PM
Other Parts Discussed in Thread: EK-TM4C123GXL

I am an EE student taking an embedded systems class.  I am using Keil Version 4 to compile programs for the TI Tiva TM4C123GH6PM (Launchpad eval kit EK-TM4C123GXL) .  After I compile my code where is the program image put?  I want to use a hex editor and look inside the file.  Yes, I know it's a binary and so I won't see much, but I still want to look around.  I also would like to know if the compiled code is structured according to the ELF file format?  If not what file format does the compiled code conform to?  Is the .o object file the executable code?  Is that what gets downloaded to the microcontroller? 

I'm trying to understand the structure of the code in it's compiled state and as it sits in memory inside the processor's memory.  Is that the object file that is generated by the compiler exactly as it is in the processors memory?

Be as detailed as you want.  I am an EE student and have taken courses in digital logic, numerical methods, C, signal & systems, DSP, etc so don't be afraid to get technical.  I want to know all the nitty-gritty details. Or please refer me to a technical reference that would answer these questions.

  

  • What does your compiler documentation say? It should have an entire section devoted to the linker and locator.

    Robert
  • Sorry, I have not used the Keil compiler. I know with TI tools the default name of the linked ELF file is <your_project_name>.out. It is in a sub-directory named after the build configuration, such as "debug\project.out". I think the ".o" files are the object files created from each C file. That is object files that have not yet been linked.