Real-Time Systems Development

The entry address for an executable file can be set in a number of different ways, as listed below, which can be confusing to the programmer. A similar situation exists when deciding how to locate the initial stack in an embedded system. The linker can build a stack segment, but this is of little value, because it does not actually initialize the stack pointer, it simply reserves space in the memory map.
ld command-line -e entrypoint option
Use of ENTRY(entrypoint)within the linker script
Relying on the start symbol
Default to the beginning of the .text section
Use the hardware reset to force entry at address 00000000