3.18.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-
Не сохранять указатель на кадр в регистре для функций-листьев. Это исключает инструкции по сохранению, настройке и восстановлению указателей на кадр, освобождая дополнительный регистр в функциях-листьях.
-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 для работы с плавающей точкой для проверки входных данных на наличие чисел Not-a-Number (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-8.5.0/gcc/Blackfin-Options.html