Spec-Zone.ru › GCC 8

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

Генерировать код, поддерживающий динамические библиотеки через метод идентификации библиотек. Это позволяет выполнять код на месте и использовать динамические библиотеки в среде без управления виртуальной памятью. Этот параметр подразумевает -fPIC. С целевым параметром ‘bfin-elf’ этот параметр подразумевает -msim.

-mno-id-shared-library

Генерировать код, не предполагающий использование динамических библиотек на основе идентификаторов. Это значение по умолчанию.

-mleaf-id-shared-library

Генерировать код, поддерживающий динамические библиотеки через метод идентификации библиотек, но предполагающий, что эта библиотека или исполняемый файл не будут ссылаться ни на какие другие динамические библиотеки на основе идентификаторов. Это позволяет компилятору использовать более быстрый код для переходов и вызовов.

-mno-leaf-id-shared-library

Не предполагать, что компилируемый код не будет ссылаться на динамические библиотеки на основе идентификаторов. Генерируется более медленный код для инструкций перехода и вызова.

-mshared-library-id=n

Указывает идентификационный номер динамической библиотеки на основе идентификаторов, которая компилируется. Указание значения 0 генерирует более компактный код; указание других значений принудительно назначает этот номер текущей библиотеке, но не является более эффективным по памяти или времени, чем пропуск этого параметра.

-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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API