You must specify at least one initial entry point for a program otherwise the linker produces a warning. Not every source file has to have an entry point. Multiple entry points in a single source file are not permitted.
For 32-bit embedded applications with ROM at zero use
0x0, or optionally
0xFFFF0000 for CPUs
that are using high vectors.
High vectors are not supported in AArch64 state.
The initial entry point must meet the following conditions:
The image entry point must always lie within an execution region.
The execution region must not overlay another execution region, and must be a root execution region (the load address is the same as the execution address).
If you do not use the
--entry option to specify
the initial entry point then:
If the input objects contain only one entry point set by the
ENTRYdirective, the linker uses that entry point as the initial entry point for the image.
The linker generates an image that does not contain an initial entry point when either:
More than one entry point has been specified by using the
No entry point has been specified by using the