Types of simple image
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.