Everything

-SPLIT_SECTION [V1.12 or later]


This option enables automatic allocation of a section for each module.

[Specification format]

-SPLIT_SECTION

 

-

Interpretation when omitted

Automatic section allocation is performed in units of combined sections.

[Detailed description]

-

When SPLIT_SECTION is specified, sections separated by a module are separately allocated to available areas in the device.

When sections are automatically allocated without SPLIT_SECTION specified, the same sections of modules to be linked combine as one section, and then the combined section is allocated to an available area in the device.

 

Suppose that file1.obj and file2.obj each contain text_section and data_section as shown below.

 

 

When the device is configured with ROM size 3 K, RAM-A size 1.5 K, and RAM-B size 1.5 K, automatic allocation of sections by using the auto_section_layout option is as follows.

The ROM size (3 K) is sufficient enough to allocate text_section of both file1.obj and file2.obj. The RAM is split to RAM-A (size 1.5 K) and RAM-B (size 1.5 K), and data_section (size 2 K) of the combined file1.obj and file2.obj cannot be allocated, as shown below.

 

When SPLIT_SECTION is specified, data_section (size 1 K) of file1.obj is allocated to RAM-A (size 1.5 K), and then data_section (size 1 K) of file2.obj is allocated to RAM-B (size 1.5 K), as shown below.

 

 

A section for each module has the following section name.

$sss_part??

sss : Section name before the split

?? : 01 to 99

[Example of use]

-

To allocate sections for each module, describe as:

>rlink a.obj b.obj -device=dr5f100pj.dvf -auto_section_layout -split_section

[Remark]

-

If the -form={object|relocate|library} or -strip option is specified, this option will be invalid.

-

If the -auto_section_layout option is not specified, this option will be invalid.