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.
Tool/software: TI C/C++ Compiler
Hi,
My questions my look silly, so sorry in advance. Following are my questions.
a) Why Object files (a.out, COFF, ELF) are divided into logical sections like .text, .data, .bss etc. what is the reason behind it? why we need to have sections in Object files??
b) what was the need to all these file formats like if we had a.out format, why COFF format was developed, similarly ELF file format??? what factor forced the need of new FILE FORMAT???
c) How Microcontroller executes them, like if we have a.out file and we burn it to let say TMS320F2812 DSC flash, how will Microcontroller differentiate between different sections and how will it execute this a.out file?? what Microcontroller has to do with a.out headers that are usually required to create new process from Object file in PC.???
d) When an Object file is executed, how the addresses that linker assign to different sections/variable in Object file is satisfied in RAM e.g. if linker given addresses are from 0-to-MAX_SIZE, when this process is loaded into RAM by OS Loader at different pages frames not starting from location 0, then how this process expect addresses from 0-to-MAX_SIZE during execution?? is virtual address space or offset is used??
Rather then reply to your questions directly, I'll give you some related things to think about.
For an overview of object file formats used by TI tools, please the wiki article A Brief History of TI Object File Formats.
To see some code that works with the structures found in object files, take a look at the bootimage script in the cg_xml package.
Thanks and regards,
-George