Is anyone successfully using WinAvr and Xmega (and fp/printf) in a
significant project?  I already corrected the vararg problem and have my
project running, but there is a rare stack corruption problem with the xmega
that I don't see on the mega series (mega128 and mega1280).   Interrupts and
i/o change protection are the big differences between the two series so that
seems like a possible source of errors.

 

I have five serial sources and a 1khz system timer and a multitasking kernel
that relies on nesting interrupts (run to completion model) and a GUI.  So
it is pretty busy and, as I said, works sweet on the  m128.  The problem is
subtle.  There is no evidence of stack overrun.  Just one task eventually
ends up somewhere it shouldn't be and dies.  Evidence pointing to it being
my problem is that it is always the same task and indirectly the same
routine because if I cut the routine out, the problem either disappears or
becomes so rare I never wait long enough.  The routine is a character glyph
bitblit.  The evidence that it isn't my code is that I have two other
bitblit routines (windows bmp, and a specialized fill routine) that have the
same code in their core (about a dozen lines) and they don't fail.  Failure
occurs in minutes to hours after starting a test screen.  

 

Anyway, I am running out of ideas and starting to consider moving to the
mega1280.  I don't want a big discussion, but would be interested in knowing
if others have success, or have seen problems.  That will help me decide if
I am going to pursue this more (i.e. my code issues, or possible compiler
issues) or drop it (chip issues).

 

 

TIA

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

Reply via email to