The linker script
Linker scripts play an important role in the build process, especially in defining the memory layout and allocating various memory sections used by the firmware. They specify where different sections of the firmware, such as code, data, and uninitialized data, are to be placed in the microcontroller’s memory.
While linker scripts set up the structure and boundaries for these sections, it is important to note that they do not populate these sections with data. The actual process of initializing data with specific values is handled by the startup code, which runs when the microcontroller boots up. We provide these linker scripts to the linker to effectively guide the organization of memory during the linking phase.
Figure 4.2: The build process with the linker highlighted
Understanding the linking process
In the build process, the linking of object files is an important step that transforms individual pieces of code into functional...