Next: Nvidia PTX Variable Attributes, Previous: Microsoft Windows Variable Attributes, Up: Variable Attributes [Contents][Index]
noinit
Any data with the noinit
attribute will not be initialised by
the C runtime startup code, or the program loader. Not initialising
data in this way can reduce program startup times.
persistent
Any variable with the persistent
attribute will not be
initialised by the C runtime startup code. Instead its value will be
set once, when the application is loaded, and then never initialised
again, even if the processor is reset or the program restarts.
Persistent data is intended to be placed into FLASH RAM, where its
value will be retained across resets. The linker script being used to
create the application should ensure that persistent data is correctly
placed.
upper
either
These attributes are the same as the MSP430 function attributes of the same name (see MSP430 Function Attributes).
lower
This option behaves mostly the same as the MSP430 function attribute of the same name (see MSP430 Function Attributes), but it has some additional functionality.
If -mdata-region={upper,either,none
} has been passed, or
the section
attribute is applied to a variable, the compiler will
generate 430X instructions to handle it. This is because the compiler has
to assume that the variable could get placed in the upper memory region
(above address 0xFFFF). Marking the variable with the lower
attribute
informs the compiler that the variable will be placed in lower memory so it
is safe to use 430 instructions to handle it.
In the case of the section
attribute, the section name given
will be used, and the .lower
prefix will not be added.
Next: Nvidia PTX Variable Attributes, Previous: Microsoft Windows Variable Attributes, Up: Variable Attributes [Contents][Index]