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