3.18.7 Параметры Blackfin
-mcpu=cpu[-sirevision]-
Указывает имя целевого процессора Blackfin. В настоящее время, cpu может быть одним из следующих: ‘bf512’, ‘bf514’, ‘bf516’, ‘bf518’, ‘bf522’, ‘bf523’, ‘bf524’, ‘bf525’, ‘bf526’, ‘bf527’, ‘bf531’, ‘bf532’, ‘bf533’, ‘bf534’, ‘bf536’, ‘bf537’, ‘bf538’, ‘bf539’, ‘bf542’, ‘bf544’, ‘bf547’, ‘bf548’, ‘bf549’, ‘bf542m’, ‘bf544m’, ‘bf547m’, ‘bf548m’, ‘bf549m’, ‘bf561’, ‘bf592’.
Необязательный параметр sirevision указывает версию кремниевой микросхемы целевого процессора Blackfin. Включаются все имеющиеся обходные пути для целевой версии кремния. Если sirevision равно ‘none’, никакие обходные пути не включаются. Если sirevision равно ‘any’, все обходные пути для целевого процессора включаются. Макрос
__SILICON_REVISION__определен как две шестнадцатеричные цифры, представляющие основные и второстепенные номера в версии кремниевой микросхемы. Если sirevision равно ‘none’, то__SILICON_REVISION__не определён. Если sirevision равно ‘any’, то__SILICON_REVISION__определён как0xffff. Если этот необязательный параметр sirevision не используется, GCC предполагает последнюю известную версию кремниевой микросхемы целевого процессора Blackfin.GCC определяет препроцессорный макрос для указанного cpu. Для инструментальной цепочки ‘bfin-elf’ этот параметр вызывает подключение BSP аппаратного обеспечения, предоставляемого libgloss, если не указан -msim.
Без этого параметра по умолчанию используется процессор ‘bf532’.
Обратите внимание, что поддержка ‘bf561’ неполная. Для ‘bf561’ определен только препроцессорный макрос.
-msim-
Указывает, что программа будет выполняться в симуляторе. Это вызывает подключение BSP симулятора, предоставляемого libgloss. Этот параметр имеет эффект только для инструментальной цепочки ‘bfin-elf’. Некоторые другие параметры, такие как -mid-shared-library и -mfdpic, подразумевают -msim.
-momit-leaf-frame-pointer-
Не сохранять указатель стека в регистре для функций-листьев. Это позволяет избежать инструкций сохранения, настройки и восстановления указателей стека и освобождает дополнительный регистр в функциях-листьях.
-mspecld-anomaly-
При включении компилятор гарантирует, что сгенерированный код не содержит условных загрузок после инструкций перехода. Если используется этот параметр,
__WORKAROUND_SPECULATIVE_LOADSопределён. -mno-specld-anomaly-
Не генерировать дополнительный код для предотвращения условных загрузок.
-mcsync-anomaly-
При включении компилятор гарантирует, что сгенерированный код не содержит инструкций CSYNC или SSYNC слишком рано после условных переходов. Если используется этот параметр,
__WORKAROUND_SPECULATIVE_SYNCSопределён. -mno-csync-anomaly-
Не генерировать дополнительный код для предотвращения инструкций CSYNC или SSYNC слишком рано после условного перехода.
-mlow64k-
При включении компилятор может использовать информацию о том, что вся программа помещается в низких 64 Кб памяти.
-mno-low64k-
Предполагается, что программа имеет произвольную размер. Это значение по умолчанию.
-mstack-check-l1-
Выполнить проверку стека, используя информацию, помещённую в кэш L1 отладчика ядром uClinux.
-mid-shared-library-mno-id-shared-library-mleaf-id-shared-library-mno-leaf-id-shared-library-mshared-library-id=n-msep-data-
Генерировать код, позволяющий разместить сегмент данных в другой области памяти, отличной от сегмента кода. Это позволяет выполнять код на месте в среде без управления виртуальной памятью путём исключения перемещений по сегменту кода.
-mno-sep-data-
Генерировать код, предполагающий, что сегмент данных следует за сегментом кода. Это значение по умолчанию.
-mlong-calls-mno-long-calls-
Указывает компилятору выполнять вызовы функций, загружая сначала адрес функции в регистр, а затем выполняя вызов подпрограммы на этом регистре. Этот переключатель нужен, если целевая функция лежит вне 24-битного адресного диапазона для вызова подпрограммы, основанного на смещении.
Эта функция по умолчанию отключена. Указание -mno-long-calls восстанавливает поведение по умолчанию. Обратите внимание, что эти переключатели не влияют на то, как компилятор генерирует код для обработки вызовов функций через указатели функций.
-mfast-fp-
Подключить библиотеку быстрых операций с плавающей точкой. Эта библиотека ослабляет некоторые правила стандарта IEEE для операций с плавающей точкой, проверяя входные данные на наличие нечисловых значений (NAN), в интересах производительности.
-minline-plt-
Включить инлайнирование записей PLT в вызовах функций для функций, которые не связаны локально. Не имеет эффекта без -mfdpic.
-mmulticore-
Сборка автономного приложения для многоядерных процессоров Blackfin. Этот параметр вызывает использование соответствующих стартовых файлов и линковки скриптов для многоядерности, и определяет макрос
__BFIN_MULTICORE. Может использоваться только с -mcpu=bf561[-sirevision].Этот параметр может использоваться с -mcorea или -mcoreb, которые выбирают модель программирования "одно приложение на ядро". Без -mcorea или -mcoreb используется модель программирования "одно приложение/два ядра". В этой модели главная функция ядра B должна быть названа как
coreb_main.Если этот параметр не используется, используется модель программирования для одноядерного приложения.
-mcorea-
Сборка автономного приложения для ядра A процессора BF561 при использовании модели программирования "одно приложение на ядро". Используются соответствующие стартовые файлы и скрипты линковки для поддержки ядра A, и определен макрос
__BFIN_COREA. Этот параметр может использоваться только совместно с -mmulticore. -mcoreb-
Сборка автономного приложения для ядра B процессора BF561 при использовании модели программирования "одно приложение на ядро". Используются соответствующие стартовые файлы и скрипты линковки для поддержки ядра B, и определен макрос
__BFIN_COREB. При использовании этого параметра,coreb_mainдолжен использоваться вместоmain. Этот параметр может использоваться только совместно с -mmulticore. -msdram-
Сборка автономного приложения для SDRAM. Используются соответствующие стартовые файлы и скрипты линковки для размещения приложения в SDRAM, и определен макрос
__BFIN_SDRAM. Загрузчик должен инициализировать SDRAM перед загрузкой приложения. -micplb-
Предполагается, что ICPLB включены во время выполнения. Это влияет на определенные обходные пути для аномалий. Для целевых сред Linux по умолчанию предполагается включение ICPLB; для автономных приложений по умолчанию – выключено.
Далее: Параметры C6X, Предыдущий: Параметры AVR, Вверх: Параметры подмодели [Содержание][Индекс]
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-9.5.0/gcc/Blackfin-Options.html