As I know basic difference between bin and elf that
Bin file contain only bit or bytes of data and you need to give address of memory when you load it in memory,
while in case of elf it have symbol look-ups and relocatable table, so no need to give address when you program it.
Now see attached image. I am using LPCexpresso to program elf file in device. if you not give base address then it will take 0x00000000 by default. Now i first programme bootloader.elf
and then main.elf
. in both case I am not giving base address.
Now my question is if I am not giving address then how elf
file decide to program correct location and after programming one image if I programme another image then isn't it overwrite first one? (because in both case we haven't give address and by default it 0x00000000)