6.34.10 MSP430 Variable Attributes
Any data with the
noinitattribute 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.
Any variable with the
persistentattribute 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.
These attributes are the same as the MSP430 function attributes of the same name (see MSP430 Function Attributes).
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.
upper,either,none} has been passed, or the
sectionattribute 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
lowerattribute 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
sectionattribute, the section name given will be used, and the
.lowerprefix will not be added.