Работа с прерываниями ограничивается этим:
Код
#pragma vector=0x18
__irq __arm void irq_Handler(void)
{
void (*interrupt_function)();
unsigned int vector;
vector = VICVectAddr;
interrupt_function = (void(*)())vector;
(*interrupt_function)();
VICVectAddr = 0;
}
__irq __arm void irq_Handler(void)
{
void (*interrupt_function)();
unsigned int vector;
vector = VICVectAddr;
interrupt_function = (void(*)())vector;
(*interrupt_function)();
VICVectAddr = 0;
}
...и настройкой VIC
Настала необходимость пересесть на LPC1768.
Взглянул на файлы примеров. Там есть некий cstartup.s,
назначение которого, ИМХО,
организовать таблицу векторов прерываний
(т.е. тупо по очереди с 0x0 пишутся константы-адреса функций).
Вопрос: могу ли я отказаться от этого файла
(или вообще я все не так понял и полный нубус)
и использовать #pragma vector для каждого прерывания?
Спасибо.
P.S. да, речь идет про IAR5.40