6.31.6 Атрибуты функций Blackfin
Эти атрибуты функций поддерживаются бэкэндом Blackfin:
exception_handler-
Используйте этот атрибут для функций Blackfin, чтобы указать, что заданная функция является обработчиком исключений. Компилятор генерирует последовательности входа и выхода для функции, подходящие для использования в обработчике исключений, когда этот атрибут присутствует.
interrupt_handler-
Используйте этот атрибут, чтобы указать, что указанная функция является обработчиком прерываний. Компилятор генерирует последовательности входа и выхода для функции, подходящие для использования в обработчике прерываний, когда этот атрибут присутствует.
kspisusp-
При совместном использовании с
interrupt_handler,exception_handlerилиnmi_handler, код генерируется для загрузки указателя стека из регистра USP в преамбуле функции. l1_text-
Этот атрибут указывает, что функция должна быть размещена в L1 SRAM для инструкций. Функция помещается в специальную секцию под названием
.l1.text. С помощью -mfdpic, вызовы функций с такой функцией в качестве вызываемого объекта или вызывающей функции используют встроенный PLT. l2-
Этот атрибут указывает, что функция должна быть размещена в L2 SRAM. Функция помещается в специальную секцию под названием
.l2.text. С помощью -mfdpic, вызывающие функции используют встроенный PLT. longcallshortcall-
Атрибут
longcallуказывает, что функция может находиться далеко от места вызова и потребовать другой (более дорогой) последовательности вызова. Атрибутshortcallуказывает, что функция всегда достаточно близка для использования более короткой последовательности вызова. Эти атрибуты переопределяют переключатель -mlongcall. nesting-
Используйте этот атрибут вместе с
interrupt_handler,exception_handlerилиnmi_handler, чтобы указать, что код входа в функцию должен включать возможность вложенных прерываний или исключений. nmi_handler-
Используйте этот атрибут для функций Blackfin, чтобы указать, что заданная функция является обработчиком NMI. Компилятор генерирует последовательности входа и выхода для функции, подходящие для использования в обработчике NMI, когда этот атрибут присутствует.
saveall-
Используйте этот атрибут, чтобы указать, что все регистры, кроме указателя стека, должны сохраняться в преамбуле независимо от того, используются они или нет.
Далее: Атрибуты функций CR16, Предыдущее: Атрибуты функций AVR, Вверх: Атрибуты функций [Оглавление][Индекс]
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-7.5.0/gcc/Blackfin-Function-Attributes.html