It is the script given to the linker in order to specify the memory layout and
to initialize the various memory sections used by the firmware.
The linker script is responsible for making sure various portions of the firmware are in their proper place and also for associating meaningful labels with specific regions of memory used by the startup code.