Может, поможет глава из доки на scmRTOS
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Алексей Мусин 09 февраля 2004 г. 12:30
В ответ на: Добрый день господа! Не подскажите есть ли в гнутом Си(+) отправлено des00 09 февраля 2004 г. 10:49

6.3.3.2 AVR-GCC
Данный компилятор предоставляет средства для организа-
ции обработчиков прерываний в соответствии с требованиями
вытесняющего механизма планирования процессов. Для этого
функция-обработчик прерывания должна быть объявлена как:
extern "C" __attribute__ ((signal)) __attribute__ ((naked))
Как видно, обработчик прерывания должен иметь С-
связывание (C-linkage). Откуда берется такое требование, не по-
нятно, но приходится его выполнять.
__attribute__ ((signal)) побуждает компилятор
организовать вектор прерывания (аналогично ИАРовскому
__interrupt), а __attribute__ ((naked)) (аналогично ИАРов-
скому __task) подавляет прологи/эпилоги, что совершенно необ-
ходимо для устранения генерации компилятором кода сохране-
ния/восстановления регистров.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru