[an error occurred while processing this directive] [an error occurred while processing this directive]
Всех поздравляю с наступившим 2002 годом! :) В новом году новый вопрос знатокам IAR AVR 2.26N - HELP!!!
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено User77 01 января 2002 г. 06:25

Имеется С-шная прога для AT90S8515 и прерывание от таймера. С-шный обработчик не подходит - до черта много мусора => медленный. Я написал его на ASM и прилинковал его к С-шнику. НО - как я ни стараюсь компилер (или линкер - не знаю кто) ни как не хочет по адресу 8 (я обрабатываю compare match 1 A) прописывать RJMP на мой ASM обработчик! :(. Просто тычет туда NOP, падлюка! :) Может кто-то с подобной ситуацией встречался ? Поделитесь опытом пожалуйста....
Вот что у меня в ASM файле:
MODULE V_FUNC
PUBLIC OnTimer1
RSEG CODE:CODE:NOROOT(1)
OnTimer1:
....
....мой обработчик прерывания
....
RETI

COMMON INTVEC:CODE:ROOT(1)
ORG 8
RJMP OnTimer1

END

вот что в .lst файле получается
.....
24 00000000 PUBLIC OnTimer1
25 00000000 RSEG CODE:CODE:NOROOT(1)
26 00000000 OnTimer1:
....................................... мой обработчик
68 00000052 9518 RETI
69 00000054
70 00000000 COMMON INTVEC:CODE:ROOT(1)
71 00000008 ORG 8
72 00000008 .... RJMP OnTimer1
73 0000000A
74 0000000A
75 0000000A END
................

тобиж - вместо кода для команды RJMP компилер точки какие-то тычет :(.


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

Ответы



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

E-mail: info@telesys.ru