avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [avr-gcc-list] Overlong interrupt vector table


From: Richard F
Subject: Re: [avr-gcc-list] Overlong interrupt vector table
Date: Tue, 03 Feb 2009 13:25:56 +0000
User-agent: Thunderbird 2.0.0.19 (Windows/20081209)

Thanks Eric,
I looked into it some more and it's a compiler "jump table" using "ijmp" - it looks like a continuation of the vector table - but it's actually been created out of a switch statement in my scheduler. So doesn't look like any more optimisation to be had there!

Weddington, Eric wrote:
-----Original Message-----
From: address@hidden [mailto:address@hidden
org] On Behalf Of Richard F
Sent: Tuesday, February 03, 2009 5:11 AM
To: address@hidden
Subject: [avr-gcc-list] Overlong interrupt vector table

I'm working on a small application in an ATMEGA48p, and need a few extra bytes of code space.
This may have been answered before, but I can't find a reference...
Does anyone know why there are 40 vectors where Atmel specify 26 -
What are the last 14 items (that look like vectors) used for, and how can I make use of this "wasted space"?
(Is it a general purpose vector table for the largest possible AVR?)
Thx

The vector table code is located in the startup code in avr-libc.

<scheduler+0x26>
36: 73 c2 rjmp .+1254 ; 0x51e <scheduler+0x2a> 38: 76 c2 rjmp .+1260 ; 0x526 <scheduler+0x32> 3a: 7d c2 rjmp .+1274 ; 0x536 <scheduler+0x42> 3c: 7f c2 rjmp .+1278 ; 0x53c <scheduler+0x48> 3e: 83 c2 rjmp .+1286 ; 0x546 <scheduler+0x52> 40: 82 c2 rjmp .+1284 ; 0x546 <scheduler+0x52> 42: 81 c2 rjmp .+1282 ; 0x546 <scheduler+0x52> 44: 80 c2 rjmp .+1280 ; 0x546 <scheduler+0x52> 46: 7f c2 rjmp .+1278 ; 0x546 <scheduler+0x52> 48: 7e c2 rjmp .+1276 ; 0x546 <scheduler+0x52> 4a: 7d c2 rjmp .+1274 ; 0x546 <scheduler+0x52> 4c: 84 c2 rjmp .+1288 ; 0x556 <scheduler+0x62> 4e: 83 c2 rjmp .+1286 ; 0x556 <scheduler+0x62>

I have no idea where you are getting these <scheduler+xxxx> ids from. Perhaps 
you're using an RTOS? But they certainly don't come from the startup code in avr-libc.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]