[an error occurred while processing this directive] [an error occurred while processing this directive]
кто-нибудь создавал проекты выше среднего на CodeVisionAVR? Впечатления ...
(«Телесистемы»: Конференция по продукции «Конференция «Микроконтроллеры и их применение»»)

миниатюрный аудио-видеорекордер mAVR

Отправлено korotkov 26 августа 2002 г. 00:17

Накипело ………….

Два с половиной года писал на IAR 1.40

Появилась задача без применения sprintf для чисел с плавающей точкой (переход на вариант ModBus), и появились веяния в фирме к "дешевым" средствам разработки. Перешел на CodeVisionAVR 1.0.2.1 (следующая версия оптимизирует "лучше" - код меньше, а работаспособность ...). Написал программу. При существенном изменении алгоритма, а не отлаженных подпрограмм (функций), оптимизация творит такие чудеса ... Если бы это был один (три) случай я бы этого письма не писал. Конференцию читаю три года, пишу реже.

А так пошел купил "пива" и пишу это сообщение.

Мучался я на СВЕТЕ с компиляторами, но ... Помоему, на каком-то уровне, этот (CVAVR) компилятор перестает рубить фишку, и начинается псевдооптимизация, приводящая к непредсказуемым результатам.

Функция обработки команды с COM порта обрабатывает одну команду как надо, а вторую … волосы дыбом встают (по листингу и на практике). Команды имеют общюя структуру, выбирабтся через switch первого уровня (два уровня компилятор не поймал). До определенного уровня функция работала…

Уже задолбался играться с volatile, распределением по регистрам, переносом из локальных переменных в глобальные и обратно. Устал!!!

С подачи начальства требуется изменение алгоритма и типов данных :(((

Произвожу изменения, и что я вижу - все с начала. Понял работы сегодня не будет.

Вот думая, правильно-ли я сделал перешев на CVAVR. Простые задачи – чем-нибудь подергать, обмен – все нормально, а как только указатели и повторяющиеся участки кода или длинные функции (switch и множественный выбор слов на 2000) так начинается х;№»ня.

Интересует вопрос: кто-нибудь делал серьезные проекты на CVAVR, порядка 8kСлов или 16кБайт (Atmega161). А то сообщения только на уровне где взять и как установить. А дальше ножками подергали и все L

Сумбурно, но накипело …


Составить ответ ||| Конференция ||| Архив

Ответы



Перейти к списку ответов ||| Конференция ||| Архив ||| Главная страница ||| Содержание

E-mail: info@telesys.ru