[Top][All Lists]

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

Re: [avr-gcc-list] mcall-prologues completely broken for >128k

From: Anatoly Sokolov
Subject: Re: [avr-gcc-list] mcall-prologues completely broken for >128k
Date: Thu, 14 May 2009 02:23:06 +0400

In any case, the rules of EIND usage must be documented.

The avr-gcc/avr-ld internally use the EIND for indirect function call, case
statement optimization (tablejump) and -mcall-prologues optimization. The
EIND always should contain "hh8(pm(start of  .trampolines section))" value,
i.e. 0 when application code is executed or 1 when bootloader code in mega256
devices is executed. Calling the bootloader code from application code and
calling  application from bootloader is PROHIBITED,  allowed only jump from
application code to reset vector of bootloader and  jump from bootloader to
reset vector of application with disabled interrupt.  Changing of the EIND
register in application and bottloader code is forbidden.


reply via email to

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