On 12/14/09, Andrew Hutchinson <andrewhutchin...@cox.net> 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 > AVR-GCC-list@nongnu.org > http://lists.nongnu.org/mailman/listinfo/avr-gcc-list > _______________________________________________ AVR-GCC-list mailing list AVR-GCC-list@nongnu.org http://lists.nongnu.org/mailman/listinfo/avr-gcc-list