5.1.6.2 Attributes that Modify Section Types [DD]

Depending on the attribute, all or some section types may be modified by it, as below.

Table 5-2. Attributes That Modify Section Types
Attribute* Description Attribute applies to**
address(a) locate at absolute address a auxflash, bss, code, data, eedata, heap, memory, persist, psv, stack
near locate in the first 8K of memory bss, data, persist
xmemory locate in X address space bss, data, heap, persist
ymemory locate in Y address space bss, data, heap, persist
reverse(n) align the ending address +1 auxflash, bss, data, eedata, memory, persist, psv
align(n) align the starting address auxflash, bss, code, data, eedata, heap, memory, persist, psv, stack
noload allocate, do not load auxflash, bss, code, data, eedata, memory, persist, psv
merge(n) mergable elements of size n*** auxflash, code, data, eedata, psv
info do not allocate or load auxflash, bss, code, data
dma locate in DMA space bss, data, persist
boot locate in boot segment bss, code, eedata, psv
secure locate in secure segment bss, code, eedata, psv
eds locate in extended data space bss, data, persist
shared use section outside of application auxflash, bss, code, data, eedata, memory, psv, stack
preserved preserve variables on restart bss, data, memory, persist
update initialize variables on restart bss, data, memory, persist
priority(n) group variable initializations together. auxflash, bss, code, data
page do not cross page boundary auxflash, bss, code, data, persist, psv
* = Not all devices support all attributes.

** = See 5.1.6.1 Attributes that Represent Section Types [DD] for descriptions and device support.

*** = This attribute could be used by a linker to merge identical constants across input files. 
If n=0, the section contains null-terminated strings of variable length.

Attributes that modify section types may be used in combination. For example, xmemory,address(a) is a valid attribute string, but xmemory,address(a),ymemory is not. [DD]

Table 5-3. Combining Attributes that Modify Section Types
Attribute* Attribute can be combined with*
address near, xmemory, ymemory, noload, dma, boot, secure, eds, page
near address, xmemory, ymemory, reverse, align, noload, merge
xmemory address, near, reverse, align, noload, merge, eds, page
ymemory address, near(30,33), reverse, align, noload, merge, eds, page
reverse near, xmemory, ymemory(30/33), noload, merge, dma, boot, secure, eds, page
align near, xmemory, ymemory(30/33), noload, merge, dma, boot, secure, eds, page
noload address, near, xmemory, ymemory, reverse, align, dma, boot, secure, eds, page
merge near, xmemory, ymemory, reverse, align, eds, page
info N/A
dma address, reverse, align, noload, eds, page
boot address, reverse, align, noload, eds, page
secure address, reverse, align, noload, eds, page
eds address, xmemory, ymemory, reverse, align, noload, merge, dma, boot, secure, page
shared address, near, xmemory, ymemory, reverse, align, noload, merge, dma, boot, secure, eds, preserved, update, priority, page
preserved address, near, xmemory, ymemory, reverse, align, noload, merge, dma, eds, shared, priority, page
update address, near, xmemory, ymemory, reverse, align, noload, merge, dma, eds, shared, priority, page
priority(n) address, near, xmemory, ymemory, reverse, align, dma, boot, secure, eds, shared, preserved, update, page
page address, xmemory, ymemory(30, 33), reverse, align, noload, merge, dma, boot, secure, eds
* = Not all devices support all attributes.