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

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

Re: [avr-gcc-list] Why are we using EICALL and EIJMP for AVR256?


From: Sean D'Epagnier
Subject: Re: [avr-gcc-list] Why are we using EICALL and EIJMP for AVR256?
Date: Mon, 14 Dec 2009 23:39:17 -0800

On 12/14/09, Andrew Hutchinson <address@hidden> wrote:
> The patterns for AVR mega 256 use EICALL an EIJMP
>
> Both require EIND to be set to provide upper address bits
>
> However, we are using linker trampolines for both, so in either case the
> 16 bit jump or call is to the trampolines.
>
> Are not the trampolines always located in first 128Kbytes? Thus we
> should be using ICALL and IJMP and not needing to set use EIND at all.
>
> What have I miss-understood?
>

Hi,

Yes this confused me a lot too, but the reason is because the
trampoline is not in the first 128kbytes for a bootloader, so if the
compiler uses eijmp and eicall, then it is possible to do indirect
calls there too, but it still works fine in normal code.

Sean

>
> Andy
>
>
>
> _______________________________________________
> AVR-GCC-list mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/avr-gcc-list
>




reply via email to

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