6.33.17 Атрибуты функций MicroBlaze
Эти атрибуты функций поддерживаются на целевых платформах MicroBlaze:
-
save_volatiles -
Используйте этот атрибут, чтобы указать, что функция является обработчиком прерывания. Все переменные регистры (в дополнение к неизменяемым регистрам) сохраняются в преамбуле функции. Если функция является листом, сохраняются только переменные регистры, используемые функцией. Вместо возврата из прерывания генерируется обычный возврат из функции.
-
break_handler -
Используйте этот атрибут, чтобы указать, что указанная функция является обработчиком прерывания. Компилятор генерирует последовательности входа и выхода из функции, подходящие для использования в обработчике прерывания, когда присутствует этот атрибут. Возврат из
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-13.3.0/gcc/MicroBlaze-Function-Attributes.html