Umm, describe "no longer works correctly".  There are two defects that I
know of that can cause problems:
 
1.  If a function is called from an ISR, the ISR will not pre-save all
of the "call-used" registers before calling the function.  This can
cause serious and hard-to-track-down problems.  The only workaround on
this that I know of is to hand-save all call-used registers on entry to
the ISR and restore them before exit.  WinAVR defect 1956569  A patch
has been submitted according to Eric.
 
2.  On 3-byte PC processors (ATmega2560/2561), the EEPROM routines will
not work correctly.  This is because they were rewritten to use function
pointers, and GCC only knows about 2-byte function pointers.  A patched
eeprom.h file has been submitted.  AVR-LibC Bug 22878
 
These are both changes from WinAVR 20071221 that caused my code to fail.
There may be more, but because of problem 1 above, I cannot get my code
to run long enough to find anything else.
 
If you can live with 20071221, I would stick with that.  From your
problem description, I would definitely suspect problem #1 above.

Best regards, 

Stu Bell 
DataPlay (DPHI, Inc.) 

 


________________________________

From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
Bob Paddock
Sent: Monday, May 12, 2008 2:35 PM
To: avr-gcc-list@nongnu.org
Subject: [avr-gcc-list] What has changed between WinAVR 20070525rc2
andWinAVR 20080430?




Can anyone tell me what has changed from:

avr-gcc (GCC) 4.1.2 (WinAVR 20070525rc2)

to?:

avr-gcc (WinAVR 20080430) 4.3.0

I recompiled code for a working product using 4.1.2 with 4.3.0 and it
no longer works correctly.

Fairly complex product so trying to localize the problem would not be
all that much fun, without some insights as to what might be
different.

The unit has a bit mapped display.  With 4.3.0 I have random pixels
that I don't have with 4.1.2, which probably indicates that I have
something marginal in my display driver timing.  When I assert INT0
the unit eventually locks up with 4.3.0, but not with 4.1.2.

All rather vague descriptions, I know...
 
RAM and EEPROM usage remained the same, code size
grew by 516 bytes going from 4.1.2 to 4.3.0.

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

Reply via email to