Цитата(antoxa1 @ Nov 24 2006, 14:54)

Кто нибудь сталкивался со следующей проблемой: компилирую проект, прошиваю контроллер(ATMega8515L), если компиляция происходит без оптимизации- все работает нормально, если выставляю высокий уровень оптимизации, программа работает неверно. В отладчике AVRStudio вроде все работает.
Подробности: проявляется это на функции, которая при одиночном вызове или при нескольких вызовах подряд (но не в цикле) отрабатывает нормально. При вписывании этой функции в тело цикла while , do while, начинаются чудеса, причем только на железе!!!!
если включена опция "Allow IAR extensions" то рекомендуется выключить "Type-based alias analysis"
это из даташита на компилятор:
Type-based alias analysis is performed at optimization level High. For ISO/ANSI
standard-conforming C or C++ application code, this optimization can reduce code size
and execution time. However, non-standard-conforming C or C++ code might result in
the compiler producing code that leads to unexpected behavior. Therefore, it is possible
to turn this optimization off.