Вопрос по прерываниям ARM (7TDMI) в среде IAR
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено ivp 16 июня 2004 г. 16:25

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


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

Ответы



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

E-mail: info@telesys.ru