Re: Internal handling of interrupt vectors and jump table

"Klaus Rudolph" <[email protected]>
Newsgroups gmane.comp.hardware.avr.gcc
Message-ID <trinity-28f5ebec-458a-467f-995b-f2a9ece3da57-1439363784731@3capp-gmx-bs17>
Hi Georg,

thanks for your info!

> > Disassembly of section .text:
> > 00000000 <__vector_7>:
> 
> The .vectors section is implemented in AVR-LibC's gcrt1.S.
> ISR and similar macros are provided by interrupt.h.

Yes, I found the tricky part of the job.

.macro  vector name
.if (. - __vectors < _VECTORS_SIZE)
.weak   \name
.set    \name, __bad_interrupt
XJMP    \name   
.endif  
.endm   
 
.section .vectors,"ax",@progbits
.global __vectors
.func   __vectors
__vectors:
XJMP    __init
vector  __vector_1
vector  __vector_2

The resolution and assignment is only done by the name of the function. Quite simple after finding the stuff :-)

Thanks!
Klaus
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.