3.17.31 Параметры MSP430
Эти параметры определены для MSP430:
-masm-hex- Принудительно использовать шестнадцатеричные константы в выходных файлах ассемблера. Обычно такие константы представляют собой знакомые десятичные числа, но этот параметр доступен для целей тестирования и/или эстетики.
-mmcu=- Выбор целевого микроконтроллера. Используется для создания символа препроцессора C на основе имени микроконтроллера, преобразованного в верхний регистр и снабженного префиксом и постфиксом
__. В свою очередь, это будет использовано файлом заголовковmsp430.hдля выбора дополнительного файла заголовков, специфичного для микроконтроллера.Параметр также устанавливает используемую ISA. Если имя микроконтроллера известно как поддерживающий только ISA 430, то она выбирается, в противном случае выбирается ISA 430X. Также может использоваться общее имя микроконтроллера
msp430, чтобы выбрать ISA 430. Аналогично, общее имя микроконтроллераmsp430xвыберет ISA 430X.Кроме того, будет добавлен скрипт линкера, специфичный для микроконтроллера, в командную строку линкера. Имя скрипта — это имя микроконтроллера с добавленным
.ld. Таким образом, указание-mmcu=xxxв командной строке gcc определит символ препроцессора C__XXX__и заставит линкер искать скрипт под названиемxxx.ld.Этот параметр также передается ассемблеру.
-mcpu=- Указывает используемую ISA. Допустимые значения —
msp430,msp430xиmsp430xv2. Этот параметр устарел. Следует использовать параметр-mmcu=для выбора ISA. -msim- Ссылка на библиотеки времени выполнения симулятора и скрипт линкера. Переопределяет любые скрипты, которые были бы выбраны параметром
-mmcu=. -mlarge- Использовать адресацию с большим моделью (указатели 20 бит,
size_t32 бит). -msmall- Использовать адресацию с малой моделью (указатели 16 бит,
size_t16 бит). -mrelax- Этот параметр передаётся ассемблеру и линковщику и позволяет линковщику выполнять определённые оптимизации, которые невозможно сделать до окончательной линковки.
mhwmult=- Описывает тип аппаратной умножения, поддерживаемый целевым устройством. Допустимые значения:
none(отсутствует аппаратная умножение),16bit(оригинальная умножение только на 16 бит, поддерживаемая ранними микроконтроллерами),32bit(умножение 16/32 бит, поддерживаемое более поздними микроконтроллерами) иf5series(умножение 16/32 бит, поддерживаемое микроконтроллерами серии F5). Также может быть задано значениеauto. Это указывает GCC на определение поддержки аппаратной умножения на основе имени микроконтроллера, заданного параметром-mmcu. Если параметр-mmcuне указан, предполагается поддержка аппаратной умножения32bit. Значениеautoявляется значением по умолчанию.Аппаратные умножения обычно выполняются с помощью вызова библиотечной функции. Это экономит место в сгенерированном коде. Однако при компиляции на уровне
-O3и выше, аппаратный умножитель вызывается встроенно. Это приводит к большему, но более быстрому коду.Библиотечные процедуры аппаратного умножения отключают прерывания во время работы и восстанавливают предыдущее состояние прерывания по завершении. Это делает их безопасными для использования как в обработчиках прерываний, так и в обычном коде.
-minrt- Включить использование минимальной среды выполнения — без статических инициализаторов или конструкторов. Предназначено для устройств с ограниченным объёмом памяти. Компилятор включит специальные символы в некоторых объектах, которые сообщают линковщику и среде выполнения, какие фрагменты кода необходимы.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-4.9.4/gcc/MSP430-Options.html