Spec-Zone.ru › GCC 15

6.4.1.22 Атрибуты функций NDS32

Бэкенд NDS32 поддерживает следующие атрибуты функций:

exception

Используйте этот атрибут для целевой платформы NDS32, чтобы указать, что заданная функция является обработчиком исключений. Компилятор сгенерирует соответствующие секции для использования в обработчике исключений.

interrupt

Для целевой платформы NDS32 этот атрибут указывает, что заданная функция является обработчиком прерываний. Компилятор генерирует соответствующие секции для использования в обработчике прерываний. Для изменения поведения можно использовать следующие атрибуты:

nested

Эта процедура обработки прерывания может быть прервана.

not_nested

Эта процедура обработки прерывания не может быть прервана.

nested_ready

Эта процедура обработки прерывания может быть прервана после установки PSW.GIE (глобального разрешения прерываний). Это позволяет процедуре обработки прерывания завершить выполнение короткого критического участка кода до разрешения прерываний.

save_all

Перед входом в обработчик прерывания система сохранит все регистры в стеке.

partial_save

Перед входом в обработчик прерывания система сохранит регистры вызывающей функции в стеке.

naked

Этот атрибут позволяет компилятору создать необходимое объявление функции, при этом тело функции может быть написано на ассемблере. Для заданной функции компилятор не будет генерировать последовательности пролога и эпилога. В функциях без пролога и эпилога можно безопасно использовать только базовые инструкции asm (см. Базовый ассемблер — инструкции ассемблера без операндов). Хотя расширенный asm или сочетание базового asm и кода C могут казаться работоспособными, их надежная работа не гарантируется, и они не поддерживаются.

reset

Используйте этот атрибут для целевой платформы NDS32, чтобы указать, что заданная функция является обработчиком сброса. Компилятор сгенерирует соответствующие секции для использования в обработчике сброса. Для дополнительной обработки исключений можно использовать следующие атрибуты:

nmi

Задать пользовательскую функцию для обработки исключения NMI.

warm

Задать пользовательскую функцию для обработки исключения теплого сброса.

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-15.3.0/gcc/NDS32-Function-Attributes.html

Spec-Zone.ru

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