Microchip Technology XC8 Standard Compiler (Workstation) SW006021-1 SW006021-1 ユーザーズマニュアル

製品コード
SW006021-1
ページ / 518
MPLAB
®
 XC8 C Compiler User’s Guide
DS52053B-page 258
 2012 Microchip Technology Inc.
6.4.9.3.9
Ovrld
A psect defined as ovrld will have the contribution from each module overlaid, rather 
than concatenated at link time. This flag in combination with the abs flag (see 
Section 6.4.9.3.1 “Abs”) defines a truly absolute psect; i.e., a psect within which any 
symbols defined are absolute.
6.4.9.3.10
Pure
The pure flag instructs the linker that this psect will not be modified at runtime and may 
therefore, for example, be placed in ROM. This flag is of limited usefulness since it 
depends on the linker and target system enforcing it.
6.4.9.3.11
Reloc
The reloc flag allows specification of a requirement for alignment of the psect on a 
particular boundary. For example the flag reloc=100h would specify that this psect 
must start on an address that is a multiple of 100h.
PIC18 instructions must be word aligned, so a reloc value of 2 must be used for any 
psect that contains executable code. All other sections, and all sections for all other 
devices, can use the default reloc value of 1.
6.4.9.3.12
Size
The size flag allows a maximum size to be specified for the psect, e.g., size=100h. 
This will be checked by the linker after psects have been combined from all modules.
6.4.9.3.13
Space
The space flag is used to differentiate areas of memory which have overlapping 
addresses, but which are distinct. Psects which are positioned in program memory and 
data memory have a different space value to indicate that the program space address 
0, for example, is a different location to the data memory address 0.
On all 8-bit PIC devices, program memory uses a space value of 0, and data space 
memory uses a space of 1.
Devices which have a banked data space do not use different space values to identify 
each bank. A full address which includes the bank number is used for objects in this 
space and so each location can be uniquely identified. For example a device with a 
bank size of 0x80 bytes will uses address 0 to 0x7F to represent objects in bank 0, and 
then addresses 0x80 to 0xFF to represent objects in bank 1, etc.
6.4.9.3.14
Split
This flag can be assigned 0 or 1, or not specified. When assigned 0, the psect will never 
be split by the assembly optimizer during optimizations. If assigned the value 1, the 
psect may be split if other psect attributes allow it and the psect is too large to fit in avail-
able memory. If this flag is not specified, then the splitability of this psect is based on 
whether the psect can be merged, see Section 6.4.9.3.8 “Merge”.
6.4.9.3.15
With
The with flag allows a psect to be placed in the same page with another psect. For 
example the flag with=text will specify that this psect should be placed in the same 
page as the text psect.
The term withtotal refers to the sum of the size of each psect that is placed “with” other 
psects.