|Home > Image Structure and Generation > The structure of an Arm ELF image > Load view and execution view of an image|
Image regions are placed in the system memory map at load time. The location of the regions in memory might change during execution.
Before you can execute the image, you might have to move some of its regions to their execution addresses and create the ZI output sections. For example, initialized RW data might have to be copied from its load address in ROM to its execution address in RAM.
The memory map of an image has the following distinct views:
Describes each image region and section in terms of the address where it is located when the image is loaded into memory, that is, the location before image execution starts.
Describes each image region and section in terms of the address where it is located during image execution.
The following figure shows these views for an image without an execute-only (XO) section:
The following figure shows load and execution views for an image with an XO section:
The following table compares the load and execution views:
Table 3-1 Comparing load and execution views
|Load address||The address where a section or region is loaded into memory before the image containing it starts executing. The load address of a section or a non-root region can differ from its execution address.||Execution address||The address where a section or region is located while the image containing it is being executed.|
|Load region||A load region describes the layout of a contiguous chunk of memory in load address space.||Execution region||An execution region describes the layout of a contiguous chunk of memory in execution address space.|