Я тут спрашивал про CV AVR, никто точного решения не дал, но я его нашел. Может кому пригодится http://www.caxapa.ru/mcu/wwwboard.html?id=16441
1: Как разместить некую асмовую функцию по определенному адресу в памяти кода? А вот как:
1: Как разместить некую асмовую функцию по определенному адресу в памяти кода? А вот как:
#asm .CSEG Magic: ;****Store current address location .org необходимый адрес MyFunc: ROR R16 RET .org Magic ;****Restore address location #endasm2: Как в таблицу векторов прерываний занести RJMP на мой асмовый обработчик (который вообще зашивается отдельно и известен только его адрес) Вот так (при этом за счет #pragma_asmfunction для обработчика не будет сгенерировано ни одной команды кроме RJMP в таблице векторов):
#asm("Magic2:") #pragma asm_function+ #asm(" .ORG необходимый адрес") interrupt [TIM1_OVF] void TIMER1_OVF(void) { } #asm(" .ORG Magic2") #pragma asm_function-
-
- шаманство да и только - µ(15.11.2004 08:07)