Spec-Zone.ru › GCC 4

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
Предполагать, что ICPLBs включены во время выполнения. Это влияет на некоторые обходные решения проблем. Для целей Linux по умолчанию предполагается, что ICPLBs включены; для автономных приложений значение по умолчанию выключено.

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-4.9.4/gcc/Blackfin-Options.html

Spec-Zone.ru

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