Профессионально пишу уже 2 года на ASMе и Cшке(AVR GCC) для AVRок. На GCC есть одна вещь которая бесит порой. Оптимизатор. Работаю на уровне Os(высший, by size). Оптимизирует нехреново. В железе работает, в отладчике на уровне переменных практически не протрассируеш. Только в дизасм смотри. Так вот этот GCC иногда считает многие участки кода не нужными.
Допустим запускаю ацп конверсию с прерыванием, в прерывании ставлю какой то флаг, и по флагу этому в цикле, я должен что то сделать. Ну да ладно подробности. Факт в том что компилятор теряет логические связи, считает участок кода не нужным. Выбрасывает его, ставит бесконечный цикл. Бороться с ним конечно всячески можно(извращениями).
Вот хотел спросить, как по части непрокомпилов(непонимании компилятора) IAR ? При максимальном уровне оптимизации. Ну и скажите свои за и против IAR. Просто думаю, стоит его осваивать взамен AVR GCC иль нет.
To Moderators, если в не тот раздел попал, просьба сильно не пинать.
|