Spec-Zone.ru › GCC 5

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

Генерировать код, поддерживающий общие библиотеки с помощью метода идентификатора библиотеки. Это позволяет выполнять исполнение на месте и использовать общие библиотеки в среде без управления виртуальной памятью. Этот параметр подразумевает -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 с плавающей запятой для проверки входных данных на наличие нечисловых значений (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

Spec-Zone.ru

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