Цитата(Aprox @ May 23 2012, 15:30)

Спасибо за ответ. Но ваша ссылка касается обсуждения исключительно в рамках scmRTOS, авторы которой наделали кучу заголовочных файлов с удобными им макросами.
Не думаю что дело в заголовочных файлах scmrtos.
Цитата(Aprox @ May 23 2012, 15:30)

В хелпе IAR v6.0 для ARM и Cortex я не нашел управляющего слова __interrupt. А у директивы pragma не нашел параметра vector. Что я делаю не так?
Да, пример был для IAR ARV. Но вряд ли в IAR ARM нет такой возможности.
Цитата(Aprox @ May 23 2012, 15:30)

Я же работаю в стандарте C++ IAR v6.0 c библиотекой CMSIS специально для STM32. В этой библиотеке уже заготовлены все возмжные для каждого кристалла обработчики прерываний с заданными именами, начально это пустышки. Юзеру остается только наполнить эти пустые ISR своим конкретным кодом и обьявить этот обработчик дружественным в нужных классах. Других путей я не вижу.
Вот что пишут в доке по IAR ARM:
Цитата
C++ AND SPECIAL FUNCTION TYPES
C++ member functions can be declared using special function types, with the restriction
that interrupt member functions must be static. When a non-static member function is
called, it must be applied to an object. When an interrupt occurs and the interrupt
function is called, there is no object available to apply the member function to.
Special function types can be used for static member functions. For example, in the
following example, the function handler is declared as an interrupt function:
class Device
{
static __irq void handler();
};