13.07.2015 Views

pcp_reference_guide_v2.5 - Tasking

pcp_reference_guide_v2.5 - Tasking

pcp_reference_guide_v2.5 - Tasking

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Linker Script Language8−432. Define the mutual order of the sections in the group.By default, a group is unrestricted which means that the linker has totalfreedom to place the sections of the group in the address space.• The ordered keyword tells the linker to locate the sections in thesame order in the address space as they appear in the group (but notnecessarily adjacent).Suppose you have an ordered group that contains the sections ’A’, ’B’and ’C’. By default the linker places the sections in the address spacelike ’A’ − ’B’ − ’C’, where section ’A’ gets the lowest possible address.With direction=high_to_low in the section_layout spaceproperties, the linker places the sections in the address space like ’C’ −’B’ − ’A’, where section ’A’ gets the highest possible address.• The contiguous keyword tells the linker to locate the sections in thegroup in a single address range. Within a contiguous group the inputsections are located in arbitrary order, however the group occupies onecontiguous range of memory. Due to alignment of sections there canbe ’alignment gaps’ between the sections.When you define a group that is both ordered and contiguous, thisis called a sequential group. In a sequential group the linker placessections in the same order in the address space as they appear in thegroup and it occupies a contiguous range of memory.• The clustered keyword tells the linker to locate the sections in thegroup in a number of contiguous blocks. It tries to keep the number ofthese blocks to a minimum. If enough memory is available, the groupwill be located as if it was specified as contiguous. Otherwise, it getssplit into two or more blocks.If a contiguous or clustered group contains alignment gaps, the linkercan locate sections that are not part of the group in these gaps. Toprevent this, you can use the fill keyword. If the group is located inRAM, the gaps are treated as reserved (scratch) space. If the group islocated in ROM, the alignment gaps are filled with zeros by default.You can however change the fill pattern by specifying a bit pattern.The result of the expression, or list of expressions, is used as values towrite to memory, each in MAU.• The overlay keyword tells the linker to overlay the sections in thegroup. The linker places all sections in the address space using acontiguous range of addresses. (Thus an overlay group is automaticallyalso a contiguous group.) To overlay the sections, all sections in theoverlay group share the same run−time address.• • • • • • • •

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!