Types of simple image
A simple image consists of a number of input sections of type RO, RW, XO, and ZI. The linker collates the input sections to form the RO, RW, XO, and ZI output sections.
The types of simple image the linker can create depends on how the output sections are arranged within load and execution regions. The types are:
- Type 1
-
One region in load view, four contiguous regions in execution view. Use the
--ro_base
option to create this type of image. Any XO sections are placed in an ER_XO region at the address specified by--ro_base
, with the ER_RO region immediately following the ER_XO region. - Type 2
-
One region in load view, four non-contiguous regions in execution view. Use the
--ro_base
and--rw_base
options to create this type of image. - Type 3
-
Two regions in load view, four non-contiguous regions in execution view. Use the
--ro_base
,--rw_base
, and--split
options to create this type of image.
For all the simple image types when --xo_base
is not specified:
-
If any XO sections are present, the first execution region contains the XO output section. The address specified by
--ro_base
is used as the base address of this output section. -
The second execution region contains the RO output section. This output section immediately follows an XO output.
-
The third execution region contains the RW output section, if present.
-
The fourth execution region contains the ZI output section, if present.
These execution regions are referred to as, XO, RO, RW, and ZI execution regions.
When you specify --xo_base
, then XO sections are placed in a separate load
and execution region.
However, you can also use the --rosplit
option for a Type 3 image. This
option splits the default load region into two RO output sections, one for code and one for
data.
You can also use the --zi_base
command-line option to specify the base
address of a ZI execution region for Type 1 and Type 2 images. This option is ignored if you
also use the --split
command-line option that is required for Type 3
images.
You can also create simple images with scatter files.