3.17.6 Параметры 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-
Не сохранять указатель на кадр в регистре для функций без вложенности. Это избегает инструкций сохранения, настройки и восстановления указателей на кадр и освобождает дополнительный регистр в функциях без вложенности. Параметр -fomit-frame-pointer удаляет указатель на кадр для всех функций, что может затруднить отладку.
-mspecld-anomaly-
При включении компилятор гарантирует, что сгенерированный код не содержит упреждающих загрузок после команд перехода. Если этот параметр используется, макрос
__WORKAROUND_SPECULATIVE_LOADSопределён. -mno-specld-anomaly-
Не генерировать дополнительный код для предотвращения упреждающих загрузок.
-mcsync-anomaly-
При включении компилятор гарантирует, что сгенерированный код не содержит инструкций CSYNC или SSYNC слишком рано после условных переходов. Если этот параметр используется, макрос
__WORKAROUND_SPECULATIVE_SYNCSопределён. -mno-csync-anomaly-
Не генерировать дополнительный код для предотвращения инструкций CSYNC или SSYNC, которые возникают слишком рано после условного перехода.
-mlow-64k-
При включении компилятор может использовать знание о том, что вся программа помещается в нижние 64 Кб памяти.
-mno-low-64k-
Предполагается, что программа имеет произвольный размер. Это значение по умолчанию.
-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-5.5.0/gcc/Blackfin-Options.html