Compiling and linking are the two major steps of the application executable building process. Linker scripts that accepts linker command language files perform the linking. The linker script describes memory layout of the target machine and location of program sections in memory.
Note: Only standalone applications need linker script. Linux OS helps managing
the memory allocation, and thus it does not need a linker script.
The Vitis software platform provides a linker script generator to simplify the task of creating a linker script for GCC. The linker script generator in the Vitis IDE examines the memory nodes in the System Device Tree (SDT), to determine the available memory sections.
Note:
- For multiprocessor systems, each processor runs a different ELF file, and each ELF file requires its own linker script. Ensure that the two ELF files do not overlap in memory.
- The default linker always points to the DDR memory address available in memory. If you are creating an application under a given hardware/domain project, the memory overlaps for the applications.