From: SourceForge.net <no...@so...> - 2010-01-13 01:03:54
|
Bugs item #2264356, was opened at 2008-11-11 13:03 Message generated for change (Settings changed) made by arcanum You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=520074&aid=2264356&group_id=68108 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: GCC Group: None >Status: Closed >Resolution: Wont Fix Priority: 5 Private: No Submitted By: SprinterSB (sprintersb) Assigned to: Nobody/Anonymous (nobody) Summary: avr-gcc accesses EECR with wrong instruction Initial Comment: For several µC of AVR family, the is a known and well described silicon bug: Reading EEPROM by using ST or STS to set EERE bit triggers unexpected interrupt request. Reading EEPROM by using the ST or STS command to set the EERE bit in the EECR register triggers an unexpected EEPROM interrupt request. Problem Fix / Workaround Always use OUT or SBI to set EERE in EECR. ---------------------------------------------------------------------- Comment By: Eric Weddington (arcanum) Date: 2010-01-12 17:39 Message: This needs to be reported to the GCC project at: http://gcc.gnu.org/bugzilla/ This is not a WinAVR bug. The WinAVR User Manual states that any potential bugs in the GCC compiler must be reported to the GCC project and not here. Closed as "Won't Fix." ---------------------------------------------------------------------- Comment By: SprinterSB (sprintersb) Date: 2008-12-01 16:27 Message: Added preprocessed C source runtime error would occur for ATmega64 with -O1 File Added: eetest.i ---------------------------------------------------------------------- Comment By: SprinterSB (sprintersb) Date: 2008-11-11 13:10 Message: Sorry, I just intended to upload the C-source, bit this sent the report... However, avr-gcc generates the forbidden instruction. Using the command line avr-gcc -S eetest.c -mmcu=atmega64 -O1 -fverbose-asm produced the output eetest.s which contains the ST/LD to access bit 0 of address 60, i.e. EERE in EECR. For details see for example datasheet of AVR ATmega64 summary, chapter Errata http://atmel.com/dyn/resources/prod_documents/2490S.pdf Regards, Georg-Johann File Added: eetest.s ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=520074&aid=2264356&group_id=68108 |