The <logical_group_list> section of
the XML link information file is similar to the output section listing in a
linker-generated map file. However, the XML link information file contains a
specification of GROUP and UNION output sections, which are not represented in a map
file. There are several kinds of list items that can occur in a
<logical_group_list>:
- The <logical_group> is
the specification of a section or GROUP that contains a list of object components or
logical group members. Each <logical_group> element is given an id so that it
may be referenced from other elements. Each <logical_group> is a container
element enclosing the following elements:
- The <name> element
names the logical group (string).
- The <load_address>
element specifies the load-time address of the logical group (constant).
- The <run_address>
element specifies the run-time address of the logical group (constant).
- The <size> element
specifies the size of the logical group (constant).
- The
<output_section_group> specifies whether the logical group is a
GROUP of output sections (string). While "false" is a valid value, the linker
emits this element only if it is "true" for this logical group.
- The <contents>
element lists elements contained in this logical group (container). These
elements refer to each of the member objects contained in this logical group:
- The
<object_component_ref> is an object component that is
contained in this logical group (reference).
- The
<logical_group_ref> is a logical group that is contained
in this logical group (reference).
- The <overlay> is a
special kind of logical group that represents a UNION, or a set of objects that share
the same memory space (container). Each <overlay> element is given an id so
that it may be referenced from other elements (like from an <allocated_space>
element in the placement map). Each <overlay> contains the following elements:
- The <name> element
names the overlay (string).
- The <run_address>
element specifies the run-time address of overlay (constant).
- The <size> element
specifies the size of logical group (constant).
- The <contents>
container element lists elements contained in this overlay. These elements
refer to each of the member objects contained in this logical group:
- The
<object_component_ref> is an object component that is
contained in this logical group (reference).
- The
<logical_group_ref> is a logical group that is contained
in this logical group (reference).
- The <split_section> is
another special kind of logical group that represents a collection of logical groups
that is split among multiple memory areas. Each <split_section> element is
given an id so that it may be referenced from other elements. The id consists of the
following elements.
- The <name> element
names the split section (string).
- The <contents>
container element lists elements contained in this split section. The
<logical_group_ref> elements refer to each of the member objects
contained in this split section, and each element referenced is a logical group
that is contained in this split section (reference).
Logical Group List
for the fl-4 Input
File
<logical_group_list>
...
<logical_group id="lg-7">
<name>.text</name>
<output_section_group>true</output_section_group>
<load_address>0x20</load_address>
<run_address>0x20</run_address>
<size>0xb240</size>
<contents>
<object_component_ref idref="oc-34"/>
<object_component_ref idref="oc-108"/>
<object_component_ref idref="oc-e2"/>
...
</contents>
</logical_group>
...
<overlay id="lg-b">
<name>UNION_1</name>
<run_address>0xb600</run_address>
<size>0xc0</size>
<contents>
<object_component_ref idref="oc-45"/>
<logical_group_ref idref="lg-8"/>
</contents>
</overlay>
...
<split_section id="lg-12">
<name>.task_scn</name>
<size>0x120</size>
<contents>
<logical_group_ref idref="lg-10"/>
<logical_group_ref idref="lg-11"/>
</contents>
</split_section>
...
</logical_group_list>