ivp (16.06.2004 15:41, просмотров: 1186)
Вопрос по прерываниям для ARM в среде IAR У меня не получается получить в результате компиляции в адресе 0х18
(IRQ) перехода на программу обработки прерывания. В этой области памяти у меня Flash.
При объявлении программы обработчика делаю следующее:
----------------------------------
#pragma vector=0x18
__irq __arm void Handler(void);
И сама функция:
----------------------------------
__irq __arm void Handler(void)
{
rINTPEND&=0xffffffef;
rT0CON|=0x40;
if(t++==4) t=0;
}
--------------------------------------
Линкер не выдает ни ошибок ни вниманий
однако в адресе 0х18 ничего нет
В документации на компилер есть описанная процедура
INSTALLING INTERRUPT FUNCTIONS которая действительно размещает
в 0х18 команду перехода на программу обработчика прерываний.
Т.к. у меня в этом месте Flash я что должен организовывать
запись во Flash? Сделать так конечно можно, да уж больно криво это выглядит. Мне кажется что я чего то неправильно делаю.
Использую я ARM7TDMI от Samsung.