ashu wrote:
> Hi Hans,
> thanks so much for the information. So the ELF generated by the
> linker is still not ready for execution but atleast as far as the ARM
> specification is concerned, they called the linked elf executable.
The ARM CPUs I have come across have some sort of built-in bootloader
that interprets a certain format of data in flash. In its simplest form:
the program image is 0x12345 bytes, and starts at 0x23456. Such a thing
in flash is "executable" to the CPU. An ELF file is not executable for
the CPU alone, it needs some support programs to load.
> Here
> is what the ARM Linker utilities guide says "Output from a successful
> invocation of armlink is one of the following: � an executable image in
> ELF executable format ".
>
> In any case, my question is what is difference between, load view and
> execution view of the image?
The load (linking) view describes what's needed for linking (symbol
names, section names, possible debug information). The execution view
describes what's needed for execution (memory segment attributes, and
that's about all it describes unless you have an executable for an
operating system, where it also refers to shared libraries).
If you make a program to convert an ELF file into that "certain format
of data in flash", you'll probably read the execution view, just because
that's a little simpler.
Stefan