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