3.19.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 для плавающей точки, касающиеся проверки входных данных на 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-12.2.0/gcc/Blackfin-Options.html