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

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

[avr-gcc-list] ATmega2561, eicall and longjmp()


From: Dmitry K.
Subject: [avr-gcc-list] ATmega2561, eicall and longjmp()
Date: Mon, 5 Jun 2006 07:50:25 +1100
User-agent: KMail/1.5

Hi.

Very thanks to Björn Haase (and Marek Michalkiewicz)
about ATmega2561 work!  This is needed now.

After fluent viewing I had a question on necessity of use of
the instruction `eicall/eijmp' in Avr-gcc. In fact all indirect
calls (and jumps) are carried out to the 16-bit address. It is
provided with the usual instruction 'icall/ijmp' which clears
the master byte. On the other hand, register EIND (it is necessary
for 'eicall') is initialized only at start of the program and can
be destroyed by function longjmp().

And second, longjmp() is a standart C function, not AVR-specific.
It destroys EIND register. Is it a user's problem to save/restore
last in interrupts?

Possibly, I am wrong. Now I am not try this patch.
(Avr-gcc is not compiled: bug in configure/Makefile, ObjC is started).

Regards,
Dmitry.





reply via email to

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