------- Additional Comments From zoltan at bendor dot com dot au 2005-09-27 11:30 ------- Subject: A gcc primitive, under special circumstances, can crash the AVR
Additional comment: The bug can be retired. Atmel confirmed (and the latest AT90CAN128 manual lists it in the errata) that the bug is in a chip issue. The bug is just one manifestation of the chip bug. In general, the AT90CAN128 works erroneously if the stack is located in external SRAM and there is an already pending interrupt when the interrupt gets enabled. The only known workaround is to keep the stack in the internal SRAM. The bug does not affect other chips with avr5 core. Therefore, gcc can be left unchanged as the bug is a chip error that the compiler can not work around. Zoltan -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24027