IAR C for AVR problem
Where did you define interrupt ISR routines ?
- assembler or
- c soruce
if it is in c sourcefile - compiler settings are needed to be investigated .
if it is assembler file - i will need your assembler source where isr vector table is resided .
The reason for error is that :
Compiler found "RJMP tmr0srv" which is palced at odd address in flash memory . AVR FLASH is btye addresable memory but instructions occupy even number of bytes . "RJMP tmr0srv" is most probably
jump to interrupt service routine , but placed to odd
FLASH memory location . Did you place something like "DB 1" into interrupt vector table ? if so , plase note that one single "RJMP xxx" occupies 4 bytes in flash , so placeholder for one unused vector entry should look like DB 4.