6.34.10 Атрибуты переменных MSP430
uppereither-
Эти атрибуты такие же, как атрибуты функций MSP430 с тем же именем (см. Атрибуты функций MSP430).
lower-
Этот параметр ведет себя практически так же, как атрибут функций MSP430 с тем же именем (см. Атрибуты функций MSP430), но обладает некоторыми дополнительными функциями.
Если -mdata-region={
upper,either,none} было передано или атрибутsectionприменён к переменной, компилятор сгенерирует инструкции 430X для обработки. Это связано с тем, что компилятор должен предположить, что переменная может быть размещена в верхней области памяти (выше адреса 0xFFFF). Пометка переменной атрибутомlowerсообщает компилятору, что переменная будет размещена в нижней памяти, поэтому использование инструкций 430 для обработки является безопасным.В случае с атрибутом
sectionбудет использовано заданное имя секции, и префикс.lowerдобавляться не будет.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-12.2.0/gcc/MSP430-Variable-Attributes.html