6.34.10 MSP430 Variable Attributes

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.

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/MSP430-Variable-Attributes.html