6.4.1.18 Атрибуты функций MicroBlaze
Для целей MicroBlaze поддерживаются следующие атрибуты функций:
-
save_volatiles -
Используйте этот атрибут, чтобы указать, что функция является обработчиком прерывания. Все изменяемые регистры (в дополнение к сохраняемым регистрам) сохраняются в прологе функции. Если функция является листовой, сохраняются только используемые ею изменяемые регистры. Вместо возврата из прерывания генерируется обычный возврат из функции.
-
break_handler -
Используйте этот атрибут, чтобы указать, что заданная функция является обработчиком break. При наличии этого атрибута компилятор генерирует последовательности входа в функцию и выхода из неё, подходящие для использования в обработчике break. Возврат из
break_handlerвыполняется черезrtbdвместоrtsd.void f () __attribute__ ((break_handler));
-
interrupt_handler fast_interruptЭти атрибуты указывают, что заданная функция является обработчиком прерывания. Используйте атрибут
fast_interruptдля обработчиков, применяемых в режиме прерываний с низкой задержкой, аinterrupt_handler— для прерываний, в которых такие обработчики не используются. В обоих случаях GCC генерирует соответствующий код пролога и возврат из обработчика с помощьюrtidвместоrtsd.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-15.3.0/gcc/MicroBlaze-Function-Attributes.html