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_baseoption 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
--rw_baseoptions to create this type of image.
- Type 3
Two regions in load view, four non-contiguous regions in execution view. Use the
--splitoptions 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_baseis 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
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
You can also create simple images with scatter files.