The scatter-loading mechanism enables you to specify the memory map of an image to the linker using a description in a text file. Scatter-loading gives you complete control over the grouping and placement of image components.
You can use scatter-loading to create simple images, but it is generally only used for images that have a complex memory map. That is, where multiple memory regions are scattered in the memory map at load and execution time.
An image memory map is made up of regions and output sections. Every region in the memory map can have a different load and execution address.
To construct the memory map of an image, the linker must have:
Grouping information that describes how input sections are grouped into output sections and regions.
Placement information that describes the addresses where regions are to be located in the memory maps.
When the linker creates an image using a scatter file, it creates some region-related symbols. The linker creates these special symbols only if your code references them.